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

16.01.22

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

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

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

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

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

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

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

 

 

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

 

 

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

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

См. также

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

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

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

01.03.2024    1282    dimanich70    6    

13

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

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

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

12.02.2024    687    FilippovRI    0    

15

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

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

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

07.02.2024    2349    YA_418728146    11    

40

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

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

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

19.01.2024    5161    PROSTO-1C    5    

45

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

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

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

15.01.2024    3798    0    Infostart    0    

20

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

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

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

28.12.2023    4830    mrXoxot    11    

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

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

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

Показать


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


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

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

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