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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

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

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

Описание

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

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

Программа

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


Параметры

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

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

Партнер

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

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

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

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


  • No labels