вторник, 18 сентября 2012 г.

Работа с планом обмена без запроса

Узел = ПланыОбмена._ВыгрузкаВ_КА.НайтиПоКоду("000000001");
    Если Узел.Пустая() Тогда
        Сообщить("Не нашли узел");
        Возврат
    КонецЕсли;
   
    Ном = 0;
   
    Выб = ПланыОбмена.ВыбратьИзменения(Узел,0);
    Пока Выб.Следующий() Цикл
        Объект = Выб.Получить();
        Если ТипЗнч(Объект) = Тип("УдалениеОбъекта") Тогда
            ПланыОбмена.УдалитьРегистрациюИзменений(Узел, Объект);
            СписокНаУдаление.Добавить(строка(Объект.Ссылка.уникальныйИдентификатор()));
            Продолжить;
        КонецЕсли;
        Если Объект.метаданные().Имя = "ТребованиеНакладная" Тогда
            ПланыОбмена.УдалитьРегистрациюИзменений(Узел, Объект);
        ИначеЕсли Объект.метаданные().Имя = "РеализацияТоваровУслуг"
            или Объект.метаданные().Имя = "ПоступлениеТоваровУслуг"
            или Объект.метаданные().Имя = "ОприходованиеТоваров"
            или Объект.метаданные().Имя = "ПеремещениеТоваров"
            или Объект.метаданные().Имя = "СписаниеТоваров"
            Тогда
            Ссылка = Объект.Ссылка;
            Вид = Ссылка.метаданные().Имя;
           
           
            Если ЗначениеЗаполнено(Нач) и ЗначениеЗаполнено(кон) Тогда
                Если Ссылка.Дата < Нач или Ссылка.Дата >Кон Тогда
                    Продолжить;
                КонецЕсли;
            КонецЕсли;
            Ном=Ном+1;
            Нов = Результат.Добавить();
            Нов.Ном = Ном;
            Нов.Выгружать = Истина;
            Нов.Дата = Ссылка.Дата;
            Нов.Вид = Ссылка.метаданные().Имя;
            Нов.Номер = Ссылка.Номер;
            Нов.Ссылка = Ссылка;
        Иначе
            ПланыОбмена.УдалитьРегистрациюИзменений(Узел, Объект);
        КонецЕсли;                   
       
    КонецЦикла;