1с завершить регламентное задание с ошибкой
Наверное, ни одна серьезная конфигурация на 1С 8.3 или 8.2 не обойдется без использования регламентных и фоновых заданий. Они очень удобны, так как по четко заданному расписанию будут выполняться без вмешательства пользователя и программиста.
Например, вам нужно раз в сутки вам нужно совершать обмен данными с другой программой. Используя регламентные и фоновые задания, 1С сможет производить данные действия самостоятельно, например, в нерабочее время. Такой способ никак не повлияет на работу пользователей и поможет сэкономить время.
Для начала разберемся, что же они обозначают и в чем их отличие:
- Регламентное задание позволяет запускать на выполнение какие-либо конкретные действия по заранее настроенному расписанию.
- Фоновое задание – это объект, в котором содержатся выполняемые действия.
Фоновые и регламентные задания в клиент-серверном режиме
Предположим, что наша фирма что-нибудь продает и имеет собственный сайт, на котором расположены цены. Раз в сутки мы хотим их выгружать для поддержания актуальности.
Откройте конфигурацию и добавьте регламентное задание.
Настройка свойств
Рассмотрим самые важные параметры, которые необходимо заполнить в его свойствах.
Настройка расписания
Завершающим шагом мы настроим расписание нашей выгрузки на сайт по соответствующей гиперссылке в палитре свойств.
Получите понятные самоучители по 1С бесплатно:
Перед вами откроется типовая настройка расписания в 1С 8.3. Здесь нет ничего сложного. В рамках данного примера мы настроили запуск нашей выгрузки цен на сайт ежедневно с пяти до семи утра. В том случае, если регламентное задание не успеет отработать до 7:00, оно будет выполнено уже на следующий день.
Блокировка регламентных заданий
Запустите стандартную утилиту «Администрирование серверов 1С Предприятия» и откройте свойства той информационной базы, где вы создали регламентное задание (для клиент-серверных версий 1С).
В открывшемся окне (после ввода логина и пароля для доступа к ИБ) проверьте, чтобы не был установлен флаг на пункте «Блокировка регламентных заданий включена». Если вы столкнулись ситуацией, когда задание не отрабатывает, первым делом проверяйте эту настройку.
Таким же образом можно полностью отключить регламентные задания в 1С 8.3. Для отключения конкретных фоновых заданий можно воспользоваться встроенной в последние релизы обработкой «Консоль фоновых заданий».
Фоновые и регламентные задания в файловом режиме
В данном режиме настройку и запуск данных заданий намного труднее организовать. Чаще всего создается дополнительная учетная запись, сеанс которой всегда будет открыт.
Активация регламентных заданий в данном случае производится при использовании метода «ВыполнитьОбработкуЗаданий()».
Так же вы можете воспользоваться следующей конструкцией:
В качестве имени процедуры необходимо указать имя клиентской процедуры, которая должна будет выполниться. Интервал показывает, через сколько секунд будет произведено выполнение. Параметр «Однократно» не обязателен к заполнению. Он отражает, будет ли выполнена данная процедура однократно, либо несколько раз.
Отслеживание ошибок в фоновых заданиях
Посмотреть ход выполнения фоновых заданий, а так же наличие возможных ошибок можно в журнале регистрации. В фильтре установите отбор приложению «Фоновое задание» и при необходимости выберите интересующую важность, например, только «Ошибки».
В журнале регистрации будут показаны все записи, соответствующие вашему отбору с указанием комментария, по которому вы можете понять причину ошибки.
Доброе утро! Простое регламентное задание (перепроводить документ, если дата изменения в этом документе совпадает с текущей датой).
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДокументОбъект = ВыборкаДетальныеЗаписи.Регистратор.ПолучитьОбъект();
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;
Через СКД проверяла - обирает заказы. Видимо проблема с проведением. Подскажите что не так?
это как через СКД документы перепроводить? научите.
вообще делается внешня обработка из нее запускается процедура вызываемая из регламента.
(0) подозреваю, что надо указать второй параметр метода Записать(,), иначе кто на сервере скажет оперативный или неоперативный режим)
(2) спасибо за эту подсказку! Почему-то попадает в заполнение на основании документа и ругается что не определена табличная часть. Буду смотреть! Спасибо - не знала где ошибку смотреть
(10) Вопрос только почему при проведении документа он идет в процедуру ЗаполнитьПоДокументуОснованию.
(11) Проверь обработчики событий записи и проведения, где-то, видимо, эта процедура вызывается.
Зайди в модуль объекта и задай поиск по тексту
(13) проведение документа, если не из под реглментного работает нормально - таких проблем не возникало. В одном месте использована глобальная переменная, значение которой устанавливается в документе, на основании которого заполняется табличная часть
+(16) а раз условие в сабже "перепроводить документ", то в запрос добавить условие:
| И ЗаказПокупателя.Проведен
Продоложение следует.
Через обработку:
Все работает, перепроводит. А регламентное выдает все ту же ошибку:
": Переменная не определена (ГлТекТабЧасть)
ГлТекТабЧасть - глобальная переменная, значение которой устанавливается в Документе 1. Когда на основании Документа 1 создается Заказ покупателя из ГлТекТабЧасть заполняется табличная часть. Логично, что если просто получать объект Заказ покупателя эта переменная не определена.
Как я уже говорила она используется только в одном месте в процедуре при заполнении. Кто-нибудь с таким сталкивался и что делать?
Покажи как и в каком модуле устанавливается значение ГлТекТабЧасть. Какая конфигурация,платформа? Видимо, отладчиком так и не встала на место с ошибкой.
Отладкой не попадает туда.
Документе 1 есть 5 табличных частей. в зависимости от того, какая табличная часть активна в ГлТекТабЧасть она и устанавливается.
У тебя это переменная заполняется в модуле обычного приложения, если да то скорей всего это переменная заполняется при заходе через пользователь. проверь где заполняется.
(22) я ничего не заполняю при проведении в том-то и дело. Выше все было сказано. Ошибку показывает на переменную, которая в заказе покупателе используется только в одном месте - при заполнении.
в Документе 1 - заполняется. в заказе покупателя из него заполняется табличная часть.
Но ведь документы проводятся, и через обработку проводятся.
(22) +1. Нет смысла в коде. Надо найти фрагемент кода где используется эта ГлТекТабЧасть и окаймить ее конструкцией (т.е будет виден код только на клиенте)
(24) Сервер не видит глобальные переменные. Они только для клиента, внеш. соединения.
Логика системы построена не правильно. Чтобы работало надо переделывать на регистр.
А если времени нет, то перепроведение можно повестить на планировщик задач
В одной внедряемой информационной системе значение регламентных заданий (РЗ) оказалось очень велико. С помощью них осуществляется автоматизированная проверка и загрузка исходных данных в систему. И надо же было такому случиться, РЗ стали иногда подвисать. Несколько раз в месяц, после перезапуска сервера 1С Предприятия, все РЗ переставали выполняться. Выяснилось, что ситуация легко локально лечится перезаписью каждого РЗ. После чего они начинают нормально работать.
Поиск в Инете показал, что мы не одиноки. Подобная проблема встречается давно, но есть нюансы. Один из хорошо известных случаев, когда сервер sql и сервер 1С стоят на одной машине. После физического перезапуска сервера сервис 1С Предприятия стартует раньше сервиса sql, и модуль обработки регламентных заданий не может ещё прочитать их из базы. И считает, что их нет. Есть даже рекомендация Микрософт для данной ситуации, которая предусматривает настройку зависимости сервиса 1С Предприятия от сервиса sql. То есть он всегда буде стартовать после. Решение! Но это был не наш случай, так как физического перезапуска сервера у нас не было. Только остановка и старт сервиса. Были проанализированы и другие аспекты. Сервер sql работает непрерывно. Базы в кластер если и добавляются, то порядком реже, чем сбоят РЗ. Разделителей нет. После перезапуска сервера 1С Предприятия РЗ стартуют независимо.
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; ЧВН color: red;">)+ Формат ( Минута ( ТекущаяДата ()), "ЧЦ=2; ЧН=00; ЧВН color: red;">)+
Формат ( Секунда ( ТекущаяДата ()), "ЧЦ=2; ЧН=00; ЧВН color: red;">);
ТекущееВремя = Дата ( стрТекущееВремя );
мПозже = Новый Массив ;
фПерезаписываем = Ложь;
Для каждого РЗ из мРЗ цикл
Если РЗ . Расписание . ВремяНачала > ТекущееВремя тогда
мПозже . Добавить ( РЗ );
ИначеЕсли РЗ . ПоследнееЗадание = Неопределено тогда
РЗ . Записать ();
фПерезаписываем = Истина;
ЗаписьЖурналаРегистрации ( "Регламентные задания" , УровеньЖурналаРегистрации . Предупреждение , РЗ . Метаданные , РЗ , "Перезаписано - " + РЗ . Метаданные . Имя );
Иначе
ЗаписьЖурналаРегистрации ( "Регламентные задания" , УровеньЖурналаРегистрации . Информация , РЗ . Метаданные , РЗ , "Нормально выполняется - " + РЗ . Метаданные . Имя );
КонецЕсли;
КонецЦикла;
Если фПерезаписываем тогда
Для каждого РЗ из мПозже цикл
РЗ . Записать ();
ЗаписьЖурналаРегистрации ( "Регламентные задания" , УровеньЖурналаРегистрации . Предупреждение , РЗ . Метаданные , РЗ , "Перезаписано - " + РЗ . Метаданные . Имя );
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Последний модуль был доработан. Обрабатываются все используемые РЗ. Если РЗ должно было начать выполняться до момента проверки, но не выполнялось, то перезаписываем его. Если были обновления, то перезаписываем и более поздние РЗ.
Наверное, ни одна серьезная конфигурация на 1С 8.3 или 8.2 не обойдется без использования регламентных и фоновых заданий. Они очень удобны, так как по четко заданному расписанию будут выполняться без вмешательства пользователя и программиста.
Например, вам нужно раз в сутки вам нужно совершать обмен данными с другой программой. Используя регламентные и фоновые задания, 1С сможет производить данные действия самостоятельно, например, в нерабочее время. Такой способ никак не повлияет на работу пользователей и поможет сэкономить время.
Для начала разберемся, что же они обозначают и в чем их отличие:
- Регламентное задание позволяет запускать на выполнение какие-либо конкретные действия по заранее настроенному расписанию.
- Фоновое задание – это объект, в котором содержатся выполняемые действия.
Фоновые и регламентные задания в клиент-серверном режиме
Предположим, что наша фирма что-нибудь продает и имеет собственный сайт, на котором расположены цены. Раз в сутки мы хотим их выгружать для поддержания актуальности.
Откройте конфигурацию и добавьте регламентное задание.
Настройка свойств
Рассмотрим самые важные параметры, которые необходимо заполнить в его свойствах.
Настройка расписания
Завершающим шагом мы настроим расписание нашей выгрузки на сайт по соответствующей гиперссылке в палитре свойств.
Получите понятные самоучители по 1С бесплатно:
Перед вами откроется типовая настройка расписания в 1С 8.3. Здесь нет ничего сложного. В рамках данного примера мы настроили запуск нашей выгрузки цен на сайт ежедневно с пяти до семи утра. В том случае, если регламентное задание не успеет отработать до 7:00, оно будет выполнено уже на следующий день.
Блокировка регламентных заданий
Запустите стандартную утилиту «Администрирование серверов 1С Предприятия» и откройте свойства той информационной базы, где вы создали регламентное задание (для клиент-серверных версий 1С).
В открывшемся окне (после ввода логина и пароля для доступа к ИБ) проверьте, чтобы не был установлен флаг на пункте «Блокировка регламентных заданий включена». Если вы столкнулись ситуацией, когда задание не отрабатывает, первым делом проверяйте эту настройку.
Таким же образом можно полностью отключить регламентные задания в 1С 8.3. Для отключения конкретных фоновых заданий можно воспользоваться встроенной в последние релизы обработкой «Консоль фоновых заданий».
Фоновые и регламентные задания в файловом режиме
В данном режиме настройку и запуск данных заданий намного труднее организовать. Чаще всего создается дополнительная учетная запись, сеанс которой всегда будет открыт.
Активация регламентных заданий в данном случае производится при использовании метода «ВыполнитьОбработкуЗаданий()».
Так же вы можете воспользоваться следующей конструкцией:
В качестве имени процедуры необходимо указать имя клиентской процедуры, которая должна будет выполниться. Интервал показывает, через сколько секунд будет произведено выполнение. Параметр «Однократно» не обязателен к заполнению. Он отражает, будет ли выполнена данная процедура однократно, либо несколько раз.
Отслеживание ошибок в фоновых заданиях
Посмотреть ход выполнения фоновых заданий, а так же наличие возможных ошибок можно в журнале регистрации. В фильтре установите отбор приложению «Фоновое задание» и при необходимости выберите интересующую важность, например, только «Ошибки».
В журнале регистрации будут показаны все записи, соответствующие вашему отбору с указанием комментария, по которому вы можете понять причину ошибки.
Зачастую пользователи жалуются на медлительность работы 1С и периодическое торможение и зависание базы при работе. Проблема может быть связана, во-первых, с нехваткой ресурсов компьютера. О параметрах компьютера для оптимальной работы 1С мы говорили ранее. Во-вторых, проблема может быть в запуске операций по обслуживанию программы, которые выполняются в фоновом режиме, в процессе ее работы. И если в серверном варианте 1С эти операции выполняются по расписанию в нерабочее время, то в файловом варианте фоновые задания выполняются непосредственно при работе пользователей. Это и приводит к замедлению работы, особенно если еще и ресурса самого компьютера недостаточно. Что такое регламентные и фоновые задания, для чего они нужны и как отключить лишние расскажем в этой статье.
Регламентные задания – это действия, выполняемые по заданному расписанию в фоновом режиме автоматически, такие как:
• ежедневная загрузка курсов валют;
• обновление классификаторов банков;
• отложенное проведение документов;
• обновление индексов ППД
Вы спросите: «Зачем загружать и обновлять классификаторы или справочники, которые не используются или при необходимости могут быть обновлены пользователем вручную?»
Действительно: «Зачем?». Ведь можно самим при необходимости загрузить справочник банков или обновить курс валют. Естественно, если организация периодически покупает и продает валюту данная операция для нее актуальна. Но для остальных пользователей – это лишнее. И такие «ненужные» операции можно просто отключить.
Некоторые настройки «проверок и обновлений» включены в разделе «Администрирование» - «Интернет поддержка и сервисы».
Отключить загрузку классификаторов можно в разделе «Администрирование» - «Интернет поддержка и сервисы» - подраздел «Классификаторы и курсы валют».
Выполнение регламентных операций включается автоматически, если установлены соответствующие настройки сервисов программы, таких как:
• «Автоматическая проверка контрагентов по ЕГРН»;
• «Сервис 1СПАРК Риски»;
• «Автоматическая отправка сведений об использовании программы в фирму «1С».
Посмотрим, где найти эти регламентные задания и какие у них настройки.
Шаг 1. Перейдите в раздел «Администрирование – «Обслуживание».
Раскрыв подраздел «Регламентные операции», откройте гиперссылку «Регламентные и фоновые задания».
В открывшемся окне две закладки:
Регламентные задания – это перечисление возможных операций и отметка об их выполнении.
Если у строки написано «не определено», значит оно не выполняется и не настроено. При необходимости пользователь может задать для него настройки.
Есть список действий, у которых стоит отметка «задание выполнено». Если для пользователя данное действие не актуально, его можно отключить.
Фоновые задания отражают сведения о выполнении регламентных заданий: какие выполнены или завершены с ошибками, отменены или выполняются.
Регламентные задания, которые по умолчанию предопределены в программе, отмечены зеленой галочкой.
Что они означают? Рассмотрим некоторые из них.
Все обновления 1С СПАРК Риски позволяют отслеживать изменения в деятельности контрагентов: ликвидация, реорганизация, смена руководителя и т.п. Сервис обновляет информацию, используя различные источники (данные ЕГРЮЛ, Единый федеральный реестр сведений о фактах деятельности юридических лиц и т.п.).
Извлечение текста файлов для поиска выполняется для быстрого поиска данных в файлах, прикрепленных к информационной базе.
Обновление задач бухгалтера выполняет обновление информации задач организации: сдача деклараций и отчетов, уплата налогов, начисление зарплаты, выплата аванса и т.п.
Обновление индекса ППД выполняет обновление индекса полнотекстового поиска. Задание включается автоматически при включенной настройке поиска данных в разделе «Администрирование» - «Общие настройки». Полнотекстовый поиск данных управляет поиском в документах, отчетах, файлах.
Проверка контрагентов обновляет данные для проверки корректности записи ИНН и КПП контрагентов.
Сбор и отправка статистики собирается и отправляется статистика по работе программы 1С. Это регламентное задание не замедляет работу программы.
Удаление неактуальной информации синхронизации убирает информацию синхронизации, не удаленную в результате сбоев.
Программой предусмотрено множество других регламентных операций, которые пользователь может включать и отключать. Но делать это надо осознанно.
Настройка регламентных операций в 1С.
Рассмотрим, как можно отключить или включить выполнение регламентного задания.
Например, у нас нет и не используются вложенные файлы в программе 1С и регламентное задание «Извлечение текста файлов для поиска» для нас не актуально и не имеет смысла.
Давайте отключим его выполнение.
Шаг 1. Откройте регламентное задание двойным щелчком мышки.
Шаг 2. Снимите галочку «Включено» и выполнение данного регламентного задания отключится.
У отключенного регламентного задания зеленая галочка убралась.
Так, наблюдая за работой компьютера, можно отключать неиспользуемые регламентные задания.
Если отключать задание не желательно, можно изменить его расписание. Например, вместо ежедневного запуска, установить – раз в неделю.
Шаг 3. Откройте регламентное задание «1С СПАРК Риски» и перейдите по гиперссылке «Расписание».
В настройке установлено повторять каждый день.
Пользователь может настроить расписание:
Шаг 4. Перейдите на закладку расписания «Недельное» и снимите галочки, оставив дни, когда следует запускать данное задание.
Можно задание выполнять раз в неделю, раз в месяц, в зависимости от настройки пользователя.
При одновременной работе в файловой базе нескольких пользователей, от 4-х и более, выполнение регламентных заданий может существенно тормозить их работу.
Чтобы не запутаться в регламентных заданиях правильнее, где возможно, отключать не сами задания, а настройки в программе, включающие их. Например, полнотекстовый поиск, проверка контрагентов, обновление классификаторов и справочников, автоматическая проверка обновлений – раздел «Интернет поддержка и сервисы» раздел «Администрирование».
Мы рассмотрели настройку, включение и отключение регламентных заданий. Конечно, тот факт, что регламентные и фоновые задания выполняются автоматически, по четкому определенному сценарию, не отвлекая пользователя от работы, является «плюсом» и удобно в работе.
Поэтому, если у вас проблемы со скоростью работы программы, рассмотрите и другие причины. Возможно не достаточные характеристики компьютера, сильно большой объем накопленной информации, замедление работы в результате сбоя.
И еще совет: почистите свой компьютер, рабочий стол от лишних файлов, лишних копий баз и т.д. Постарайтесь максимально расчистить пространство, чтобы программе было где «развернуться, да разгуляться»! Часто это действия в разы убыстряет работу 1С.
Читайте также: