- Created by Александр Дегтярев, last modified on Jun 23, 2020
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 4 Next »
Для формирования отчета у торгового агента должна быть включена настройка «Торговля с колес» и указан мобильный склад.
Программа
Программа формирует отчет по мобильному складу агента. Склад получаем из настроек агента.
Код
Expand source
//ПРОГРАММА: Ведомость по товарам на мобильном складе торгового агента за период //1. Глобальные параметры //1.1 Параметры // сзПараметры - СписокЗначений - Список значений из вкладки Параметры // сзПараметры.Значение - Любой - Значение параметра // сзПараметры.Представление - Строка - Имя параметра // сзПараметры.Пометка - Булево - Признак "Использовать" //1.2 Результат // ТабличныйДокументРезультат - ТабличныйРезультат - Результат выполнения программы, при выгрузке данные из параметра будут сконвертированы в МУ. //2. Макет схемы компоновки данных СхемаКомпоновкиДанных = Отчеты.ВедомостьПоТоварамНаСкладах.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //3. ВариантыНастроек ВариантыНастроек = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; // Или другой: СхемаКомпоновкиДанных.ВариантыНастроек.Найти("СвойВариант"); //3. КомпоновщикНастроек КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); КомпоновщикНастроек.ЗагрузитьНастройки(ВариантыНастроек); //4. Установка параметра Период и отбора по Складу. сзПараметры - глобальный параметр ПериодОчета = Новый СтандартныйПериод; Для Каждого Элемент Из сзПараметры Цикл //4.1 Заполнение "ПериодОчета" - это период отчета. Если Элемент.Представление = "ПериодОт" Тогда ПериодОчета.ДатаНачала = Элемент.Значение; ИначеЕсли Элемент.Представление = "ПериодДо" Тогда ПериодОчета.ДатаОкончания = КонецДня(Элемент.Значение); КонецЕсли; //4.2 Отбор по складу Если Элемент.Представление = "Склад" И Элемент.Пометка Тогда Если ЗначениеЗаполнено(ВыбАгент) И ЗначениеЗаполнено(ВыбНастройкиАгента.МобильныйСклад) Тогда //МобильныйСклад, при выгрузке Склад = ВыбНастройкиАгента.МобильныйСклад; ИначеЕсли НЕ ЗначениеЗаполнено(ВыбАгент) И ЗначениеЗаполнено(Элемент.Значение) Тогда //Для теста, при нажатии на кнопку сформировать в УС. Склад = Элемент.Значение Иначе Продолжить; КонецЕсли; ДоступноеПоле = КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Склад"); ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = ДоступноеПоле.Поле; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Склад; ЭлементОтбора.Использование = Истина; КонецЕсли; КонецЦикла; //4.3 Установка стандартного периода ПараметрОтчетаСтандартныйПериод = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период")); ПараметрОтчетаСтандартныйПериод.Использование = Истина; ПараметрОтчетаСтандартныйПериод.Значение = ПериодОчета; //5. Вывод значений параметров в отчет (шапка отчета) ПараметрВыводитьПараметры = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных")); ПараметрВыводитьПараметры.Использование = Истина; ПараметрВыводитьПараметры.Значение = ТипВыводаТекстаКомпоновкиДанных.Выводить; //Или ТипВыводаТекстаКомпоновкиДанных.НеВыводить //6. Вывод значений отбора в отчет (шапка отчета) ПараметрВыводитьОтбор = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор")); ПараметрВыводитьОтбор.Использование = Истина; ПараметрВыводитьОтбор.Значение = ТипВыводаТекстаКомпоновкиДанных.Выводить; //Или ТипВыводаТекстаКомпоновкиДанных.НеВыводить //7. КомпоновщикМакетаКомпоновкиДанных КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Настройки = КомпоновщикНастроек.Настройки; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки); //8. ПроцессорКомпоновкиДанных ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,,Истина); //9. Результат выполнения. ТабличныйДокументРезультат - глобальный параметр ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабличныйДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Параметры
ПериодОт и ПериодДо
- параметры будут запрашиваться на мобильном устройстве и являются обязательными для заполнения — тип «Дата»;
- для проверки формирования отчета в настройках значения мы выбрали тип «Дата» и указали свое значение.
Склад
Так как в программе склад выбирается автоматически, то мы не задаем его на мобильном устройстве. В случае, если у торгового агента нет мобильного склада, то будет сформирован отчет по складу «Центральный склад».
Результат на мобильном устройстве
Запрос отчета
Полученный из ЦБД отчет
- No labels