23.01.2020 Евгения Скунцева 52732
Запуск внешних обработок 1С из внешних обрабо...

Содержание:

1. Как запустить вручную обработку

2. Обработка из файла

    

Эта статья появилась в результате решения интересной задачи. Мы захотели поделиться опытом. Итак задача: нужно запускать по регламенту существующую уже обработку Выгрузка данных и загрузка данных в формате XML с определенными параметрами, но так, чтобы не менять типовую конфигурацию. Она могла бы называться «Программный запуск внешних обработок по регламенту в 1С 8.3».


Считаю, что всю информацию по данной теме нужно собрать в одном месте.

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


Чтобы не возникло путаницы, далее будем называть Главной обработкой ту, которую планируем запускать с помощью регламентной, а Фоновой обработкой ту, которая будет выполнять функцию регламентного задания для запуска Главной обработки.


Первым делом готовим Главную обработку. Все функции, которые вы планируете использовать при запуске Главной обработки в фоне, должны быть экспортными и должны находиться в модуле объекта данной Главной обработки.




Затем создаем Фоновую внешнюю обработку, которая будет работать как регламентное задание. Для этого в Сведениях о внешней обработке указываем следующий код:


Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.4.5.71");

ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");    ПараметрыРегистрации.Вставить("Наименование", "Автоматическая выгрузка XML");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", "Автоматическая выгрузка XML");

НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление=НСтр("ru = 'Автоматическая выгрузка XML'");
НоваяКоманда.Идентификатор="АвтоматическаяВыгрузкаХМЛ";
НоваяКоманда.Использование="ВызовСерверногоМетода";
НоваяКоманда.ПоказыватьОповещение=Истина;
НоваяКоманда.Модификатор="";

Возврат ПараметрыРегистрации;

КонецФункции


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




Далее создаем в модуле объекта Фоновой обработки процедуру ВыполнитьКоманду(Идентификатор, ОбъектыНазначения) Экспорт




В таком варианте обработки не нужно добавлять никаких форм.

Далее есть два варианта вызова Главной обработки.  


1. Как запустить вручную обработку


Если вы планируете прикрепить свою Главную обработку к конфигурации, тогда в Фоновой обработке в функции ВыполнитьКоманду можно использовать указанный ниже вызов Главной обработки:


ВнешняяОбработка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Выгрузка и загрузка данных XML");
ДвоичныеДанные = ВнешняяОбработка.ХранилищеОбработки.Получить();
ИмяВременногоФайла = КаталогВременныхФайлов()+"ОбработкаХМЛ.epf";
ДвоичныеДанные.Записать(ИмяВременногоФайла);
СтруктураЗащита=новый ОписаниеЗащитыОтОпасныхДействий;
СтруктураЗащита.ПредупреждатьОбОпасныхДействиях=ложь;
//Создаем структуру защиты от опасных действий
Обработка = ВнешниеОбработки.Создать(ИмяВременногоФайла,Ложь,СтруктураЗащита);
Обработка.Инициализация();




Это ответ на вопрос как запустить вручную.   


2. Обработка из файла


Если вы планируете запускать внешнюю обработку из файла, тогда можно использовать такой код:


АдресХранилища = "";
СтруктураЗащита=новый ОписаниеЗащитыОтОпасныхДействий;
СтруктураЗащита.ПредупреждатьОбОпасныхДействиях=ложь;
Обработка = ВнешниеОбработки.Создать("\\192.168./ваш ip/\Выгрузка и загрузка данных XML_3_0.epf",ложь,СтруктураЗащита);          
Обработка.Инициализация();


Очень важно при запуске из файла указать и задать полный путь к файлу. Также важно чтобы папка, в которой будет храниться Главная обработка, была доступна по сети. Все дело в том, что фоновое задание будет выполняться на сервере. Если настроена клиент-серверная система работы, у сервера может не быть доступа к тем папкам, к которым есть доступ у клиента и у пользователя с его локальной машины. Также и при указании локальных папок, к примеру, «С:\имяГлавнойОбработки.epf» - можно получить ошибку, потому что у сервера может быть свой диск С, на котором он и будет искать папку при запуске Фоновой обработки. Поэтому лучше конкретизировать путь с указанием ip-адреса.


Также очень важно при создании обработки ставить параметр ПредупреждатьОбОпасныхДействиях в значение ложь. Далее скажу об этом подробнее.

После нужно подключить Фоновую обработку и настроить ее выполнение в фоне






После можно найти свою внешнюю обработку в списке Регламентный заданий. Для этого нужно открыть Администрирование – Обслуживание - Регламентные операции - Регламентные и фоновые задания.






И здесь, в списке фоновых заданий, иногда можно получить ошибку такого вида:

Предупреждение безопасности
Открывается "Выгрузка и загрузка данных XML" из файла "C:\Users\tempout\AppData\Local\Temp\ОбработкаХМЛ.epf".



Рекомендуется обращать внимание на источник, из которого был получен данный файл. Если с источником нет договоренности о разработке дополнительных модулей или есть сомнения в содержимом файла, то его не рекомендуется открывать, поскольку это может нанести вред компьютеру и данным.
Разрешить открывать данный файл?




Мы поставили параметр ПредупреждатьОбОпасныхДействиях в значение ложь для Главной обработки программно. Для Фоновой обработки нужно сделать следующее:


1) Указать в регламентном задании пользователя с полными правами можно и с правом на открытие внешних обработок, если это предусмотрено конфигурацией.




2) Снять у выбранного пользователя галку «Защита от опасных действий» в конфигураторе.




Готово! Вы потрясающие!

Специалист компании ООО «Кодерлайн» 

Евгения Скунцева.


Наши проекты

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

- Взаиморасчеты с поставщиками
- Учет прихода ТМЦ
- Взаиморасчеты с поку...

ОАО «Интер РАО – Электрогенерация»
ОАО «Интер РАО – Электрогенерация»

Отрасль:
Электрогенерация

Внедренное типовое решение:
1С:Управление производственным предприятием

Для работы 2500 пользователей в 9 часовых поясах организована территориально-...

Автоматизация кадрового учета на базе «1С:ERP Управление предприятием 2.0»
Автопредприятие ПАО «Газпром»

Отрасль:
Транспорт

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Настройка подсистемы кадрового учета;
- Перенос персональных данных;
- З...

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

Внедренное типовое решение:
1С:Управление холдингом 1.3.

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную...

Внедрение 1С:Управление торговлей
ООО «Амперсенд»

Отрасль:
Оптовая торговля

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам;
- Управление отношениями с поставщиками;...

ООО "Эскорт-Центр"
ООО "Эскорт-Центр"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Сквозной учет затрат по объектам
- Бухгалтерский учет
- Расчет зарплаты...

ОАО «Фаберлик»
ОАО «Фаберлик»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление производственным предприятием 2

- Регламентированный учет;
- Кадровый учет;...

Автоматизация кадрового учета на базе ПП "1С:Зарплата и управление персоналом" в ТД НМК
ООО «Торговый дом Нальчикский молочный комбинат»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Кадровый учет;
- Расчет зарплаты;
- Регламентированная отчетность;
- А...

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламенти...

ООО «Вистеон Автоприбор Электроникс»
ООО «Вистеон Автоприбор Электроникс»

Отрасль:

Внедренное типовое решение:
1C:Управление производственным предприятием

- Управленческий учет; - Расчет зарплаты; - Логистика адресного склада; - Учет ...

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

Внедренное типовое решение:
«1С:Управление корпоративными финансами»

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение