Заказать обратный звонок:



Вопрос по 3 уроку

Верный старт в 1C / Вопрос по 3 уроку

В этой теме 1 ответ, 2 участника, последнее обновление  AlexandrSharypov 3 мес., 2 нед. назад.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #3800

    сергей шахов
    Участник

    Добрый день! Такой вопрос: в домашнем задании есть пункт: Снять с проведения все документы в периоде. Я пишу код: Выборка = Документы.РеализацияТоваровИУслуг.Выбрать(НачалоПериода,КонецПериода);
    Пока Выборка.Следующий()Цикл
    ТекДок = Выборка.ПолучитьОбъект();
    ТекДок.Записать(РежимЗаписиДокумента.ОтменаПроведения);
    КонецЕсли;
    КонецЦикла;
    Отрабатывает как надо, но если период на форме не заполняю, то он распроводит весь журнал документов
    Меняю код следующим образом:
    Выборка = Документы.РеализацияТоваровИУслуг.Выбрать(НачалоПериода,КонецПериода);
    Пока Выборка.Следующий()Цикл
    ТекДок = Выборка.ПолучитьОбъект();
    Если НачалоПериода = ‘00010101’ Или КонецПериода = ‘00010101’ Тогда
    Сообщить(«Период не заполнен»);
    Иначе
    ТекДок.Записать(РежимЗаписиДокумента.ОтменаПроведения);
    КонецЕсли;
    КонецЦикла;
    Добиваюсь чего хотел, но команда сообщить в этом случае отрабатывает столько раз, сколько документов в журнале. Как добиться того, чтобы если не заполнен период, программа сообщала один раз «Период не заполнен» и останавливала выполнение.

    #3806

    AlexandrSharypov
    Участник

    Напишите в начале процедуры
    Если НачалоПериода = ‘00010101’ Или КонецПериода = ‘00010101’ Тогда
    Сообщить(«Период не заполнен»);
    Возврат;
    КонецЕсли;

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)

Для ответа в этой теме необходимо авторизоваться.