Не работает одно регламентное задание 1с

Не стартует добавленное регламентное задание

Конфигурация УТ 11 ПРОФ
Клиент-сервер
Платформа 8.2.16

Есть два задания: типовое («Формирование сегмента номенклатуры») и добавленное свое. Расписание задано одинаковое (каждый день, через 20 секунд).
Добавленное задание вызывает метод из общего модуля (Сервер, Вызов сервера, Привилегированный).

Добавленное стартует один раз и выполняется успешно только по нажатию кнопки «Выполнить сейчас» в обработке «Регламентные и фоновые задания». Типовое — работает нормально (выполняется по заданному расписанию).

Те же задания при запуске в файловом режиме стартуют и выполняются нормально.

Почему добавленное задание может не стартовать автоматически?

Нет, оба задания непредопределенные

А «Использование» установлено в истину?

установите себе менеджер регламентных заданий.

Возможно «Ключ» регламентного задания совпадает. В чем идея использования этого ключа? Например вы создаете несколько регламентных заданий с вызовом одного и того же задания, в силу того что в одном задании порой нельзя задать расписание всех нужных нам вариантов (например, Пн-Пт каждые 10 минут и Сб-Вс каждый час, для этого приходится создавать два задания), так вот есть вероятность того что оба задания могут выполнятся одновременно, чтоб этого не происходило, нужно задать для всех таких заданий один и тот же ключ, при этом если одно из заданий уже выполняется, то другое с таким же ключом не будет стартовать пока не закончится выполнение первого.

Думаю logarifm имел ввиду именно консоль заданий.

P.S. Кстати в консоли заданий есть ошибка из-за которой нет раскраски таблиц, например, задания которые выполняются в данный момент, выводятся в консоли жирным.

Там все нормально. Стандартные задания выполняются без ошибок. Мое задние присутствует в списке регл. заданий, а в разделе фоновые задания записей по нему нет. Но они и правильно, потому что если оно даже не стартует по расписанию, то откуда им там взяться.

А вот если руками создать в консоли заданий фоновое задание и запустить то оно отрабатывается без ошибок.

Путем всех экспериментов сразу хочу сказать, что дело не в коде. Почему то не запускается задание по расписанию, а вот почему не понятно.

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

Относительно того, что задание не запускается, проверь на вкладке «Общие» расписания, должно стоять «Повторять каждые:» 1 (дн.), по умолчанию там 0. И для интереса напиши текст который формируется при изменении расписания, ну типа «каждый день; с 6:00:00 по 23:59:59 каждые 300 сек.»

Стоит 1 день.
каждый день; каждые 120 сек.

Я на другом форуме скрины выкладывал, надеюсь модераторы не удалял ссылку , а то не охото по новой все рассказывать =) там все описано со скринами.

Читайте также:  Дозатор ксиаоми не работает сенсор

Чтобы докопаться до истины, предлагаю включить отладку на сервере (см. как это сделать https://sites.google.com/site/about1c/Home/vklucenie-otladki-na-servere-1s) . В отладчике установить точку останова в вызываемой процедуре. Дождаться вызова и уже по шагам смотреть где затык. Кстати, а в журнале регистраций есть какие-то упоминания о запуске или быть может ошибки связанные с этим заданием?

P.S. Если не секрет, откуда ты взял «консоль заданий»? Та что идет на ИТС, совсем выглядит не так как та что у тебя на картинках. В частности нет кнопки «Запустить задание вручную», а это было бы очень логично иметь такую кнопку, как в твоей обработке.

Если запустить вручную, то регл. задание запускается и отрабатывается все нормально. Если зайти в раздел «Регламентные задания» и запустить его руками («Выполнить сейчас»), то она абсолютно нормально отрабатывает без каких либо ошибок.

Также хочу отметить вот этот момент

В общем дело не в коде 100%. Говорю так, потому что мы провели эксперимент. Добавили код из нашего регл. задания в код регламентного задания «Загрузка курсов валют», которое нормально работает по расписанию. В итоге оно нормально отработалось в автоматическом режиме, в том числе выполнила и наш кусок кода.

Так что проблема не в коде. Мы пошли дальше. создали новое регл. задание полную копию «Загрузка курсов валют» и в итоге она тоже не работает. Такое ощущение, что по расписанию выполняются только стандартные регламентные задания, которые находятся на поддержке, а вновь созданные сервер не обрабатывает.

Источник

Не запускается автоматически регламентное задание 1С

Здравствуйте! Прошу помощи в решении данной проблемы. Редакция УТ 11 управляемое приложение, не запускается !автоматически! добавленное в конфигураторе (предопределенное) регламентное задание, если его в предприятии запустить вручную то выполняется без ошибок:

// Регламентное задание
Процедура ПоискПросроченныхСекторов() Экспорт

Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| ВзаимодействиеКлиентСектор.Партнер
|ИЗ
| РегистрСведений.ВзаимодействиеКлиентСектор КАК ВзаимодействиеКлиентСектор
|ГДЕ
| ВзаимодействиеКлиентСектор.ДатаОкончания = &ТекущаяДата»;
Запрос.УстановитьПараметр(«ТекущаяДата»,НачалоДня(ТекущаяДата()));

Если Выборка.Количество() > 0 Тогда

ТекущиеПартнеры = Новый Массив;

Пока Выборка.Следующий() Цикл
ТекущиеПартнеры.Добавить(Выборка.Партнер);
КонецЦикла;

ЗапросПартнер = Новый Запрос;
ЗапросПартнер.Текст =
«ВЫБРАТЬ
| Партнеры.Ссылка
|ИЗ
| Справочник.Партнеры КАК Партнеры
|ГДЕ
| Партнеры.Ссылка В (&ТекущиеПартнеры)»;
ЗапросПартнер.УстановитьПараметр(«ТекущиеПартнеры»,ТекущиеПартнеры);

Если ВыборкаПартнер.Количество() > 0 Тогда
Пока ВыборкаПартнер.Следующий() Цикл
ОбъектПАР = ВыборкаПартнер.Ссылка.ПолучитьОбъект();
ОбъектПАР.ОсновнойМенеджер = Справочники.Пользователи.ПустаяСсылка();
ОбъектПАР.ГруппаДоступа = Справочники.ГруппыДоступаПартнеров.НайтиПоНаименованию(«Общая»);
ОбъектПАР.Записать();
КонецЦикла;
КонецЕсли;
КонецЕсли;

Расписание: каждый день, с 5:00:00 один раз в день. Галочка использование стоит.

Источник

Регламентное задание работает, но не выполняется

Версия конфигурации: Управление торговлей 10.3
Версия SQL сервера: 2012
Версия платформы 1С: 8.2.19.130

Настроено регламентное задание по обмену данными с распределенными информационными базами по расписанию. Обмен выполняется, когда выполнен вход в базу под пользователем «Обмен», имеющим полные права. До того как базу перенесли на SQL сервер, обмен работал без проблем. После переноса на SQL сервер, по менеджеру заданий видим, что регламеное задание по обмену выполняется по расписанию, но оно выполняется равно 1 секунду и выгрузки/загрузки файла обмена не происходит. То есть задание выполняется по расписанию, но не делает ничего. Блокировка регламентных заданий для этой базы не установлена.
В чем может быть причина такого поведения?

Читайте также:  Рено мастер не работает центральный замок

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Регламентное задание в 8.2
В общем модуле «Бух. учет» (не знаю почему выбрал именно его создал процедуру) В модуле стоят.

Регламентное задание 1с 7.7
Как в семерке сделать регламентное задание, запускающее файл .bat по расписанию?

Регламентное задание в 1с
серверная база, создано два регламентных задания. одно предопределенное — работает норм. второе.

1С 8.2 Виснет регламентное задание
Релиз 8.2.17.143 Клиент-сервер. Есть регламентное задание. Предопределенное. Работает целый день.

Источник

Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download

Лекарство от зависших регламентных заданий

В одной внедряемой информационной системе значение регламентных заданий (РЗ) оказалось очень велико. С помощью них осуществляется автоматизированная проверка и загрузка исходных данных в систему. И надо же было такому случиться, РЗ стали иногда подвисать. Несколько раз в месяц, после перезапуска сервера 1С Предприятия, все РЗ переставали выполняться. Выяснилось, что ситуация легко локально лечится перезаписью каждого РЗ. После чего они начинают нормально работать.

Поиск в Инете показал, что мы не одиноки. Подобная проблема встречается давно, но есть нюансы. Один из хорошо известных случаев, когда сервер sql и сервер 1С стоят на одной машине. После физического перезапуска сервера сервис 1С Предприятия стартует раньше сервиса sql, и модуль обработки регламентных заданий не может ещё прочитать их из базы. И считает, что их нет. Есть даже рекомендация Микрософт для данной ситуации, которая предусматривает настройку зависимости сервиса 1С Предприятия от сервиса sql. То есть он всегда буде стартовать после. Решение! Но это был не наш случай, так как физического перезапуска сервера у нас не было. Только остановка и старт сервиса. Были проанализированы и другие аспекты. Сервер sql работает непрерывно. Базы в кластер если и добавляются, то порядком реже, чем сбоят РЗ. Разделителей нет. После перезапуска сервера 1С Предприятия РЗ стартуют независимо.

Попытка обсуждения на партнерском форуме 1С ни к чему не привела — https://partners.v8.1c.ru/forum/t/1171054/m/1171054. Не смотря на проявленное внимание со стороны сотрудников 1С, рекомендаций по решению не было.

В голове бродили идеи внешнего контроля над работой РЗ. Можно было бы использовать ЦКК, но он только информирует и не исправляет ошибки. Можно было бы запускать 1С с параметром с помощью системного планировщика раз в день, проверять и перезаписывать зависшие РЗ. Но тут на партнерском форуме попалось похожее решение от Евграфова Андрея — https://partners.v8.1c.ru/forum/t/916015/m/1103984. Суть его решения похожа на описанное выше, но метод, на мой взгляд, интереснее. Планировщик запускает vbs, а он в свою очередь запускает через COM 1С и вызывает модуль для контроля РЗ.
Модуль vbs передльно прост:

Dim v82 , base
Set v82 = CreateObject ( «V82.ComConnector» )
ConnString = «Srvr=имя_сервера;Ref=имя_базы»
Set base = v82 . Connect ( ConnString )
base . CheckScheduledTasks

В зависимости от настроек, в строку соединения возможно придется добавить пользователя и пароль: «usr=пользователь;pwd=пароль».

Читайте также:  Банки с которыми не работают судебные приставы

В конфигурацию я добавил процедуру в Модуль внешнего соединения, которая вызывает процедуру из Общего модуля:

Процедура CheckScheduledTasks () Экспорт
РегламентныеЗадания . ПроверитьПерезаписатьРегламентныеЗадания ();
КонецПроцедуры

// Процедура проверяет выполнение и перезаписывает все включенные регламентные задания
Процедура ПроверитьПерезаписатьРегламентныеЗадания () Экспорт
мРЗ = РегламентныеЗадания . ПолучитьРегламентныеЗадания (Новый Структура ( «Использование» , Истина));

Если мРЗ . Количество () = 0 тогда
ЗаписьЖурналаРегистрации ( «Регламентные задания» , УровеньЖурналаРегистрации . Информация . «Отсутствуют Регламентные задания с признаком Использование» );
КонецЕсли;

стрТекущееВремя = «00010101» + Формат ( Час ( ТекущаяДата ()), «ЧЦ=2; ЧН=00; ЧВН=» )+ Формат ( Минута ( ТекущаяДата ()), «ЧЦ=2; ЧН=00; ЧВН=» )+
Формат ( Секунда ( ТекущаяДата ()), «ЧЦ=2; ЧН=00; ЧВН=» );
ТекущееВремя = Дата ( стрТекущееВремя );

мПозже = Новый Массив ;
фПерезаписываем = Ложь;

Для каждого РЗ из мРЗ цикл
Если РЗ . Расписание . ВремяНачала > ТекущееВремя тогда
мПозже . Добавить ( РЗ );
ИначеЕсли РЗ . ПоследнееЗадание = Неопределено тогда
РЗ . Записать ();
фПерезаписываем = Истина;
ЗаписьЖурналаРегистрации ( «Регламентные задания» , УровеньЖурналаРегистрации . Предупреждение , РЗ . Метаданные , РЗ , «Перезаписано — » + РЗ . Метаданные . Имя );
Иначе
ЗаписьЖурналаРегистрации ( «Регламентные задания» , УровеньЖурналаРегистрации . Информация , РЗ . Метаданные , РЗ , «Нормально выполняется — » + РЗ . Метаданные . Имя );
КонецЕсли;
КонецЦикла;

Если фПерезаписываем тогда
Для каждого РЗ из мПозже цикл
РЗ . Записать ();
ЗаписьЖурналаРегистрации ( «Регламентные задания» , УровеньЖурналаРегистрации . Предупреждение , РЗ . Метаданные , РЗ , «Перезаписано — » + РЗ . Метаданные . Имя );
КонецЦикла;
КонецЕсли;
КонецПроцедуры

Последний модуль был доработан. Обрабатываются все используемые РЗ. Если РЗ должно было начать выполняться до момента проверки, но не выполнялось, то перезаписываем его. Если были обновления, то перезаписываем и более поздние РЗ.

Получилась заглушка, но, как показала практика, весьма эффективная!

Источник

Регламентное задание автоматически срабатывает с ошибками, а вручную без

Процедура по получению инфы с сайты по средствам html запроса. Работает, находится в общем модуле(Конфа для цен и учета остатков, поэтому разлочена и не обновляется (УТ для Казахстана(Тот же самый УТ))). Если регламентное задание, запустить вручную, все работает заказы создаются, но автоматом кидает ошибку:
Object field not found (data)
<ОбщийМодуль.KaspiAPIЗапуск.Модуль(48)>: Для Каждого Значение Из ОбъектJSON.data Цикл

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

&НаСервере
Процедура Запуск() Экспорт

ИсхДата = Дата(1970, 1, 1);

ДатаВМил = (ТекДата — ИсхДата) * 1000;

ДатаВмилНачало = ДатаВМил — 600 * 1000 * 100;

ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ОтветJSON);
ОбъектJSON = ПрочитатьJSON(ЧтениеJSON);

Для Каждого Значение Из ОбъектJSON.data Цикл

ЗапросСост = Новый HTTPЗапрос(«/shop/api/v2/orders/»+ Значение.id +»/entries», ЗаголовокЗапроса);
РезСост = HTTP.Получить(ЗапросСост);
ОтветСост = РезСост.ПолучитьТелоКакСтроку();

ЧтениеJSONСост = Новый ЧтениеJSON;
ЧтениеJSONСост.УстановитьСтроку(ОтветСост);
ОбъектСост = ПрочитатьJSON(ЧтениеJSONСост);

ЗапросСклад = Новый HTTPЗапрос(«/shop/api/v2/orderentries/»+ ОбъектСост.data[0].id +»/deliveryPointOfService», ЗаголовокЗапроса);
РезСклад = HTTP.Получить(ЗапросСклад);
ОтветСклад = РезСклад.ПолучитьТелоКакСтроку();

ЧтениеJSONСклад = Новый ЧтениеJSON;
ЧтениеJSONСклад.УстановитьСтроку(ОтветСклад);
ОбъектСклад = ПрочитатьJSON(ЧтениеJSONСклад);

ЗапросТовар = Новый HTTPЗапрос(«/shop/api/v2/orderentries/»+ ОбъектСост.data[0].id +»/product», ЗаголовокЗапроса);
РезТовар = HTTP.Получить(ЗапросТовар);
ОтветТовар = РезТовар.ПолучитьТелоКакСтроку();

ЧтениеJSONТовар = Новый ЧтениеJSON;
ЧтениеJSONТовар.УстановитьСтроку(ОтветТовар);
ОбъектТовар = ПрочитатьJSON(ЧтениеJSONТовар);

/////////////////////////
ЗапросАртикул = Новый HTTPЗапрос(«/shop/api/v2/masterproducts/»+ ОбъектТовар.data.id +»/merchantProduct», ЗаголовокЗапроса);
РезАртикул = HTTP.Получить(ЗапросАртикул);
ОтветАртикул = РезАртикул.ПолучитьТелоКакСтроку();

ЧтениеJSONАртикул = Новый ЧтениеJSON;
ЧтениеJSONАртикул.УстановитьСтроку(ОтветАртикул);
ОбъектАртикул = ПрочитатьJSON(ЧтениеJSONАртикул);

Наименование = Значение.attributes.customer.firstName + » » + Значение.attributes.customer.lastName;

Количество = ОбъектСост.data[0].attributes.quantity;
Итого = ОбъектСост.data[0].attributes.totalPrice;
Цена = ОбъектСост.data[0].attributes.basePrice;
Наим = ОбъектАртикул.data.attributes.name;
Попытка
Адрес = Значение.attributes.deliveryAddress.formattedAddress;
Исключение
Адрес = «»;
КонецПопытки;

Номер = Значение.attributes.customer.cellPhone;
Ид = Значение.attributes.code;

СозданныеЗаказы = СоздатьЗаказы(Наименование, Номер, Адрес, Наим, Цена, Итого, Количество, Склад, Ид);

Источник

Оцените статью