Здесь вы найдете тексты примеров запросов и программ для дополнительных отчетов.

Подробнее о создании отчетов типа «Запрос» и «Программно» читайте на соответствующих страницах.

Значение параметра в поле «Значение параметра» служит для тестирования отчета и как значение по умолчанию, если агент не выбрал необязательный к заполнению параметр на мобильном устройстве.

Если параметр является обязательным для выбора торговым агентом и тестирование отчета не предполагается, то значение параметра можно не заполнять.

Запросы

Тексты запросов и описание используемых параметров

Заказы партнера за последние семь дней

ВЫБРАТЬ
    ЗаказКлиента.Ссылка КАК Ссылка,
    ЗаказКлиента.Дата КАК Дата,
    ЗаказКлиента.Менеджер КАК Менеджер,
    ЗаказКлиента.СуммаДокумента КАК СуммаДокумента
ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента
ГДЕ
    ЗаказКлиента.Дата > &Дата
    И ЗаказКлиента.Партнер = &Партнер


// Дата
Выражение: ДА
Значение параметра: ТекущаяДата()-(86400*7) // текущая дата минус семь дней в секундах
Использовать: ДА
Тип параметра: Не выгружать
Обязательный: НЕТ

// Партнер
Выражение: НЕТ
Значение параметра: Альфа-Протон // выберите партнера для тестирования отчета
Использовать: ДА
Тип параметра: Справочник "Партнеры"
Обязательный: ДА

Ведомость заказов торгового агента за период

ВЫБРАТЬ
    ЗаказКлиента.Ссылка КАК Ссылка,
    ЗаказКлиента.Дата КАК Дата,
    ЗаказКлиента.Менеджер КАК Агент,
    ЗаказКлиента.СуммаДокумента КАК СуммаДокумента
ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента
ГДЕ
    ЗаказКлиента.Дата МЕЖДУ НачалоПериода(&ПериодОт,День) И КонецПериода(&ПериодДо,День)
    И ЗаказКлиента.Менеджер = &Агент


// ПериодОт
Выражение: ДА
Значение параметра: ТекущаяДата() // или снимите галочку «Выражение», выберите тип «Дата» и укажите дату вручную
Использовать: ДА
Тип параметра: Дата
Обязательный: ДА

// ПериодДо
Выражение: ДА
Значение параметра: ТекущаяДата()
Использовать: ДА
Тип параметра: Дата
Обязательный: ДА

// Агент
Выражение: ДА
Значение параметра: ?(ЗначениеЗаполнено(ВыбАгент), ВыбАгент, Справочники.Пользователи.НайтиПоНаименованию("Белкина Анастасия Георгиевна") // Белкина Анастасия Георгиевна - замените на любого действующего агента. Требуется для тестирования отчета.
Использовать: ДА
Тип параметра: Не выгружать
Обязательный: НЕТ





Программы

Тексты программ и описание используемых параметров

Ведомость по товарам на мобильном складе торгового агента за период

//ПРОГРАММА: Ведомость по товарам на мобильном складе торгового агента за период
 
//1. Глобальные параметры
//1.1 Параметры
//    сзПараметры                    - СписокЗначений    - Список значений из вкладки Параметры
//    сзПараметры.Значение        - Любой                - Значение параметра
//    сзПараметры.Представление   - Строка            - Имя параметра
//    сзПараметры.Пометка         - Булево            - Признак "Использовать"
//1.2 Результат
//    ТабличныйДокументРезультат  - ТабличныйРезультат - Результат выполнения программы, при выгрузке данные из параметра будут сконвертированы в МУ.
                                                    
//2. Макет схемы компоновки данных
СхемаКомпоновкиДанных = Отчеты.ВедомостьПоТоварамНаСкладах.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
 
//3. ВариантыНастроек
ВариантыНастроек = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; // Или другой: СхемаКомпоновкиДанных.ВариантыНастроек.Найти("СвойВариант");   
 
//3. КомпоновщикНастроек
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(ВариантыНастроек);   
 
//4. Установка параметра Период и отбора по Складу. сзПараметры - глобальный параметр                                             
ПериодОчета = Новый СтандартныйПериод;
Для Каждого Элемент Из сзПараметры Цикл
    //4.1 Заполнение "ПериодОчета" - это период отчета.
    Если Элемент.Представление = "ПериодОт" Тогда
        ПериодОчета.ДатаНачала =    Элемент.Значение;
    ИначеЕсли Элемент.Представление = "ПериодДо" Тогда
        ПериодОчета.ДатаОкончания = КонецДня(Элемент.Значение);
    КонецЕсли;
    //4.2 Отбор по складу
    Если Элемент.Представление = "Склад" И Элемент.Пометка  Тогда
     
        Если ЗначениеЗаполнено(ВыбАгент) И ЗначениеЗаполнено(ВыбНастройкиАгента.МобильныйСклад) Тогда
            //МобильныйСклад, при выгрузке
            Склад = ВыбНастройкиАгента.МобильныйСклад;
        ИначеЕсли НЕ ЗначениеЗаполнено(ВыбАгент) И ЗначениеЗаполнено(Элемент.Значение) Тогда
             //Для теста, при нажатии на кнопку сформировать в УС.
            Склад = Элемент.Значение
        Иначе
            Продолжить;
        КонецЕсли;
 
        ДоступноеПоле = КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Склад");
        ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ЛевоеЗначение     = ДоступноеПоле.Поле;
        ЭлементОтбора.ВидСравнения         = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементОтбора.ПравоеЗначение     = Склад;
        ЭлементОтбора.Использование     = Истина;
         
    КонецЕсли;
КонецЦикла;
//4.3 Установка стандартного периода
ПараметрОтчетаСтандартныйПериод = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период"));
ПараметрОтчетаСтандартныйПериод.Использование = Истина;
ПараметрОтчетаСтандартныйПериод.Значение       = ПериодОчета;
 
//5. Вывод значений параметров в отчет (шапка отчета)
ПараметрВыводитьПараметры = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных"));
ПараметрВыводитьПараметры.Использование = Истина;
ПараметрВыводитьПараметры.Значение = ТипВыводаТекстаКомпоновкиДанных.Выводить; //Или ТипВыводаТекстаКомпоновкиДанных.НеВыводить
 
//6. Вывод значений отбора в отчет (шапка отчета)
ПараметрВыводитьОтбор = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор"));
ПараметрВыводитьОтбор.Использование = Истина;
ПараметрВыводитьОтбор.Значение = ТипВыводаТекстаКомпоновкиДанных.Выводить; //Или ТипВыводаТекстаКомпоновкиДанных.НеВыводить
 
//7. КомпоновщикМакетаКомпоновкиДанных
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Настройки = КомпоновщикНастроек.Настройки;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
 
//8. ПроцессорКомпоновкиДанных
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,,Истина);
 
//9. Результат выполнения. ТабличныйДокументРезультат - глобальный параметр
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабличныйДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);


// ПериодОт
Выражение: ДА
Значение параметра: ТекущаяДата() // или снимите галочку «Выражение», выберите тип «Дата» и укажите дату вручную
Использовать: ДА
Тип параметра: Дата
Обязательный: ДА

// ПериодДо
Выражение: ДА
Значение параметра: ТекущаяДата()
Использовать: ДА
Тип параметра: Дата
Обязательный: ДА

// Склад
Выражение: НЕТ
Значение параметра: Центральный склад // здесь выбрать склад для тестирования отчета и выгрузки агенту, если у него нет мобильного склада.
Использовать: ДА
Тип параметра: Не выгружать
Обязательный: Нет

Перечень документов «Посещение», созданных агентом за определенный период

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


// ПериодОт
Выражение: ДА
Значение параметра: ТекущаяДата() // или снимите галочку «Выражение», выберите тип «Дата» и укажите дату вручную
Использовать: ДА
Тип параметра: Дата
Обязательный: ДА

// ПериодДо
Выражение: ДА
Значение параметра: ТекущаяДата()
Использовать: ДА
Тип параметра: Дата
Обязательный: ДА

// Партнер
Выражение: НЕТ
Значение параметра: Альфа-Протон // выберите партнера для тестирования отчета
Использовать: ДА
Тип параметра: Дата
Обязательный: ДА