ТВП БЕЗ преобразования ВСЕХ полей записи |
Предлагается новая конструкция для ТВП ПЕРЕФОРМАТИРОВАНИЯ :
0 0 <формат> |
т.е. такая строка может содержаться в ТВП переформатирования, предназначенном для импорта/экспорта/копирования
(но ни в коем случае не в ТВП инвертирования!!!)
Если результатом расформатирования в этой строке является символ * - выполняются импорт/экспорт/копирования БЕЗ преобразования ВСЕХ полей записи, кроме тех, что определены в других строках ТВП (т.е. тех, чьи метки указаны в первом элементе всех остальных строк ТВП) В противном случае (если результатом расформатирования не является символ *) ничего не выполняется. |
В простейшем случае эта конструкция может иметь вид:
0 0 '*'
Предпосылки для введения такой конструкции рассмотрим на конкретном примере:
Необходимо экспортировать документы из БД и при этом в каждую запись добавить поле с меткой 902 определенного содержания, преобразовать определенным образом поле 951, удалить поля 910, а все остальные поля оставить без изменения.
Для решения этой задачи ранее пришлось бы написать огромный ТВП переформатирования следующего вида:
902 0 'Определенное_содержание'
951 0 <формат преобразования>
910 0 ''
а далее для каждой метки (а их сотни) написать строку вида:
MM 0 (vMM/)
...........
С новой конструкцией этот ТВП переформатирования будет содержать всего четыре строки:
902 0 'Определенное_содержание'
951 0 <формат преобразования>
910 0 ''
0 0 ‘*’
(Здесь стоит напомнить, что в общем случае порядок строк в ТВП не имеет значения)
См. также: