Page tree
Skip to end of metadata
Go to start of metadata

Для создания отчета выберите тип «Программно».

Статья содержит код программы и перечень параметров.
Подробные шаги по созданию отчета читайте в статье «Тип отчета „Программно“».

Описание

Здесь мы рассмотрим работу с таблицами виртуальных документов на примере выборки перечня документов «Посещение».

Полный перечень доступных для работы документов можете посмотреть в статье «Работа с виртуальными документами».

Программа

Код
//ПРОГРАММА: Посещения торгового агента за период
 
//1. Глобальные параметры
//1.1 Параметры
//    сзПараметры                    - СписокЗначений    - Список значений из вкладки Параметры
//    сзПараметры.Значение        - Любой                - Значение параметра
//    сзПараметры.Представление   - Строка            - Имя параметра
//    сзПараметры.Пометка         - Булево            - Признак "Использовать"
//1.2 Результат
//    ТабличныйДокументРезультат  - ТабличныйРезультат - Результат выполнения программы, при выгрузке данные из параметра будут сконвертированы в МУ.
 
//2. Получение всех документов посещение
тзПосещение = ВОТЗЗагрузить("_Посещение");
 
//3. Запрос с отбором
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    тзПосещение.Дата КАК Дата,
               |    РАЗНОСТЬДАТ(тзПосещение.ВремяОкончания, тзПосещение.ВремяНачала, МИНУТА) КАК Время,
               |    тзПосещение.Партнер КАК Партнер,
               |    тзПосещение.Менеджер КАК Агент
               |ПОМЕСТИТЬ тзПосещение
               |ИЗ
               |    &тзПосещение КАК тзПосещение
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |ВЫБРАТЬ
               |    тзПосещение.Дата КАК Дата,
               |    тзПосещение.Время КАК Время,
               |    тзПосещение.Партнер КАК Партнер,
               |    тзПосещение.Агент КАК Агент
               |ИЗ
               |    тзПосещение КАК тзПосещение
               |ГДЕ
               |    тзПосещение.Дата МЕЖДУ НачалоПериода(&ПериодОт,День) И КонецПериода(&ПериодДо,День)";
 
Запрос.УстановитьПараметр("тзПосещение", тзПосещение);
 
 
//4. Установка параметров Период и партнер. сзПараметры - глобальный параметр                                             
Для Каждого Элемент Из сзПараметры Цикл
    Если Элемент.Представление = "ПериодОт" Тогда
        Запрос.УстановитьПараметр("ПериодОт", Элемент.Значение);
    ИначеЕсли Элемент.Представление = "ПериодДо" Тогда
        Запрос.УстановитьПараметр("ПериодДо", Элемент.Значение);
    ИначеЕсли Элемент.Представление = "Партнер" И Элемент.Пометка И ЗначениеЗаполнено(Элемент.Значение) Тогда
        Запрос.Текст = Запрос.Текст + Символы.ПС + "И тзПосещение.Партнер = &Партнер";
        Запрос.УстановитьПараметр("Партнер", Элемент.Значение);           
    КонецЕсли;
КонецЦикла;
 
//5. Вывод результата
РезультатЗапроса = Запрос.Выполнить();
ПостроительОтчета = Новый ПостроительОтчета;
ПостроительОтчета.ИсточникДанных = Новый ОписаниеИсточникаДанных(РезультатЗапроса);      
ПостроительОтчета.Вывести(ТабличныйДокументРезультат);


Параметры

ПериодОт и ПериодДо

  • параметры будут запрашиваться на мобильном устройстве и являются обязательными для заполнения — тип «Дата»;
  • в одном случае для проверки формирования отчета в настройках значения мы выбрали тип «Дата» и указали свое значение, в другом использовали выражение.

Партнер

  • параметр будет запрашиваться на мобильном устройстве и является обязательным для заполнения — тип «Справочник "Партнеры"»;
  • для проверки отчета перед отправкой мы добавили значение параметра «Алхимов А.А.» — тип «Партнер».

Результат на мобильном устройстве

Запрос отчета

Полученный из ЦБД отчет




  • No labels