Показать сообщение отдельно
Старый 08.04.2011, 10:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
axforum blogs: Вспомогательный документооборот. Поле "Код конфигурации вспомогательного бизнес-правила" lookup ни чего не показывает.
Источник: 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.
При добавлении в список шаблоны документооборота проходят фильтрацию:
  1. Шаблоны документооборота настроены на свои таблицы. Шаблон пройдет фильтрацию, если его таблица был замечена в связи у поля с таблицы LedgerJournalTable. (Проверка через класс SysDictRelation метод loadFieldRelation)
    Проверяются все не системные поля таблицы. В связанной таблице должно быть хотя бы одна запись.
    Список отобранных связанных таблиц содержится в parentTableRelations.
    Не путать с \Data Dictionary\Tables\LedgerJournalTable\Relations
  2. во вспомогательные шаблоны могуть попать все кроме самого себя :) Т.е. Lookup не покажет выборку со связкой на CustPaymentTemplate если мы настраиваем сам CustPaymentTemplate.
  3. Ну и проверка на конфигурационные ключи у шаблонов документооборота.
В итоге отобранные шаблоны идут как фильтр для формы WorkflowConfigurationLookup

В Lookup выдим выборку по таблице WorkflowConfigurationTable с доп. условиями:
  • должны быть активна Конфигурации документооборота
  • Тип конфигурации = Определение (Тип конфигурации определяет, является ли конфигурация определением или она представляет собой конфигурацию обработки (времени выполнения).)


Источник: http://axforum.info/forums/blog.php?b=240
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.