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

19.09.13

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Пример отчета для рассылки БСП
.erf 8,38Kb
16
16 Скачать (1 SM) Купить за 1 850 руб.

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

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

рис.1

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

рис.2

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

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

рис.3

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

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

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

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

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

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

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

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

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

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

рис.4

См. также

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

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    7093    36    23    

40

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

В этой статье я расскажу, как в конфигурации 1С:ERP 2.5 при начале работы системы настроить открытие своих нетиповых форм (в том числе и из внешних обработок). Данную методику можно использовать как на тонком клиенте, так и на мобильном или веб-клиенте, а также в мобильном приложении.

12.05.2025    1921    PROSTO-1C    1    

15

БСП (Библиотека стандартных подсистем) Обновление 1С Программист 1C:ERP Бесплатно (free)

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

29.04.2025    1900    krasnoshchekovpavel    7    

16

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

Описание способа создания глобального обработчика оповещений (событие формы), не привязанного к какой-то конкретной форме.

01.04.2025    1335    krasnoshchekovpavel    0    

9

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

Как создать внешнюю печатную форму для конфигураций на базе БСП с желанной всеми разработчиками фишкой - автоматическим открытием обработки в конфигураторе с остановкой отладчика внутри процедуры Печать() при выполнении интерактивной команды печати.

24.03.2025    1982    GeraltSnow    6    

31

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

Добавим метки в новый документ средствами БСП.

10.02.2025    5470    John_d    24    

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