Формулировка проблемы: новые варианты использования сопоставлений.
Связанные задачи: 2.47.7231.
Решение: необходимо расширить поведение
сопоставлений (во всех местах, где они реализованы, то есть в
процессе «Копирование в карточку», в реестрах и в «Действиях по
отделу кадров») следующим образом: среди полей, служащих приёмниками
сопоставления, должны быть доступны также идентификаторы компонентов
из динамических таблиц (в формате
dyntable-name.component-name
). Компоненты из
динамических таблиц не должны быть доступны в качестве источников
сопоставления. При выборе таких компонент для них не должен быть
доступен способ сопоставления HTD
.
Сопоставление полей с приёмником — компонентом динамической таблицы должно работать следующим образом:
Для одного блока сопоставлений определяются все строки, приёмники которых содержат указание на компоненты внутри одной динамической таблицы.
В этой динамической таблице добавляется одна строка, значения компонентов которой получаются из значений полей-источников согласно типу сопоставления (EQUAL, PREFIX или POSTFIX).
Описанное повторяется для всех полей приёмников, расположенных в динамических таблицах.
Необходимо запретить возможность указания в одном блоке сопоставлений одного и того же приёмника несколько раз. Это ограничение должно работать следующим образом: если в какой-либо строке блока сопоставления приёмник уже выбран, то для вновь добавляемых строк этот приёмник исключается из списка доступных к выбору полей-приёмников.
Для того, чтобы добавить несколько строк в динамическую таблицу, необходимо использовать несколько блоков сопоставлений. Порядок добавления этих строк определяется порядком блоков сопоставлений.