Регламентные/фоновые задачи с запуском внешней обработки подгруженной в справочник или указанного на диске файла (*.epf). Управляемые формы/Обычные формы

30.09.19

База данных - Инструменты администратора БД

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Консоль заданий с выбором внешней обработки или указания файла (УФ/ОФ)
.epf 49,54Kb ver:1.1.3
43
43 Скачать (1 SM) Купить за 1 850 руб.

Процедура регламентного задания:

Процедура мод_ВнешняяОбработка(Код=Неопределено) Экспорт
	Если Код=Неопределено Тогда
		ЗаписьЖурналаРегистрации("Регламентное задание. Внешняя обработка: ОШИБКА! Не правильно указан параметр '"+Код+"'", УровеньЖурналаРегистрации.Предупреждение);
	Иначе
		СсылкаНаВнешнююОбработку = Неопределено;
		Если СтрНайти(Код,"\")>0 Тогда
			ДвоичныеДанные = Новый ДвоичныеДанные(Код);
			Если ДвоичныеДанные=Неопределено Тогда
				ЗаписьЖурналаРегистрации("Регламентное задание. Внешняя обработка: ОШИБКА! Не получилось получить ДвоичныеДанные '"+Код+"'", УровеньЖурналаРегистрации.Ошибка);
				Возврат;
			КонецЕсли;	
		Иначе
			Если НЕ Метаданные.Справочники.Найти("ВнешниеОбработки")=Неопределено Тогда
				ИмяМетаданного = "ВнешниеОбработки";
            	ИмяРеквизитыХранилища = "ХранилищеВнешнейОбработки";
			ИначеЕсли НЕ Метаданные.Справочники.Найти("ДополнительныеОтчетыИОбработки")=Неопределено Тогда
				ИмяМетаданного = "ДополнительныеОтчетыИОбработки";
            	ИмяРеквизитыХранилища = "ХранилищеОбработки";
			Иначе
				Возврат;
			КонецЕсли;	
			Выполнить("СсылкаНаВнешнююОбработку = Справочники."+ИмяМетаданного+".НайтиПоКоду("""+Код+""");");
			Если НЕ СсылкаНаВнешнююОбработку.Пустая() Тогда
				ДвоичныеДанные = СсылкаНаВнешнююОбработку[ИмяРеквизитыХранилища].Получить(); 
			Иначе
				ЗаписьЖурналаРегистрации("Регламентное задание. Внешняя обработка: ОШИБКА! В справочнике "+ИмяМетаданного+" не найдена обработка по коду '"+Код+"'", УровеньЖурналаРегистрации.Ошибка);
				Выполнить("СсылкаНаВнешнююОбработку = Справочники."+ИмяМетаданного+".НайтиПоНаименованию("""+Код+""",Истина);");
				Если НЕ СсылкаНаВнешнююОбработку.Пустая() Тогда
					ДвоичныеДанные = СсылкаНаВнешнююОбработку[ИмяРеквизитыХранилища].Получить(); 
				Иначе
					ЗаписьЖурналаРегистрации("Регламентное задание. Внешняя обработка: ОШИБКА! В справочнике "+ИмяМетаданного+" не найдена обработка по наименованию '"+Код+"'", УровеньЖурналаРегистрации.Ошибка);
					Возврат;
				КонецЕсли;
			КонецЕсли;
		КонецЕсли;	
	 	Попытка
			АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
			ИмяОбработки = ВнешниеОбработки.Подключить(АдресВоВременномХранилище, , Ложь);
			внОбработка = ВнешниеОбработки.Создать(ИмяОбработки);
			Попытка
				внОбработка.ВыполнитьЗадание();
			Исключение
				ЗаписьЖурналаРегистрации("Регламентное задание. Внешняя обработка: ОШИБКА! Внешняя обработка '"+СсылкаНаВнешнююОбработку+"' должна иметь в модуле экспортную процедуру 'ВыполнитьЗадание() Экспорт'", УровеньЖурналаРегистрации.Ошибка);
			КонецПопытки; 
		Исключение 
			ЗаписьЖурналаРегистрации("Регламентное задание. Внешняя обработка: ОШИБКА! '"+ОписаниеОшибки()+"'", УровеньЖурналаРегистрации.Ошибка);
		КонецПопытки;
	КонецЕсли; 
КонецПроцедуры

Данный блок тестировался на конфигурациях: УПП 1.3.124.2, БП 3.0.67.43, БП 2.0.66.77 и будет работать в любой типовой и НЕ типовой конфигурации, при условии выбора файла в качестве внешней обработки.

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

В коде описано 2 вида справочника: ВнешниеОбработки с реквизитом ХранилищеВнешнейОбработки (это в конфигурации УПП, БП2.0, Комплексная и т.п.) и ДополнительныеОтчетыИОбработки с реквизитом ХранилищеОбработки (это БП 3.0 и т.д.)

П.С. Если Вы используете запуск обработки через указанный путь к файлу, и  если у пользователя, под которым запускается данное регламентное задание стоит галка Защита от опасных действий, то нужно: либо снять галку, либо зайти под данным пользователем и открыть указанный файл в базе, и дать согласие на открытие.

П.П.С. По умолчанию в форме Консоля заданий указано имя Регламентного задания мод_ВнешняяОбработка. Если же Вы в качестве имени в своей базе укажите какое-то другое, то имя можно поменять в Модуле объекта обработки ИмяРегламентногоЗаданияДоработка

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

Процедура ВыполнитьЗадание() Экспорт
     //Текст процедуры
КонецПроцедуры

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    19673    131    70    

133

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

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

15000 руб.

10.11.2023    12895    53    33    

72

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    11747    51    8    

80

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    34568    109    152    

75

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    74285    629    45    

88

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

3600 руб.

06.02.2017    32995    145    18    

51

Инструменты администратора БД Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10430    10    4    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gucci76 366 26.09.12 11:11 Сейчас в теме
За качественное оформление уже достойно плюса!
Спасибо.
2. bobaG 62 26.09.12 11:39 Сейчас в теме
3. EmpireSer 26.09.12 23:32 Сейчас в теме
А можно выложить не только обработку, а архив с обработкой и картинками настройки (можно их и в doc оформить)?
4. iones 197 27.09.12 10:30 Сейчас в теме
(3) EmpireSer, а что Вам мешает сохранить картинки и составить инструкцию самим?
5. vladismi 168 28.09.12 10:28 Сейчас в теме
6. alexey_1c 28.09.12 10:31 Сейчас в теме
7. fishca 1260 28.09.12 10:45 Сейчас в теме
8. iones 197 01.10.12 14:07 Сейчас в теме
Пожалуйста =)
пользуйтесь на здоровье!
Только одно хочу добавить, во внешней обработке нужно создавать форму, обязательно. Иначе при подгрузке в во внешние обработки, будет ругаться.
9. Raminus 01.10.12 14:46 Сейчас в теме
хорошо оформлено, зачет! :)
10. iones 197 03.10.12 12:00 Сейчас в теме
И еще...учтите что при подвязке внешней обработки в регламентные задачи, в результате не отрабатываются некоторые команды, т.е. завершится с ошибкой!
Например:
Предупредить(), НайтиФайлы(), Вопрос(), вроде Сообщить() и т.п.
Это ограничение самой 1С, то что выполняется строго на клиенте.
22. yuraos 1006 02.04.13 13:45 Сейчас в теме
(10)
Плюс за смекалку!
---
Вызов
 Сообщить()
на стороне сервера исключения не вызывает - просто игнорися.

Остальное верно для клиент-серверной базы, где задания крутятся на сервере 1С.

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

Правда более правомерно сказать "а кому это надо"?
У планировщика глаз нет!
:)
23. yuraos 1006 02.04.13 14:03 Сейчас в теме
(22)
мое замечание - только для обычного приложения!
в управляемом все более занятно
...
Из-за задницы с инкапсуляцией функционала для переиспользования:
Один из старых способов (еще с 8.0) - размещать функционал в модуле объекта
с доступом через Объект
Новый способ (появился в 8.2) - размещать функционал в модуле менеджера объекта
с доступом через МенеджерОбъекта
Ни то - ни другое на стороне клиента - НЕ ДОСТУПНО!
---
Поэтому приходится все выполнять на стороне сервера,
даже если обращение к базе данных не требуется.
:)
11. Кебабыч 25 12.12.12 17:10 Сейчас в теме
Спасибо, реально полезная обработка. Удивительно что подобные очень удобные мелочи не включаются в стандарт системы...
12. TrinitronOTV 16 19.12.12 06:29 Сейчас в теме
спасибо автору за данный труд, забираю себе для работы
13. isn 15 18.01.13 12:34 Сейчас в теме
Спасибо автору за данную разработку. Очень интересная идея, попробую приобщить к своей работе.
14. iones 197 18.01.13 15:32 Сейчас в теме
Пользуйтесь с удовольствием!
Прост когда-то передо мной также стояла задача усовершенствовать фоновую задачу, менять параметры, добавлять некие условия. Каждый раз приходилось вмешиваться в конфигурацию, в результате родилась идея подключения внешней обработки.
15. dyak84 21.02.13 19:41 Сейчас в теме
Спасибо за идею и за работу. автор подскажите ваша обработка будет работать с УТ для украины типовой
16. Alex1c 32 28.02.13 23:23 Сейчас в теме
Откуда на 12 скрине берется форма для добавления регламентного задания для внешней обработки?
SirYozha; +1 Ответить
17. iones 197 04.03.13 11:13 Сейчас в теме
(16) Alex1c, если внимательно всмотреться в скрины, то это обработка создается Вами, и загружается в базу, во внешние обработки.
Вроде подробные сканы, а вопросы остаются... =))
18. Alex1c 32 05.03.13 20:06 Сейчас в теме
Свою обработку я с закрытыми глазами узнаю )) Речь идет о форме с заголовком "Новое регламентное задание" в которой предлагается выбрать внешнюю обработку и установить для нее расписание.
Попробовал сделать все по инструкции. Не работает. В журнале ошибка "Количество фактических параметров фонового задания не совпадает с количеством параметров метода фонового задания. ". Ошибка возникает при вызове общего модуля с параметрами. Если передача параметров не предусмотрена, модуль вызывается. В качестве параметра вы передаете код и затем ищете обработку по коду. Каким образом вы передаете параметр "код" в общий модуль?
19. Alex1c 32 06.03.13 00:58 Сейчас в теме
С параметром так и не разобрался. Для своей задачи чуть упростил. Сделал два регламентных задания и соответственно два общих модуля. Одно задание выполняется раз в 10 минут, второе один раз в день. В общих модулях не используется поиск по передаваемому в параметре коду обработки, а выполняются соответственно все обработки из папки "Автомат 10 минут" и из папки "Автомат 1 день". Для генерации и отправки ежедневных отчетов папка "Автомат 1 день". Сколько в ней обработок , столько и будет рассылаться. Для синхронизации со сторонней базой вторая папка с более частым запуском. За идею плюс поставил ))
20. eaKozlova 2 02.04.13 11:07 Сейчас в теме
Большое спасибо за идею и экономию времени. Плюс.
21. irbush 02.04.13 12:28 Сейчас в теме
Спасибо большое очень облегчит работу с заданиями.
24. SpartakM 73 12.04.13 05:02 Сейчас в теме
Не совсем понял, откуда взялась форма регламентного задания, где можно указать, какую конкретно обработку запускать?
можете пояснить?
25. Alex1c 32 12.04.13 18:26 Сейчас в теме
(24)+1 Я в (16) спрашивал, но ответ автора не пояснил вопрос
26. SpartakM 73 12.04.13 20:12 Сейчас в теме
(25)обработка, которая создает регламентные задания, находится в файле статьи.
можешь скачать.....
27. iones 197 16.04.13 15:00 Сейчас в теме
(25) Alex1c, обработка добавления нового, или редактирования существующего фонового задания (только с прикрепленной внешней обработкой) прикреплена к данной статье.
Светлый ум; +1 Ответить
28. kser87 2469 31.10.13 15:34 Сейчас в теме
Библиотека стандартных подсистем. Такая хорошая штука. И почему никто туда не смотрит?

Подсистема "Дополнительные отчеты и обработки"
Подсистема "Регламентные и фоновые задания"

Взял, да скопировал в свою конфу. И делов-то.
29. zhloby3k 16 01.11.13 14:25 Сейчас в теме
Как раз недавно избавлялись от создания временных файлов при создании внешних обработок в фоновых заданиях.
Получилось как-то так:

 
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(СсылкаНаВнешнююОбработку, "ХранилищеОбработки");
ИмяОбработки = ВнешниеОбработки.Подключить(НавигационнаяСсылка, Имя, Ложь);

ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяОбработки);
ВнешняяОбработка.ОбработатьУведомление(Источник, СсылкаНаВнешнююОбработку);
Прикрепленные файлы:
vsozansky; sanfoto; iones; МимохожийОднако; +4 Ответить
32. iones 197 30.01.14 14:37 Сейчас в теме
(29) zhloby3k, спасибо за подсказку! Подправил =)
30. Abadonna 3970 03.11.13 04:30 Сейчас в теме
(0)
Каждый раз лезть в конфигуратор, и вручную добавлять новое регламентное задание, как-то не удобно.

Пару лет назад сделал по другому, и никаких внешних обработок:
Универсальное регламентное задание
alex-l19041; МимохожийОднако; vkr; +3 Ответить
31. Lemkus 05.11.13 13:01 Сейчас в теме
Часто такая задача возникает, когда нельзя менять конфигурацию.
Для такого случая предложенное решение не подходит.
Мне больше понравилась оригинальная идея, предложенная в это статье http://infostart.ru/public/151693/
33. podzemelchik 26.05.14 15:00 Сейчас в теме
Подскажите пожалуйста, как происходит заполнение параметра процедуры "мод_ВнешняяОбработка"?
34. iones 197 19.09.14 17:18 Сейчас в теме
(33) podzemelchik, присмотритесь повнимательнее к скрину 6.
Создается новая регламентная задача, и указывается процедура мод_ВнешняяОбработка.
В данную обработку передается Код элемента справочника Внешние обработки.
А как создать новую фоновую задачу, обработка во вложении.
35. Белка13 13 30.09.14 15:51 Сейчас в теме
Создала:Регл.задан -"мод_ВнешняяОбработка" и ОбщийМодуль-"мод_ОбщийМодуль"!
Закрепила обработку.( В модуле ______Процедура ВыполнитьЗадание() Экспорт)
Запустила "Регламентные и фон. задания"!
Фон.задания: Состояние= Задание выполнено
Но обработка не отработала! Хотя с формы по кнопке--- отлично проходит!
Что может быть?
36. natarezn 25.06.15 08:47 Сейчас в теме
Хочется автору сказать спасибо! отпринтскринила все ! боюсь забыть где это . пишу сейчас обработку под регламент :)
37. Светлый ум 454 28.10.15 08:44 Сейчас в теме
Скорость выполнения фонового задания (для обычной обработки с экспортной процедурой ) была значительно ниже, чем вызов процедуру обработки bat файлом.
пример:
38. user983240 13.12.23 12:47 Сейчас в теме
как
мод_ВнешняяОбработка(Код=Неопределено)
сюда код передать?
Оставьте свое сообщение