Рассылка отчетов на БСП. Расширение периодических параметров

19.09.13

Разработка - БСП (Библиотека стандартных подсистем)

В библиотеке стандартных подсистем (БСП) есть очень удобный механизм для рассылки отчетов. Но что делать, когда в качестве параметра отчета необходимо указать динамический период, отсутствующий в предлагаемом системой списке.

Скачать файлы

Наименование Файл Версия Размер
Пример отчета для рассылки БСП
.erf 8,38Kb
16
.erf 8,38Kb 16 Скачать

Случай из практики. Есть УТ 11 (используется БСП) и некий внешний отчет, который показывает информацию за определенный период. Необходимо рассылать его каждую пятницу с периодом формирования 1 неделя, т.е. с пятницы прошлой недели до четверга текущей недели.

Создаем рассылку. В качестве параметра КонецПериода выбираем Начало вчерашнего дня - получаем четверг текущей недели.

рис.1

А вот для того, чтобы "попасть" в прошлую пятницу, вариантов стандартного периода недостаточно.

рис.2

Чтобы восполнить этот недостаток я решил использовать следующий способ:

1. Создаю 2 дополнительных строковых параметра, в которые буду записывать выражение для вычисления периодов.

рис.3

2. В процедуре модуля объекта ПриКомпоновкеРезультата описываю вывод отчета программно, где задаю значения периодам их соответствующими выражениями на встроенном языке.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;

    Настройки = КомпоновщикНастроек.ПолучитьНастройки();

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

    Попытка
        МакетКомпоновки.ЗначенияПараметров.НачалоПериода.Значение = Вычислить(МакетКомпоновки.ЗначенияПараметров.ВыражениеНачалоПериода.Значение);
        МакетКомпоновки.ЗначенияПараметров.КонецПериода.Значение = Вычислить(МакетКомпоновки.ЗначенияПараметров.ВыражениеКонецПериода.Значение);
    Исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;

    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);

КонецПроцедуры

Теперь, при создании рассылки, в значения параметров записывю соответсвующие выражения для получения нужной даты.

рис.4

См. также

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1304    dimanich70    6    

13

Заполнение поля адреса в своей обработке [БСП]

Механизмы платформы 1С БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Небольшая шпаргалка по функциям БСП касательно адреса. Так скажем, еще один способ помимо https://infostart.ru/1c/articles/1060970/

12.02.2024    690    FilippovRI    0    

15

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    2355    YA_418728146    11    

40

1С:БСП Дополнительные реквизиты и сведения

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Бесплатно (free)

В этой статье расскажем об архитектуре, использовании и особенностях реализации подсистемы «Свойства» из инструментария разработчика «1С:Библиотека стандартных подсистем» (1С: БСП).

19.01.2024    5212    PROSTO-1C    5    

45

Бесплатный митап 9 февраля «Библиотеки и фреймворки на 1С и всё, что с этим связано»

БСП (Библиотека стандартных подсистем) Мероприятия Бесплатно (free)

Митап посвящен вопросам создания, использования и поддержке переиспользуемого кода при разработке решений на платформе 1С:Предприятие 8.

15.01.2024    3804    0    Infostart    0    

20

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    4836    mrXoxot    11    

99
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. AlX0id 19.09.13 00:06 Сейчас в теме
Мощно. Так прямо и захотелось вбить в параметр "0; Выборка = Справочники.Номенклатура.Выбрать(); Пока Выборка.Следующий() Цикл Объ = Выборка.ПолучитьОбъект(); Объ.Удалить(); КонецЦикла" :)
2. valafan 119 19.09.13 07:31 Сейчас в теме
(1) AlX0id, само собой это для служебного пользования )) хотя можно и фильтры поставить
3. AlX0id 19.09.13 08:59 Сейчас в теме
(2)
Да не надо фильтров - достаточно использовать Вычислить в вашем случае )
4. valafan 119 19.09.13 09:52 Сейчас в теме
(3) AlX0id, спасибо, поправлю
5. randa 87 26.09.13 19:52 Сейчас в теме
У Вас из УТ11 или БСП работает регламентное задание по рассылке отчетов? Тобишь в автоматическом режиме отправляется?
6. valafan 119 27.09.13 08:01 Сейчас в теме
(5) randa, да, в клиент-серверной базе
7. randa 87 27.09.13 08:58 Сейчас в теме
(6) Спасибо, разобрался! На форуме нашел, оказывается для регламентного задания "РассылкиОтчетов" на общий реквизит "ОбластьДанных" стояла авторегистрация, это было причиной.
Оставьте свое сообщение