Формулировка проблемы: обращение к специальным справочникам и их элементам производится по идентификатору, из-за чего могут возникать проблемы при импорте конфигурации.
Решение: необходимо доработать методы API, принимающие или возвращающие элементы специальных справочников, таким образом, чтобы обращение к этим элементам производилось по коду.
Задача делится на три части:
В следующие методы API необходимо добавить новый параметр
completionFormCode
- код формы завершения:
rest/api/workflow/work/create
rest/api/workflow/work/save
rest/api/workflow/work/start_route
Параметр не обязателен для заполнения, если указан
completionFormID
. При этом если заполнены
одновременно и completionFormID
, и
completionFormCode
, то приоритет имеет параметр
completionFormCode
.
В следующие методы, возвращающие идентификатор формы завершения,
необходимо добавить новый возвращаемый параметр
completionFormCode
- код формы завершения:
rest/api/registry/route
rest/api/registry/route/start
rest/api/docflow/doc/save_resolution
rest/api/docflow/doc/get_resolution
rest/api/workflow/work/get_actions
rest/api/workflow/get_execution_process
При заполнении справочника
pm_custom_fields
поля dictionary_value_field
и
dictionary_label_field
должны заполняться
ссылкой на используемое поле справочника в формате
<код справочника>.<код колонки>
.
Действия при обновлении системы: во всех
элементах справочника pm_custom_fields
идентификатор колонки справочника, если он указан, должен быть
заменен на ссылку вида
<код справочника>.<код колонки>
.
Если коды записи справочника
work_completion
совпадают в средах экспорта
и импорта, то мероприятию будет присвоена форма завершения
среды импорта с этим кодом.
Если поле type
справочника
calendar_types
совпадает в средах экспорта
и импорта, то импортируемому этапу будет присвоен статус среды
импорта с этим типом.
Если коды записи справочника
pm_custom_fields
совпадают в средах
экспорта и импорта, шаблон проекта будет иметь дополнительное
поле из справочника среды импорта с этим кодом.