Параметры для дополнительных отчетов и обработок БСП

18.10.17

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

Еще один вариант передачи параметров во внешние обработки БСП. Параметры привязываются к командам дополнительной обработки и хранятся в элементе справочника.

Данный подход подойдет для конфигураций с БСП. Реализацию разделим на три этапа.

Этап 1.  Внесение изменений в конфигурацию (неприятный этап). Добавление табличной части в справочник  "ДополнительныеОтчетыИОбработки"

Этап 2. Добавление табличной части на форму Дополнительной обработки с настройкой обработчиков событий для связки параметров с командами. Для этого можно использовать механизм расширений конфигурации и выглядеть например как на картинке.

Этап 3. Использование параметров непосредственно во внешней обработке. Рассмотрю на примере внешней печатной формы.

  1.  Добавим в обработку табличную часть аналогично созданной на  Этапе 1 за исключением реквизита "Идентификатор" (можно скопировать и удалить лишний реквизит)   
  2.   Получение параметров. В ВПФ их можно получить в  экспортной процедуре ПЕЧАТЬ.. Для этого нам нужна ссылка на  дополнительную обработку и имя команды. Ссылку получим из   ПараметрыВывода.ДополнительнаяОбработкаСсылка, а имя команды из КоллекцияПечатныхФорм. Полученные параметры добавим в созданную Табличную часть.. Пример процедуры ПЕЧАТЬ.      
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
	ДополнительнаяОбработкаСсылка = ПараметрыВывода.ДополнительнаяОбработкаСсылка;
	ПараметрыОтбора = Новый Структура;
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактураТ") Тогда
		ПараметрыОтбора.Вставить("Идентификатор", "СчетФактураТ");
        НайденныеСтроки = ДополнительнаяОбработкаСсылка.Сити_Параметры.НайтиСтроки(ПараметрыОтбора);
		Если НайденныеСтроки.Количество() > 0 Тогда
			Для Каждого Строка Из НайденныеСтроки Цикл
				НовыйПараметр = Сити_Параметры.Добавить();
				НовыйПараметр.Имя      = Строка.Имя;
				НовыйПараметр.Значение = Строка.Значение;
			КонецЦикла;
		КонецЕсли;	
		
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"СчетФактураТ", "Счет-фактура",
		ПечатьСчетовФактур981(МассивОбъектов, ОбъектыПечати, "ТекстЗапроса"));
	ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактураД") Тогда
		//
	ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактура981") Тогда
		//
	КонецЕсли;
	
КонецПроцедуры
  1. Использование параметров в печатной форме.
Процедура ВывестиСчетФактуруВТабличныйДокумент(ТабДокумент, Макет, ВыборкаСФ, ЭтоУниверсальныйПередаточныйДокумент = Ложь)
	
    //.....
    //..... 
	
	ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
	
    //Передача параметров в Табличный документ 
	СтрутураПараметровВПФ = Новый Структура;	
	Для Каждого Строка Из Сити_Параметры Цикл
		СтрутураПараметровВПФ.Вставить(строка.Имя, Строка.Значение);
	КонецЦикла;	
    ОбластьМакета.Параметры.Заполнить(СтрутураПараметровВПФ);
	
	ТабДокумент.Вывести(ОбластьМакета);
	
КонецПроцедуры

 

См. также

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

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

1800 руб.

21.11.2024    7539    37    23    

41

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

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

22.05.2025    2244    95    seperblunt    6    

22

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

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

12.05.2025    2253    PROSTO-1C    1    

15

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

Наткнулся на костыль по работе с ролями. Хочу поделиться, как не попасть на это странное поведение БСП.

07.05.2025    5824    dsdred    32    

87

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

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

29.04.2025    2333    krasnoshchekovpavel    7    

18

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

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

01.04.2025    1560    krasnoshchekovpavel    0    

10

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

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

24.03.2025    2218    GeraltSnow    6    

31

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

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

10.02.2025    5715    John_d    24    

55
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Bassgood 1469 18.10.17 19:30 Сейчас в теме
(0) Вот здесь это реализовано без изменения конфигурации: https://infostart.ru/public/627824/
Merkalov; +1 Ответить
2. duhh 239 19.10.17 12:19 Сейчас в теме
(1) И правда, надо было сначала поискать, а потом выкладывать статью.
4. Bassgood 1469 19.10.17 12:55 Сейчас в теме
(2) Да, все верно, указанная мною обработка заточена на установку параметров выполнения регл. задания (как наиболее наболевшее), но в целом ее можно довести до более универсального варианта - реализовать привязку параметров обработки к ее командам (например, в виде табличной части) и использовать ее не только для выполнения серверных команд.
Просто во внешних обработках, предназначенных для выполнения регл. заданий, редко используется несколько команд запуска этих самых заданий, обычно под каждое регл. задание создается отдельная внешняя обработка с одной командной запуска (но в целом, никто не мешает создать в обработке нужное количество параметров под каждую команду, а визуально разграничить их между собой уже в форме установки параметров).
3. duhh 239 19.10.17 12:32 Сейчас в теме
(1)Вот только, судя по описанию, в вашем подходе параметры не привязываются к командам, а мне нужно было, именно для каждой команды обработки свои параметры. Но скорей всего при вашем подходе это тоже можно реализовать, добавив к параметрам еще и идентификатор команды.
5. user705393_den 06.10.23 13:19 Сейчас в теме
(1) У вас платная обработка. А здесь бесплатно. Вот вам и разница существенная.
6. Bassgood 1469 06.10.23 13:32 Сейчас в теме
(5) Во-первых, она условно-платная (за стартмани, а не за рубли, то бишь для авторов публикаций на ИС практически даром), во-вторых, если для Вас 100 руб. это существенная сумма, ради которой Вы готовы вносить в типовую конфигурацию свои изменения (а если она стоит на поддержке, то снимать с нее) с реализацией своего собственного механизма, вместо того, чтобы воспользоваться уже готовым и понятным шаблоном для этого дела, использующий типовые механизмы конфигурации (а не добавляет в нее новый "велосипед"), то этот вариант, конечно, для Вас :)
7. user705393_den 06.10.23 14:15 Сейчас в теме
(6) да это все не важно. Факт есть факт. Здесь бесплатная, у вас платная. Хоть за 5 руб. И вы сюда вставили свою обработку, чтобы за счет этой статьи продать ее. Вот и все.
8. Bassgood 1469 06.10.23 14:43 Сейчас в теме
(7) У вас всегда есть выбор - приобретать что-то "платное" и более качественное, или бесплатно изобретать свой очередной "велосипед", это уж кому как нравится.
p.s. От автора данной публикации возражений я не увидел, но Вас это почему-то очень сильно волнует? ;)
Не вижу от Вас каких-то бесплатных и качественных разработок на ИС, почему не делитесь ими, или нет желания бесплатно тратить на это время? ;)
Оставьте свое сообщение