Разбор вложенных структур

Проблемка и решение

Есть одна достаточно полезная подпрограмма для чтения данных из Excel. Даёшь ей файл, параметры и внутреннюю таблицу. И получаешь заполненную внутреннюю таблицу.

Там в кишках слепок таблицы Excel перекладывается в целевую таблицу.

image

Дальше перекладываются значения в зависимости от типов колонок.

Проблемы начались после того, как я в целевой таблице стал использовать вложенные структуры.

image

Соответственно ASSIGN COMPONENT стал вести не на целевое поле, а на структуру со всеми вытекающими неприятными последствиями.

И вот сделал такую переборку внутренних вложенных структур:

image

Тип “u” это как раз вложенные структуры (плоские).

Ну решение простое, можно конечно ещё извернуться с рекурсией и типом “v” (это уже посложнее – deep structure). Но это пока не требуется.

Вот так и использование DESCRIBE FIELD помогает.

Между делом

Вообще использование вложенных структур сильно может помочь. Основные преимущества подхода:

  • Возможность сравнения подструктур
  • Возможность использование move-corresponding в подструктурах

В моём случае подструктуры – это блоки дебета и кредита бухгалтерской проводки.

Можно сильно сократить объём кода и его понятность в некоторых местах, например:

image

Может также использоваться для пар старых-новых значений, или для сравнения данных (источник-назначение).

Добавить комментарий

Ваш адрес email не будет опубликован.