Быстрый старт. Решение задания №3.3.2
Представляем решение домашнего задания 3.3.2.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.
Если не активировали токен — посмотрите видео-инструкцию (видео N5)
Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.
Функция ПолучитьНезаполненныеДокументы с реализацией запроса
Запрос = Новый Запрос;
Запрос.Текст = //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТовара.Ссылка
|ИЗ
| Документ.ПоступлениеТовара КАК ПоступлениеТовара
|ГДЕ
| ПоступлениеТовара.Контрагент = &ПустаяСсылка";
Запрос.УстановитьПараметр("ПустаяСсылка", Справочники.Контрагенты.ПустаяСсылка());
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
НезаполненныеДокументы = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
НезаполненныеДокументы.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
КонецЦикла;
Возврат НезаполненныеДокументы;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецФункции // ПолучитьНезаполненныеДокументы()
Изменим код нашей обработки следующим образом
Процедура СписокДокументов(Команда)
ОчиститьСообщения();
СписокДокументовНаСервере(Интервал.ДатаНачала, Интервал.ДатаОкончания);
КонецПроцедуры
// <Описание процедуры>
//
// Параметры
// <Параметр1> - <Тип.Вид> - <описание параметра>
// <продолжение описания параметра>
// <Параметр2> - <Тип.Вид> - <описание параметра>
// <продолжение описания параметра>
//
&НаСервереБезКонтекста
Процедура СписокДокументовНаСервере(ДатаНачала, ДатаОкончания)
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Список документов за период с "+ДатаНачала+" по "+ДатаОкончания;
Сообщение.Сообщить();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваров.Ссылка
|ИЗ
| Документ.ПоступлениеТоваров КАК ПоступлениеТовара
|ГДЕ
| ПоступлениеТоваров.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
Результат = Запрос.Выполнить();
ВыборкаДокументов = Результат.Выбрать();
Пока ВыборкаДокументов.Следующий() Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = Строка(ВыборкаДокументов.Ссылка);
Сообщение.Сообщить();
КонецЦикла;
КонецПроцедуры // СписокДокументовНаСервере()
&НаКлиенте
Процедура НезаполненныеДокументы(Команда)
ОчиститьСообщения();
НезаполненныеДокументыНаСервере();
КонецПроцедуры
// <Описание процедуры>
//
// Параметры
// <Параметр1> - <Тип.Вид> - <описание параметра>
// <продолжение описания параметра>
// <Параметр2> - <Тип.Вид> - <описание параметра>
// <продолжение описания параметра>
//
&НаСервереБезКонтекста
Процедура НезаполненныеДокументыНаСервере()
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Список незаполненных документов";
Сообщение.Сообщить();
Ссылки = Документы.ПоступлениеТоваров.ПолучитьНезаполненныеДокументы();
Для каждого Ссылка Из Ссылки Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = Строка(Ссылка);
Сообщение.Сообщить();
КонецЦикла;
КонецПроцедуры // НезаполненныеДокументыНаСервере()