Формулировка проблемы: выдержка из одного варианта использования системы: «форма служебной записки о командировании содержит динамическую таблицу (включена опция «добавлять строки в режиме заполнения») маршрута движения сотрудника с полями Откуда → Куда. Пример:
from | to |
---|---|
Астана |
Алматы |
Алматы |
Бишкек |
Бишкек |
Ташкент |
Ташкент |
Астана |
Для реестра служебных записок в качестве реестра-ответа указывается реестр приказов о командировании, для которого должно быть настроено сопоставление полей: маршрут из служебной записки должен быть скопирован в приказ в виде:
...по маршруту следования Астана — Алматы — Бишкек — Ташкент — Астана...»
Сейчас механизм работы сопоставления для динамической таблицы явно не определен и текущая его работа не оправдывает ожидания пользователей.
Решение:
Внести изменения в текущую реализацию сопоставлений, а именно: при
выборе в настройках сопоставления id
компонента,
который является динамическим, сделать доступным только один способ
сопоставления — EQUAL
.
Сам механизм сопоставления должен работать следующим образом:
ID
вложенных компонентов источника и
приемника должны совпадать.
При сопоставлении данные источника добавляются в приёмник новыми строками .
Если в приемнике имеются компоненты, которых нет в источнике, они заполняются дефолтными значениями.
Если в источнике имеются компоненты, которых нет в приемнике, то данные из них не используются для осуществления сопоставления.