Формулировка проблемы: обращение к специальным справочникам и их элементам производится по идентификатору, из-за чего могут возникать проблемы при импорте конфигурации.
Решение: необходимо доработать методы 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 совпадают в средах
экспорта и импорта, шаблон проекта будет иметь дополнительное
поле из справочника среды импорта с этим кодом.