БСП, использование типового механизма 1с для запуска регламентных заданий с заранее подготовленными настройками.

03.01.14

Разработка - Математика и алгоритмы

Описание варианта запуска регламентного задания на БСП, без изменения типовой конфигурации.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Шаблон обработки для регламентного задания с сохранением настроек.
.epf 12,78Kb
175
175 Скачать (1 SM) Купить за 1 850 руб.

Кто не сталкивался с необходимостью  запускать свои регламентные задания??? Наконец-то в типовом решении появилась возможность запускать выполнение внешней обработки через регламентное задание.

Впервые увидел реально  удобную  вещь на //infostart.ru/public/103071  для  собственных  разработок неплохая основа на обычных формах.Основная идея -  передавать регламентному заданию заранее подготовленную настройку.

Еще  имеется несколько  вариантов  применения запуска регламентных заданий с использованием плана обмена и 

//infostart.ru/public/151693/ и http://dev.1tsm.ru/project/114.

 

Сформулирую задачу:

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

Сама обработка во вложении (в моей конфе реально работающая,  вам предлагаю посмотреть в качестве примера.)

Глубоко обработку расписывать не буду - см. код в обработке.

 

Заготовка взята  из демо базы БСП.  Создаем свою форму. Добавляем необходимые реквизиты и табличные части.. 

В общем-то  обычная внешняя обработка. Добавляем кнопку "сохранить настройки".

 

 

 В модуле обработки  в описании задаем две команды. Одна  потребуется для открытия  формы обработки, другая выполняется на сервере в регламентном задании.

 

 

 Добавляем  обработку  в дополнительные отчеты и обработки.  Для команды "Обновить часы" устанавливаем использование регламентного задания, задаем само регламентное задание. Указываем, что  обработка относится к административному блоку. 

 

Настраиваем выбранный раздел. 



Остальное - дело техники.  

 

бсп регламентные задания настройка регламентных заданий

См. также

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

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    4280    17    15    

20

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

Всё больше организаций выбирает для серверов под 1С операционные системы Linux. Одним из отличий систем Windows и Linux является отсутствие COM объектов, которые зачастую использовались для формирования печатных форм офисных документов (Word). Конечно, можно выполнять печать и на клиенте, но есть риск импортозамещения. В работе у меня случались проблемы с зависанием процесса Word, поэтому я не люблю его использовать.

29.07.2024    6579    PROSTO-1C    16    

53

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

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

07.02.2024    4502    YA_418728146    11    

53
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 03.01.14 15:21
Сообщение было скрыто модератором.
...
2. пользователь 08.01.14 11:48
Сообщение было скрыто модератором.
...
3. polukaroff 3 12.09.15 16:45 Сейчас в теме
Хороший механизм.
Одно но: в прикрепленной обработке заголовок процедуры Выполнить команду выглядит так:

Процедура ВыполнитьКоманду(ИдентификаторКоманды,ПараметрыКоманды,парам=Неопределено) Экспорт

А вызывается она из Модуля доп.отчеты и обработки так:
Если ПараметрыКоманды = Неопределено Тогда
ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды);
Иначе
ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыКоманды);
КонецЕсли;

То есть если ПараметрыКоманды =Неопределено - возникает ошибка, надо заголовок писать так:

Процедура ВыполнитьКоманду(ИдентификаторКоманды,ПараметрыКоманды = Неопределено, парам = Неопределено) Экспорт
4. Vengetto 16.12.15 16:27 Сейчас в теме
Я заказал обработку, почему она до сих пор не пришла ко мне на почту?
5. almas 259 17.12.15 14:40 Сейчас в теме
(4) Vengetto,
Сожалею. Я в данном случае не виноват. Не отработал Робот инфостарта..
6. 987123321 31.10.16 19:56 Сейчас в теме
очень полезная статья
7. ppk2006 20.01.17 09:53 Сейчас в теме
Добрый день!
Не могли бы, пожалуйста, подсказать как сохранить параметры для выполнения обработки в форме НастройкаПараметров, чтобы они использовались при выполнении Регламентной операции?
8. ja-maik-a 13.08.18 12:03 Сейчас в теме
Подскажите, возможно ли сделать запуск внешней обработки по расписанию в отдельном сеансе с открытием формы внешней обработки, в которой будет выводится процесс выполнения обработки?
9. pavelkusov 06.03.19 16:11 Сейчас в теме
Описание процесса неполное и, соответственно, не корректное. То есть, если сделаете в точности как тут написано, работать не будет. Возможно, в обработке сделано нормально - не знаю. Польза от статьи лишь в том, что она рассказывает о существовании данного механизма в 1С. Скачайте БСП и посмотрите в демо базе. Там все корректно и работает.
Вот пример правильного модуля объекта:

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// Возвращает сведения о внешней обработке.
//
// Возвращаемое значение:
// Структура - Подробнее см. ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке().
//
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Информация = НСтр("ru = 'Обработка сервисных функций полнотекстового поиска. Используется для демонстрации возможностей подсистемы ""Дополнительные отчеты и обработки"".'");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Версия = "2.4.1.1";

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

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

Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = НСтр("ru = 'Управление полнотекстовым поиском'");
Команда.Идентификатор = "ОткрытиеФормы";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Команда.ПоказыватьОповещение = Истина;

Описание = НСтр("ru = 'Для управления индексом полнотекстового поиска требуется установка привилегированного режима.'");
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима(Описание);
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);

Возврат ПараметрыРегистрации;
КонецФункции

// Обработчик серверных команд.
//
// Параметры:
// ИмяКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// ПараметрыВыполнения - Структура - Контекст выполнения команды.
// * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка обработки.
// Может использоваться для чтения параметров обработки.
// Пример см. в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы().
//
Процедура ВыполнитьКоманду(Знач ИмяКоманды, Знач ПараметрыВыполнения) Экспорт
Если ИмяКоманды = "Исключение" Тогда
ВызватьИсключение НСтр("ru = 'Прикладной текст исключения'");
КонецЕсли;
Если ИмяКоманды = "ОткрытиеФормы" Тогда
ИмяКоманды = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПараметрыВыполнения, "ИмяКоманды");
КонецЕсли;

// Общие действия перед началом выполнения команд.
УстановитьПривилегированныйРежим(Истина);

// Диспетчеризация обработчиков команд.
Если ИмяКоманды = "ОбновитьИндекс" Тогда
ПолнотекстовыйПоиск.ОбновитьИндекс(Ложь, Ложь);
ИначеЕсли ИмяКоманды = "ОчиститьИндекс" Тогда
ПолнотекстовыйПоиск.ОчиститьИндекс();
Иначе
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Команда ""%1"" не поддерживается обработкой ""%2""'"),
ИмяКоманды,
Метаданные().Представление());
КонецЕсли;

// Имитация длительной операции для демонстрации запуска фонового задания в клиент-серверном режиме.
Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
ДатаОкончания = ТекущаяДатаСеанса() + 4;
Пока ДатаОкончания > ТекущаяДатаСеанса() Цикл
КонецЦикла;
КонецЕсли;

КонецПроцедуры

#КонецОбласти

#КонецЕсли
Оставьте свое сообщение