Утилита создания реестров, создание детали с файлами

При выборе дефолтного пункта детализации в утилите создания реестров: Файлы, создает новую вкладку, добавляет нужный шаблон окна и на этом работа заканчивается. Не создает перекрестную таблицу "Файл-Новый реестр", всю сопутствующую обвязку sq_, ds_, не пытается прописать автобидинг вкладки Файлы и выбранной записи реестра. Доделывать руками или не работает корректно?

Нравится

11 комментариев

День добрый Михаил!!!

уточните пожалуйста вопрос по Созданию новых реестров и Деталей вы Адресовываете для какой Платформы для Terrasoft 3.X или BPMOnline 7.X? Если для Террасофт 3.Х, пожалуйста уточните о какой обработки (скрипте) идет речь? Спасибо!!!

Террасофт 3.Х. По мимо не создавшихся tbl_, sq_ и ds_ сервисов предполагаю, что должно дописываться обработчик закладки детали код аналогичный этому:

	if (pcDetails.ActivePage.Name == pgFilesDetail.Name) {
		RefreshFilesDetail(BaseWorkspace, wndFilesDetail, 'AccountID',
			'tbl_FileInAccount', 'iq_FileInAccount', "контрагента");
	}

Теперь все понятно Михаил. Что могу сказать я как Программист никогда не пользовался и не пользуюсь данной обработкой, знаю что цель этой обработки облегчить труд начинающий программистов и продвинутых пользователей. Говорить 100 процентов, что скрипт полностью рабочий я не могу, так как не разу им не пользовался и не тестировал.

если у вас трудности при создание разделов или деталей, так скажите в чем я вам помогу.

Михаил, редактор разделов разрабатывался для старых версий. Сейчас судя по обратной связи, оказалось, что функционал не особо востребован, поэтому не актуализировался довольно давно.
По факту, мастер для редактирования деталей сейчас не подходит и чтобы привести в рабочий вид деталь Файлы придется создать таблицу развязки и дописать фильтрацию.

Максим за все то время, что программирую в террасофте я никогда и не пользовался данным мастером создания. знаю и знал, что он есть. Пару раз на вебинарах видел, что показывали как с помощью данного мастера можно с легкостью создать раздел. Для меня если честно это было дико. Так как для меня даже приятнее было всегда с нуля создать раздел, детали, группы, фильтрацию и так далее. И уже точно знать, что все будет работать так как я хочу, что в разделе или детали ничего лишнего нет. поэтому и спрашивал у Михаила чем ему помочь при создание раздела или детали.

Максим, неправильно, что разработчики заливают в релиз сырую реализацию, которая почти не тестировалась (3 ошибки сразу как попробовал). После отсутствия обратной связи, не убирают ее или хотя бы не делают заглушки с предупреждениями. Поддержка ни как не реагирует, что мастером пошли пользоваться и не отговаривают или это знают единицы?
P. S. Повеселила кнопка "Пыщь", в другой утилите, ей не стал пользоваться. -)

Михаил, да придётся вдумчиво кликать мышкой и создавать цепочки сервисов самостоятельно, хотя нынешние продукты CRM как раз стараются освободить от этой деятельности. Спасибо за предложенное помощь.

Михаил, вопрос: утащил себе шаблон wnd_FilesDetail и RefreshFilesDetail не работает. Методом дебага понял, что как минимум нужно инициализировать шаблон так:

wnd_FilesDetail.Window.Attributes('TableUSI')='tbl_FileInLRequirement';
wnd_FilesDetail.Window.Attributes('InsertLinkUSI')='iq_FileInLRequirement';
wnd_FilesDetail.Window.Attributes('ParentItemID')=ID;
wnd_FilesDetail.Window.Attributes('ParentItemFieldName')='LRequirementID';
var GridWindowFilesDetail = wnd_FilesDetail.Window; 
GridWindowFilesDetail.Prepare();

Окошко открывается и ничего не отображает перед добавлением файла, сохраняет нормально и даже делает отметку в перекрестной таблице tbl_FileInLRequirement. Единственно чего не хватает, что бы работало отображение. Не знаю куда фильтр применить в духе:

ApplyDatasetFilter(GridWindowFilesDetail.ComponentsByName('dlData').Dataset, 'LRequirementID', ID, true);

То что в 'dlData' DataSet= ds_Files и никаких 'LRequirementID' нету уже увидел. dlLink после Prepare();
пустой. Куда передавать ID не понятно.

"Борисов Михаил Евгеньевич" написал:

Максим, неправильно, что разработчики заливают в релиз сырую реализацию, которая почти не тестировалась (3 ошибки сразу как попробовал). После отсутствия обратной связи, не убирают ее или хотя бы не делают заглушки с предупреждениями.


Михаил, замечание вполне резонное. Мы направим запрос в департамент разработки с просьбой отключить функционал или добавить какой-нибудь дисклеймер.

Ответ на последний вопрос, не забыть проверить открыт ли DataSet.
Не понятно почему шаблон этого не делает, если Prepare() без всех атрибутов все равно не работает. Конечный вариант:

wnd_FilesDetail.Window.Attributes('TableUSI')='tbl_FileInLRequirement';
wnd_FilesDetail.Window.Attributes('InsertLinkUSI')='iq_FileInLRequirement';
wnd_FilesDetail.Window.Attributes('ParentItemID')=ID;
wnd_FilesDetail.Window.Attributes('ParentItemFieldName')='LRequirementID';
var GridWindowFilesDetail = wnd_FilesDetail.Window; 
GridWindowFilesDetail.Prepare();
GridWindowFilesDetail.ComponentsByName('dlData').Dataset.Open();

Почти все хорошо, но:


При DoNotSendNotify=null проходит в условие, подозрительно. Ошибка неинформативна, после нее все отрабатывает штатно. В Result true возвращается. Можно ли дописать

if (!DoNotSendNotify && DoNotSendNotify!=null)

так?

При инверсии null в JS возвращаемым значением является true, так что так и должно быть. То есть без четкого указания о неотправке при вызове функции будет соблюдаться условие.

Я пользовалась этой обработкой для версии 3.3.2 и в 3.3.1, нормально все создавалось.
Поэтому я бы не стала говорить, что обработка не работает.

Показать все комментарии