Быстрый старт. Решение задания №3.3.2

Представляем решение домашнего задания 3.3.2.

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.

комментария 2 на “Быстрый старт. Решение задания №3.3.2”

  1. Функция ПолучитьНезаполненныеДокументы с реализацией запроса

    Функция  ПолучитьНезаполненныеДокументы() Экспорт
        Запрос = Новый Запрос;
        Запрос.Текст =       //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
        // Данный фрагмент построен конструктором.
        // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

        Запрос = Новый Запрос;
        Запрос.Текст =
            "ВЫБРАТЬ
            |   ПоступлениеТовара.Ссылка
            |ИЗ
            |   Документ.ПоступлениеТовара КАК ПоступлениеТовара
            |ГДЕ
            |   ПоступлениеТовара.Контрагент = &ПустаяСсылка";

        Запрос.УстановитьПараметр("ПустаяСсылка", Справочники.Контрагенты.ПустаяСсылка());

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

        ВыборкаДетальныеЗаписи = Результат.Выбрать();
       
        НезаполненныеДокументы = Новый Массив;

        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            НезаполненныеДокументы.Добавить(ВыборкаДетальныеЗаписи.Ссылка);  
        КонецЦикла;
        Возврат НезаполненныеДокументы;

        //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    КонецФункции // ПолучитьНезаполненныеДокументы()
  2. Изменим код нашей обработки следующим образом

    &НаКлиенте
    Процедура СписокДокументов(Команда)
       
        ОчиститьСообщения();
        СписокДокументовНаСервере(Интервал.ДатаНачала, Интервал.ДатаОкончания);
       
    КонецПроцедуры

    // <Описание процедуры>
    //
    // Параметры
    //  <Параметр1>  - <Тип.Вид> - <описание параметра>
    //                 <продолжение описания параметра>
    //  <Параметр2>  - <Тип.Вид> - <описание параметра>
    //                 <продолжение описания параметра>
    //
    &НаСервереБезКонтекста
    Процедура СписокДокументовНаСервере(ДатаНачала, ДатаОкончания)

        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Список документов за период с "+ДатаНачала+" по "+ДатаОкончания;
        Сообщение.Сообщить();
       
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |   ПоступлениеТоваров.Ссылка
        |ИЗ
        |   Документ.ПоступлениеТоваров КАК ПоступлениеТовара
        |ГДЕ
        |   ПоступлениеТоваров.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
       
        Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
        Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
       
        Результат = Запрос.Выполнить();
        ВыборкаДокументов = Результат.Выбрать();

        Пока ВыборкаДокументов.Следующий() Цикл
       
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = Строка(ВыборкаДокументов.Ссылка);
            Сообщение.Сообщить();
       
        КонецЦикла;

    КонецПроцедуры // СписокДокументовНаСервере()

    &НаКлиенте
    Процедура НезаполненныеДокументы(Команда)
       
        ОчиститьСообщения();
        НезаполненныеДокументыНаСервере();
       
    КонецПроцедуры

    // <Описание процедуры>
    //
    // Параметры
    //  <Параметр1>  - <Тип.Вид> - <описание параметра>
    //                 <продолжение описания параметра>
    //  <Параметр2>  - <Тип.Вид> - <описание параметра>
    //                 <продолжение описания параметра>
    //
    &НаСервереБезКонтекста
    Процедура НезаполненныеДокументыНаСервере()

        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Список незаполненных документов";
        Сообщение.Сообщить();
       
        Ссылки = Документы.ПоступлениеТоваров.ПолучитьНезаполненныеДокументы();
       
        Для каждого Ссылка Из Ссылки Цикл
       
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = Строка(Ссылка);
            Сообщение.Сообщить();
       
        КонецЦикла;

    КонецПроцедуры // НезаполненныеДокументыНаСервере()