В начало

Перенос документа «ПриходнаяНакладная» с причиндалами

 

            Требуется организовать переброску документов «ПриходнаяНакладная» вместе со связанными объектами, такими как справочники.

            Структура документа «ПриходнаяНакладная» в дереве метаданных приведена далее.

Рис. Документ «ПриходнаяНакладная», структура

 

            Видим, что нужно переносить такие справочники, как: Контрагенты, Склады, Номенклатура. Вроде не так уж и много.

            Регистрация объектов у нас включена автоматом, но еще она сидит на кнопке на форме списка плана обмена «ОбменПриходныхНакладных».

            Для начала добавим нужные справочники в состав плана обмена.

Рис. План обмена «ОбменПриходныхНакладных», вкладка «Основные», Состав

 

            Далее переходим в модуль формы списка, где немного меняем код у процедуры нажатия кнопки.

 

Листинг. Модуль формы списка плана обмена

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

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

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

            "ВЫБРАТЬ

            |         ПриходнаяНакладнаяИзменения.Ссылка,

            |         ПриходнаяНакладнаяИзменения.Ссылка.Покупатель КАК Покупатель,

            |         ПриходнаяНакладнаяИзменения.Ссылка.Продавец КАК Продавец,

            |         ПриходнаяНакладнаяИзменения.Ссылка.Склад КАК Склад

            |ИЗ

            |         Документ.ПриходнаяНакладная.Изменения КАК ПриходнаяНакладнаяИзменения";

           

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

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

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

           

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

                        //Регистрация ПриходнойНакладной

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

                        //Регистрация связанных объектов

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

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

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

                        //Перебор номенклатуры

                        Для Каждого ТекЭлем Из Выборка.Ссылка.СписокТоваров Цикл

                                   //Регистрация номенклатуры

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

                        КонецЦикла;

            КонецЦикла;

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

 

Функция ЭтоПредопределенныйУзел(Узел)

            Возврат Узел = ПланыОбмена.ОбменПриходныхНакладных.ЭтотУзел();

КонецФункции

 

Процедура ПланОбменаСписокПриАктивизацииСтроки(Элемент)

            Если ЭтоПредопределенныйУзел(Элемент.ТекущаяСтрока) Тогда

                        ЭлементыФормы.ЗарегистрироватьИзменения.Доступность = Ложь;

            Иначе

                        ЭлементыФормы.ЗарегистрироватьИзменения.Доступность = Истина;

            КонецЕсли;

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

 

            Далее добавляем новые элементы в справочники: Контрагенты, Склады и Номенклатура, после чего создаем новый документ «ПриходнаяНакладная».

            Затем переходим в план обмена «ОбменПриходныхНакладных» и регистрируем изменения.

            Вызываем обработку «ОбменДаннымиПриходныхНакладных» и выполняем обмен, точнее только первую часть обмена – создание файла-сообщения с данными для базы филиала.

Рис. Обработка «ОбменДаннымиПриходныхНакладных»

 

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

            В режиме отладки в базе филиала запускаем обработку обмена «Обмен данными приходных накладных».

Рис. Обработка обмена в базе филиала

 

            Переходим в документ «ПриходнаяНакладна» и проверяем.

Рис. Документ «ПриходнаяНакладная» в базе филиала

 

            При этом также были добавлены новые элементы в справочники: Контрагенты, Номенклатура и Склады.

            Таким образом, был организован обмен данными документа «Приходная накладная» вместе со связанными объектами между центральной базой «ЦБ» и филиалом «ФЛ».