Запретить запуск фоновых заданий

(5) +1
https://its.1c.ru/db/bsp244doc#content:65:1:issogl2_настройка_зависимостей_регламентных_заданий_от_функциональных_опций
Настройка зависимостей регламентных заданий от функциональных опций
В тех случаях, когда выполнение предопределенного регламентного задания зависит от включенных одной или нескольких функциональных опций, необходимо программно управлять признаком Использование в зависимости от установленных функциональных опций. Если этого не сделать, регламентное задание будет приводить к запуску сеанса, занимая вычислительные ресурсы сервера «1С:Предприятия». Для настройки зависимостей регламентного задания от функциональных опций необходимо:
1. В состав определяемого типа МестоХраненияФункциональныхОпций добавить константы, соответствующие функциональным опциям, используемым для управления регламентными заданиями.
2. Добавить вставку в процедуре ПриОпределенииЗависимостейРегламентныхЗаданий общего модуля РегламентныеЗаданияПереопределяемый. Например:

Зависимость = Зависимости.Добавить(); Зависимость.РегламентноеЗадание = Метаданные.РегламентныеЗадания.ОбновлениеСтатусовДоставкиSMS; Зависимость.ФункциональнаяОпция = Метаданные.ФункциональныеОпции.ИспользоватьПочтовыйКлиент; Также можно настроить доступность регламентного задания в подчиненном узле РИБ, модели сервиса и необходимость отключения задания при перемещении информационной базы (подробнее см. комментарий к процедуре).
3. Дополнительно следует обезопасить выполнение регламентного задания, включенного через консоль или другим способом, минуя включение функциональной опции, вставив в начало процедуры обработки регламентного задания следующий код:
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания();

В коде проверка выглядит так:
Функция ВерсияПрограммыУстарела() ДатаТекущейВерсии = Константы.ДатаТекущейВерсии.Получить(); Если ЗначениеЗаполнено(ДатаТекущейВерсии) Тогда Возврат ТекущаяДата() > ДобавитьМесяц(ДатаТекущейВерсии, 2); Иначе Возврат Ложь; КонецЕсли; КонецФункции

Из кода видно, что дата текущей версии конфигурации 1С Предприятия 8 хранится в константеДатаТекущейВерсии . Если в эту константу записать дату намного больше текущей, то требования обновиться больше не будут выводиться. То есть вы отключите данное сообщение.
Как отключить это уведомление:
Программно это делается это так (установим дату текущей версии на 01.01.2100 г.):

Константы.ДатаТекущейВерсии.Установить(Дата(‘21000101’));

Другой способ изменения настройки — через интерфейс.
Если у вас 1С 8.3 (например Бухгалтерия 3.0) тогда поступите так:

  1. Файл — Все функции
  2. В Константах находим Дата текущей версии
  3. Устанавливаем дату — 2100 год

Если же Вы используете более ранние конфигурации, производим те же самые функции через меню «Операции”.
На что эти действия могут повлиять?
Изменение значения константы на работу системы никак не повлияет. Следует также заметить, что при обновлении релиза конфигурации ДатаТекущейВерсии перезаписывается, поэтому эту процедуру следует повторять после каждого обновления.
Отключение самого окна в коде
Ну а если вам не хочется менять константу, но есть возможность изменить конфигурацию, то можно отключить напоминания так (для Бухгалтерии 2.0):
Модуль обычного приложения -> Процедура ПриНачалеРаботыСистемы. Закомментируйте строку:

КонтрольВерсииКонфигурации.ПроверитьВерсиюКонфигурации();

Случается, что при работе с программой 1С возникает подобная ошибка — ошибка блокировки данных:

Рис.1 Распространенная ошибка

Чаще всего данное предупреждение конфигуратора возникает при выгрузке информационной базы или при обновлении конфигурации 1С. Для того чтобы исправить сложившуюся ситуацию и запустить работу конфигурации, в первую очередь необходимо выяснить причины ошибки исключительной блокировки информационной базы. Это может быть одна из следующих причин:

  • Пользователи не вышли из системы 1С

Для начала необходимо посмотреть все активные сеансы пользователей. Активных пользователей можно посмотреть в конфигураторе 1С так: нажать кнопку Администрирование, затем выбрать Активные пользователи. И попросить их выйти из системы. Также информацию о блокирующих сеансах обычно можно получить из самого окна с ошибкой.

  • У пользователя запущена база 1С, но не введен пароль

В таком случае у пользователя остается висеть подобное окно:

Рис.2 У пользователя запущена база 1С, но не введен пароль

Сеанс такого пользователя найти сложнее, так как он не отображается в окошке Активные пользователи. Более того, информация об ошибке не содержит какой-либо полезной информации:

Рис.3 Информация об ошибки

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

  • Зависшие сеансы

Все пользователи вышли, а сообщение об ошибке остается прежним, значит, скорее всего, есть зависшие сеансы. Для таких зависших сеансов требуется принудительное завершение. Это рекомендуется делать аккуратно, прибегая к этому методу только тогда, когда не получаются все остальные.

Способы завершения зависших сеансов в файловом варианте

  • С помощью Диспетчера задач. При завершении сеансов информация у пользователей, работающих в системе, может не сохраниться, и важные данные могут быть потеряны. Завершить сеансы данным способом можно так: вызвать диспетчер задач (Ctrl+Alt+Delete), затем нажать снять задачу, затем завершить процесс. Процессы 1С называются 1cv8.exe или 1cv8c.exe.

Рис.4 Диспетчер задач

  • Перезагрузить сервер, на котором установлена файловая система 1С

Способы завершения зависших сеансов в клиент-серверном варианте

В первую очередь, необходимо попробовать удалить сеансы через консоль администрирования серверов, найдя в ней нужную базу и зайдя в меню Сеансы*.

  • Выделить нужные зависшие сеансы и удалить их через пункт контекстного меню;

Рис.5 Меню Сеансы

*Если в меню Сеансы нет сеансов, их стоит поискать в меню Соединения. И попробовать аналогично удалить.

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

Зависшие фоновые задания в клиент-серверном варианте

В клиент-серверном варианте частым источником возникновения ошибки исключительной блокировки информационной базы являются повисшие фоновые задания.

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

Чтобы их удалить можно попробовать следующие способы:

  • Удалить их несколько раз подряд и проверить, не появляются ли они вновь.
  • В свойствах базы установить флаг Блокировка регламентных заданий включена, и после этого еще раз попробовать удалить зависшее задание.

Рис.6 Блокировка регламентных заданий включена

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

Оставьте комментарий