Источник:
http://axforum.info/forums/blog.php?b=240
==============
На форме
РсП\Настройка\Конфигурация документооборота. Вкладка Разное --> кнопка Изменить
Форма
"Бизнес-правило: Шаблон выплаты клиенту"
Вкладка
Подробности. Добавляем Вспомогательный документооборот. (Идентификатор вспомогательного документооборота)
Выбираем
"Вспомогательный документооборот 1"
Поле
"Код конфигурации вспомогательного бизнес-правила" lookup ни чего не показывает. :eek: Почему? (исследуем)
Выявляем причину:
На форме "Конфигурация документооборота" выбран "Шаблон выплаты клиенту" это есть
\Workflow\Workflow Templates\CustPaymentTemplate
Для него через свойство
Document выбран класс
CustPaymentWFApprDoc наследованный от класса
LedgerJournalWFApprovalDocument
У
LedgerJournalWFApprovalDocument есть метод
getQueryName возвращающий
Query\LedgerJournalWFApprovals.
У Query \LedgerJournalWFApprovals
DataSource = LedgerJournalTable
Lookup вызывается из формы
"Конфигурация документооборота" \Forms\WorkflowConfiguration\Data Sources\WorkflowSubWorkflowTable\Fields\ConfigurationSequenceNumber\Methods\lookup
Вызывается \Classes\WorkflowConfigurationForm\subWorkflowDocumentKey_lookup где видим строку X++:
formRunLookup.setTemplateFilterList(subWorkflowTemplateList);
Переменная
subWorkflowTemplateList содержит названия шаблонов документооборота, которые можно выбирать как вспомогательные.
В методе \Classes\WorkflowConfigurationBase\loadSubWorkflowTemplates
как раз и собирается список
subWorkflowTemplateList.
При добавлении в список шаблоны документооборота проходят фильтрацию:
- Шаблоны документооборота настроены на свои таблицы. Шаблон пройдет фильтрацию, если его таблица был замечена в связи у поля с таблицы LedgerJournalTable. (Проверка через класс SysDictRelation метод loadFieldRelation)
Проверяются все не системные поля таблицы. В связанной таблице должно быть хотя бы одна запись.
Список отобранных связанных таблиц содержится в parentTableRelations.
Не путать с \Data Dictionary\Tables\LedgerJournalTable\Relations
- во вспомогательные шаблоны могуть попать все кроме самого себя :) Т.е. Lookup не покажет выборку со связкой на CustPaymentTemplate если мы настраиваем сам CustPaymentTemplate.
- Ну и проверка на конфигурационные ключи у шаблонов документооборота.
В итоге отобранные шаблоны идут как фильтр для формы
WorkflowConfigurationLookup
В Lookup выдим выборку по таблице
WorkflowConfigurationTable с доп. условиями:
- должны быть активна Конфигурации документооборота
- Тип конфигурации = Определение (Тип конфигурации определяет, является ли конфигурация определением или она представляет собой конфигурацию обработки (времени выполнения).)
Источник:
http://axforum.info/forums/blog.php?b=240