0
lanc2233
28.03.21
✎
09:42
|
Встретил код. Задача : помещать в план видов обмена, номенклатуру, по которой изменяются записи в некотором регистре сведений.
В регистре в перед записью формируется массив номенклатуры
Товары = Новый Массив;
Для Каждого ТекЗапись Из ЭтотОбъект Цикл
Если Товары.Найти(ТекЗапись.Номенклатура) = Неопределено Тогда
Товары.Добавить(ТекЗапись.Номенклатура);
КонецЕсли;
КонецЦикла;
И массив узлов куда должна идти регистрация.
Далее
ДополнительныеСвойства.Вставить("Товары",Товары);
ДополнительныеСвойства.Вставить("Узлы",Узлы);
В ПриЗаписи цикл по этим товарам, с регистрацией
ПланыОбмена.ЗарегистрироватьИзменения(Узлы,ТекТовар);
Почему так сделано: код в двух событиях с передачей массивов, а не просто сделать то-же самое в ПриЗаписи ?
|
|
3
acht
28.03.21
✎
16:29
|
(0) Ты так спрашиваешь, как будто мы этот код писали.
Ответ очевиден - а хрен его знает. Очевидно, есть/были какие-то причины, начиная от неизвестных нам требований архитектуры до поддежки легаси и банального разгильдяйства и отсутствия рефакторинга. Гадать по тому кусочку информации, который ты принес, занятие бесполезное. Ты ж даже не указал - это в одном модуле или в разных подписках. Есть там обработка ОбменДанными = Истина или нет. И т. д. и т. п.
|
|