В начало

Регистрация изменений с запросом

 

            Если регистрировать изменения без второго параметра <Данные> в методе «ЗарегистрироватьИзменения(<Узлы>, <Данные>)», то записываются буквально все объекты, в результате чего файл обмена может стать довольно большим.

 

Листинг. Пример регистрации изменений БЕЗ запроса

Процедура ЗарегистрироватьИзмененияНажатие(Элемент)

            ПланыОбмена.ЗарегистрироватьИзменения(ЭлементыФормы.ПланОбменаСписок.ТекущаяСтрока);

КонецПроцедуры

 

            Причём, изменения фиксируются и получается, что изменены были все объекты. Это можно проверить с помощью консоли запросов или стандартной обработки  «РегистрацияИзмененийДляОбмена». Поэтому лучше все же использовать второй параметр «Данные», предварительно запросом отфильтровав только те объекты, в которых были изменения.

 

Листинг. Пример регистрации изменений с запросом

Процедура ЗарегистрироватьИзмененияНажатие(Элемент)

            Запрос = Новый Запрос;

            Запрос.Текст =

                        "ВЫБРАТЬ

                        |         МухиИКотлетыИзменения.Ссылка

                        |ИЗ

                        |         Документ.МухиИКотлеты.Изменения КАК МухиИКотлетыИзменения";

           

            Результат = Запрос.Выполнить();

            Выборка = Результат.Выбрать();

           

            УзелОбмена = ЭлементыФормы.ПланОбменаСписок.ТекущаяСтрока;

            Пока Выборка.Следующий() Цикл

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

            КонецЦикла;

           

            КонецПроцедуры

 

            В результате в выборку попадают только те объекты, которые были изменены.