8.х Внешняя обработка для изменения реквизита

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем notaSS, 5 мар 2015.

  1. TopicStarter Overlay
    notaSS
    Offline

    notaSS Опытный в 1С

    Регистрация:
    22 ноя 2014
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    26
    Пишу внешнюю обработку, которая изменит реквизит. Но мне кажется, что програамма при таком коде зацикливается, как можно проверить, просто мне нужно, чтобы обрабатывались документы с 01012015 года

    Код:
    &НаСервере
    Процедура ОбработатьНаСервере()
    НВыборка= Документы.РасходнаяНакладная.Выбрать();
    Пока НВыборка.Следующий() Цикл
    
    НОбъект = НВыборка.ПолучитьОбъект();
    НОбъект.ВыгружатьДанные = Ложь;
    
    НОбъект.Записать();
    
    КонецЦикла;
    КонецПроцедуры
    
    &НаКлиенте
    Процедура Обработать(Команда)
    ОбработатьНаСервере();
    КонецПроцедуры
    Последнее редактирование модератором: 6 мар 2015
  2. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Программа не зацикливается, просто вы выбираете все документы данного типа за все времена.
    Нужно в методе Выбрать(<ДатаНачала>, <ДатаОкончания>) указывать дату начала и дату окончания.
    Ну, или можно запрос написать:
    Код:
    Запрос = Новый Запрос("Выбрать Расходники.Ссылка КАК Документ Из Документ.РасходнаяНакладная КАК Расходники  Где Расходники.Дата>=ДАТАВРЕМЯ(2015, 1, 1)");
    Результат = Запрос.Выполнить();
    Если НЕ Результат.Пустой() Тогда
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
    Док = Выборка.Документ.ПолучитьОбъект();
    НОбъект.ВыгружатьДанные = Ложь;
    НОбъект.Записать();
    КонецЦикла;
    КонецЕсли;
  3. TopicStarter Overlay
    notaSS
    Offline

    notaSS Опытный в 1С

    Регистрация:
    22 ноя 2014
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    26
    Спасибо

Поделиться этой страницей