Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Info |
---|
Для формирования отчета у торгового агента должна быть включена настройка «Торговля с колес» и указан мобильный склад. |
Программа
Программа формируетсоздания отчета выберите тип «Программно». |
Статья содержит код программы и перечень параметров.
Подробные шаги по созданию отчета читайте в статье «Тип отчета „Программно“».
Описание
Здесь мы создадим отчет по мобильному складу торгового агента.
Склад получаем из настроек агента.Покажем как получать агента, который запросил отчет и его настройки. Данные будем получать используя систему компоновки данных (СКД).
Используйте отчет как пример работы с глобальными переменными «ВыбАгент» и «ВыбНастройкиАгента». Подробнее о переменных читайте на странице «Использование параметров».
Программа
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//ПРОГРАММА: Ведомость по товарам на мобильном складе торгового агента за период //1. Глобальные параметры //1.1 Параметры // сзПараметры - СписокЗначений - Список значений из вкладки Параметры // сзПараметры.Значение - Любой - Значение параметра // сзПараметры.Представление - Строка - Имя параметра // сзПараметры.Пометка - Булево - Признак "Использовать" //1.2 Результат // ТабличныйДокументРезультат - ТабличныйРезультат - Результат выполнения программы, при выгрузке данные из параметра будут сконвертированы в МУ. //2. Макет схемы компоновки данных СхемаКомпоновкиДанных = Отчеты.ВедомостьПоТоварамНаСкладах.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //3. ВариантыНастроек ВариантыНастроек = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; // Или другой: СхемаКомпоновкиДанных.ВариантыНастроек.Найти("СвойВариант"); //3. КомпоновщикНастроек КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); КомпоновщикНастроек.ЗагрузитьНастройки(ВариантыНастроек); //4. Установка параметра Период и отбора по Складу. сзПараметры - глобальный параметр ПериодОчета = Новый СтандартныйПериод; Для Каждого Элемент Из сзПараметры Цикл //4.1 Заполнение "ПериодОчета" - это период отчета. Если Элемент.Представление = "ПериодОт" Тогда ПериодОчета.ДатаНачала = Элемент.Значение; ИначеЕсли Элемент.Представление = "ПериодДо" Тогда ПериодОчета.ДатаОкончания = КонецДня(Элемент.Значение); КонецЕсли; //4.2 Отбор по складу Если Элемент.Представление = "Склад" И Элемент.Пометка Тогда Если ЗначениеЗаполнено(ВыбАгент) И ЗначениеЗаполнено(ВыбНастройкиАгента.МобильныйСклад) Тогда //МобильныйСклад, при выгрузке Склад = ВыбНастройкиАгента.МобильныйСклад; ИначеЕсли НЕ ЗначениеЗаполнено(ВыбАгент) И ЗначениеЗаполнено(Элемент.Значение) Тогда //Для теста, при нажатии на кнопку сформировать в УС. Склад = Элемент.Значение Иначе Продолжить; КонецЕсли; ДоступноеПоле = КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Склад"); ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = ДоступноеПоле.Поле; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Склад; ЭлементОтбора.Использование = Истина; КонецЕсли; КонецЦикла; //4.3 Установка стандартного периода ПараметрОтчетаСтандартныйПериод = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период")); ПараметрОтчетаСтандартныйПериод.Использование = Истина; ПараметрОтчетаСтандартныйПериод.Значение = ПериодОчета; //5. Вывод значений параметров в отчет (шапка отчета) ПараметрВыводитьПараметры = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных")); ПараметрВыводитьПараметры.Использование = Истина; ПараметрВыводитьПараметры.Значение = ТипВыводаТекстаКомпоновкиДанных.Выводить; //Или ТипВыводаТекстаКомпоновкиДанных.НеВыводить //6. Вывод значений отбора в отчет (шапка отчета) ПараметрВыводитьОтбор = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор")); ПараметрВыводитьОтбор.Использование = Истина; ПараметрВыводитьОтбор.Значение = ТипВыводаТекстаКомпоновкиДанных.Выводить; //Или ТипВыводаТекстаКомпоновкиДанных.НеВыводить //7. КомпоновщикМакетаКомпоновкиДанных КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Настройки = КомпоновщикНастроек.Настройки; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки); //8. ПроцессорКомпоновкиДанных ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,,Истина); //9. Результат выполнения. ТабличныйДокументРезультат - глобальный параметр ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабличныйДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); |
Параметры
Note |
---|
У торгового агента должна быть включена настройка «Торговля с колес» и указан мобильный склад. |
ПериодОт и ПериодДо
- параметры будут запрашиваться на мобильном устройстве и являются обязательными для заполнения — тип «Дата»;
- для проверки формирования отчета в настройках значения мы выбрали тип «Дата» и указали свое значение.
Склад
Так как в программе склад выбирается автоматически, то мы не задаем его на мобильном устройстве. В случае, если у торгового агента нет мобильного склада, то будет сформирован отчет по складу «Центральный склад».
Результат на мобильном устройстве
Запрос отчета
Image Modified
Полученный из ЦБД отчет
Смотрите также