Вызов дополнительной обработки средствами БСП

16.01.22

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

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

Скачать исходный код

Наименование Файл Версия Размер
Вызов дополнительной обработки средствами БСП:
.epf 7,65Kb
4
.epf 7,65Kb 4 Скачать

Вызов дополнительной обработки средствами БСП

Поддерживает тип команды: ВызовКлиентскогоМетода, ВызовСерверногоМетода,ОткрытиеФормы,СценарийВБезопасномРежиме

Механизм взят из штатного механизма вызова доп.обработок и доработан, как отдельная функция.

 

 

В публикации лежит готовая обработка

 

 

Для чего этот вариант запуска внешней обработки? Пытливые умы напишут, что можно сделать проще и т.п. Моя цель была сделать универсальную функцию, максимально использующую функционал БСП по работе с доп. обработками. Я сделал так. Кто имеет свое мнение – можете сделать свою публикацию – хуже точно не будет!

Проверялось на 1С:Бухгалтерия предприятия, редакция 3.0 (3.0.106.40).

См. также

БСП. Добавляем отчет в меню Отчеты

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

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

02.04.2024    3126    John_d    10    

89

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

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

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

01.03.2024    1682    dimanich70    8    

14

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

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

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

12.02.2024    784    FilippovRI    0    

15

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

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

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

07.02.2024    2607    YA_418728146    11    

43

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

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

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

19.01.2024    6244    PROSTO-1C    5    

46

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

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

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

15.01.2024    3883    0    Infostart    0    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. quazare 3606 16.01.22 15:11 Сейчас в теме
На самом деле не обязательно указывать, что это через БСП. По-умолчанию дополнительные обработки и работа с ними - это и есть БСП. Достаточно сделать обработку- «точку входа» с указанием того, что нужно начать выполнять по расписанию. Так можно выполнять любую обработку или отчет - вообще все что угодно практически…
+
2. AlexHelmer 1726 16.01.22 15:17 Сейчас в теме
(1). Добрый вечер если не трудно выложите в этой ветке пример пускай всё будет лежать в кучке
+
3. quazare 3606 16.01.22 15:19 Сейчас в теме
(2) чуть позже, делал год назад, там код - несколько строк
+
4. quazare 3606 16.01.22 15:45 Сейчас в теме
в модуле внешней обработки достаточно прописать экспортную функцию "ВыполнитьКоманду". (внешнюю обработку повесить на расписание)

Функция СведенияОВнешнейОбработке() Экспорт
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.1.1.1");
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
	ПараметрыРегистрации.БезопасныйРежим = Ложь;
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = "Автоотправка";
	НоваяКоманда.Идентификатор = НоваяКоманда.Представление;
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	
	Возврат ПараметрыРегистрации;
КонецФункции

Функция ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыКоманды) Экспорт
	Если ИдентификаторКоманды = "Автоотправка" Тогда
	// Здесь поставьте выполнение вашей команды
	КонецЕсли;
КонецФункции

Показать


с вашего позволения я дам здесь ссылку на одну из своих статей по Длительным операциям в фоновом режиме
+
5. AlexHelmer 1726 16.01.22 16:03 Сейчас в теме
Как это устроено в самой обработке которую необходимо вызвать всё понятно. сюда бы ещё добавить код как вызывать эту внешнюю обработку зарегистрированную в справочнике дополнительных обработок из другой обработки кликнув кнопку на форме. Тогда бы был законченный фрагмент который можно было бы использовать в своих целях
+
8. maraty 438 16.01.22 21:32 Сейчас в теме
(5)
ОбработкаСсылка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоРеквизиту("ИмяОбъекта", "ИмяНашейОбработки");
ОбработкаОбъект = ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(ОбработкаСсылка);


У обработки объекта соответственно можем вызывать экспортные процедуры и функции.

Есть еще одна возможность. Просто открываем форму подключенной обработки. Без каких либо ссылок.
ОткрытьФорму("ВнешняяОбработка.ПодключеннаяОбработка.Форма.Форма",
			Новый Структура, 
			ЭтаФорма,,,, 
			Новый ОписаниеОповещения("ОткрытиеПодключеннаяОбработкаЗавершение", ЭтаФорма));
+
10. maraty 438 17.01.22 16:28 Сейчас в теме
(8) Поправлю себя. Во втором варианте ссылка все таки нужна.
Необходимо на сервере предварительно инициализировать обработку.
ОбработкаЗаполнения = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоРеквизиту("ИмяОбъекта", ИмяОбработки);
ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ОбработкаЗаполнения);

А потом уже ОткрытьФорму(...), как написал ранее.
+
6. quazare 3606 16.01.22 16:14 Сейчас в теме
(5) честно сказать, пару лет наверное не писал внешних обработок (когда ушел с УПП) - сейчас, обычно использую общие модули в расширениях
+
7. quazare 3606 16.01.22 17:43 Сейчас в теме
должно это работать так - вы получаете обработку из справочника внешних обработок - сохраняете ее "в темп" и запускаете ее от туда.
+
9. quazare 3606 17.01.22 04:47 Сейчас в теме
ВнешняяФорма = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Имя обработки");
    
ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = ВнешняяФорма.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
    
Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
Форма.Открыть();
Показать
+
Оставьте свое сообщение