Имя: Пароль:
1C
 
Вопрос по регистрации изменений в плане видов обмена
0 lanc2233
 
28.03.21
09:42
Встретил код. Задача : помещать в план видов обмена, номенклатуру, по которой изменяются записи в некотором регистре сведений.

В регистре в перед записью формируется массив номенклатуры
Товары = Новый Массив;
Для Каждого ТекЗапись Из ЭтотОбъект Цикл
    Если Товары.Найти(ТекЗапись.Номенклатура) = Неопределено Тогда
        Товары.Добавить(ТекЗапись.Номенклатура);
    КонецЕсли;    
КонецЦикла;
И массив узлов куда должна идти регистрация.

Далее
ДополнительныеСвойства.Вставить("Товары",Товары);
ДополнительныеСвойства.Вставить("Узлы",Узлы);

В ПриЗаписи цикл по этим товарам, с регистрацией
ПланыОбмена.ЗарегистрироватьИзменения(Узлы,ТекТовар);

Почему так сделано: код в двух событиях с передачей массивов, а не просто сделать то-же самое в ПриЗаписи ?
1 Ёпрст
 
гуру
28.03.21
09:51
(0) до призаписи может и не дойти, если ьыл отказ
2 asady
 
28.03.21
15:47
(0) я думаю это затем чтобы не делать лишний запрос к базе - ведь при записи данные уже записаны в базу.
3 acht
 
28.03.21
16:29
(0) Ты так спрашиваешь, как будто мы этот код писали.

Ответ очевиден - а хрен его знает. Очевидно, есть/были какие-то причины, начиная от неизвестных нам требований архитектуры до поддежки легаси и банального разгильдяйства и отсутствия рефакторинга. Гадать по тому кусочку информации, который ты принес, занятие бесполезное. Ты ж даже не указал - это в одном модуле или в разных подписках. Есть там обработка ОбменДанными = Истина или нет. И т. д. и т. п.