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

30.09.19

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Консоль заданий с выбором внешней обработки или указания файла (УФ/ОФ)
.epf 49,54Kb ver:1.1.3
42
42 Скачать (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 Россия Платные (руб)

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

8400 руб.

20.08.2024    12616    99    42    

101

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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    10010    48    5    

78

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

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

15000 руб.

10.11.2023    11398    40    27    

66

SALE! %

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

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

4800 3840 руб.

14.01.2013    190552    1150    0    

918

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

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

14400 руб.

29.04.2020    33587    109    152    

74

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

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

3600 руб.

06.02.2017    32489    145    18    

51

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

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

6000 руб.

06.11.2012    73530    629    45    

88

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

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

3000 руб.

21.07.2022    10092    9    4    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 1259 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 1005 02.04.13 13:45 Сейчас в теме
(10)
Плюс за смекалку!
---
Вызов
 Сообщить()
на стороне сервера исключения не вызывает - просто игнорися.

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

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

Правда более правомерно сказать "а кому это надо"?
У планировщика глаз нет!
:)
23. yuraos 1005 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 2450 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 3969 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. Светлый ум 438 28.10.15 08:44 Сейчас в теме
Скорость выполнения фонового задания (для обычной обработки с экспортной процедурой ) была значительно ниже, чем вызов процедуру обработки bat файлом.
пример:
38. user983240 13.12.23 12:47 Сейчас в теме
как
мод_ВнешняяОбработка(Код=Неопределено)
сюда код передать?
Оставьте свое сообщение