Вход | Регистрация

1С:Предприятие ::

Метки: 

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

Я
   yabes
 
03.04.18 - 11:31
Добрый день. Для всех тестовых баз в кластере у нас стаяла галочка о блокировке регламентных заданий. А потом для одной из баз кто-то эту галочку снял и произошла неприятность. Поставлена задача учесть такой момент и предусмотреть, чтобы запрет выполнения регламентных заданий был прописан в коде. Как это лучше сделать?
 
 
   Cool_Profi
 
1 - 03.04.18 - 11:33
Есть очень хороший метод. Называется "иппатьевский".

есть другой - отдельный сервер для тестовых баз.

Есть третий - поручить создание тестовых баз специально обученному человеку.
   Быдло замкадное
 
2 - 03.04.18 - 11:34
программно можно получить путь к базе? ВОт и сравнить его с "1C_WORK" или как база у вас называется
   Быдло замкадное
 
3 - 03.04.18 - 11:36
Что-то вроде
СтрокаСоединенияИнформационнойБазы.Содержит "1C_WORK" иначе Отказ = Истина.

ПО синтаксису уже сам
   Адинэснег
 
4 - 03.04.18 - 11:37
сделайтие всем тестовым префикс/постфикс,  в каждом РЗ сделайте 
Если ЭтоТестовая() Тогда 
  Возврат;
КОнецесли;
   mehfk
 
5 - 03.04.18 - 11:37
(0) Сделай так, как сделала 1С в типовых.
   Cool_Profi
 
6 - 03.04.18 - 11:37
(4) И потом кто-нибудь забудет поставить этот префикс в новой тестовой базе...
   Адинэснег
 
7 - 03.04.18 - 11:38
тут уже ипатьевский метод, к человеку ответственному за создание баз
   Адинэснег
 
8 - 03.04.18 - 11:39
(5) типа спрашивать - перемещена ли база или это копия - тоже норм
   Cool_Profi
 
9 - 03.04.18 - 11:40
(7) Так я сразу его и предложил. Самый действенный...
   tesseract
 
10 - 03.04.18 - 11:43
(1) В последнем БСП база сама чует, что ее перенесли и спрашивает при старте включать регл задания или нет.
 
 Рекламное место пустует
   Быдло замкадное
 
11 - 03.04.18 - 11:44
НазваниеРабочейБазыНаСервере = "WORK";
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();    Если Найти(СтрокаСоединения, НазваниеРабочейБазыНаСервере) = 0 Тогда
    Возврат;
КонецЕсли;
   unregistered
 
12 - 03.04.18 - 11:46
(5) +1
https://its.1c.ru/db/bsp244doc#content:65:1:issogl2_настройка_зависимостей_регламентных_заданий_от_функциональных_опций

Настройка зависимостей регламентных заданий от функциональных опций

В тех случаях, когда выполнение предопределенного регламентного задания зависит от включенных одной или нескольких функциональных опций, необходимо программно управлять признаком Использование в зависимости от установленных функциональных опций. Если этого не сделать, регламентное задание будет приводить к запуску сеанса, занимая вычислительные ресурсы сервера «1С:Предприятия». Для настройки зависимостей регламентного задания от функциональных опций необходимо:

1. В состав определяемого типа МестоХраненияФункциональныхОпций добавить константы, соответствующие функциональным опциям, используемым для управления регламентными заданиями.

2. Добавить вставку в процедуре ПриОпределенииЗависимостейРегламентныхЗаданий общего модуля РегламентныеЗаданияПереопределяемый. Например:

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

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

ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания();
   Вафель
 
13 - 03.04.18 - 11:58
(12) так это все равно нужно галочку ставить
   unregistered
 
14 - 03.04.18 - 12:02
(13) Согласен. Решение не идеальное.
Но мы придерживаемся такого правила: в конфах-самописках рисуем любую пургу, какая нам нравится (хоть на строку подключения затачивайся). В типовых конфигурациях с БСП - используем типовые механизмы БСП (описанные в (12)).
   tesseract
 
15 - 03.04.18 - 12:12
(13) Добавить константу "ТекущееМестоположение".

В "ПриЗавершенииРаботыСистемы" писать туда
СтрокаСоединенияИнформационнойБазы

В "ПередНачаломРаботыСистемы" сравнивать с текущей СтрокаСоединенияИнформационнойБазы.  Если она изменилась или просто блокировать Риг задания или выдавать запрос. Дальше - см (12)

Теперь главное не забывать после загрузки базы как можно быстрее заходить в режим предприятия.
   Lama12
 
16 - 03.04.18 - 12:20
(0) У нас сделано так. При старте базы проверяется имя базы на сервере приложений. Если имя не такое как у рабочей то проверяется с полными правами запуск произведен или нет. Если нет, то идите лесом. Если с полными то делается следующее:
1. Делаются не активными все регламентные задания.
2. Во всех адресах электронной почты в базе подменяется домен на специальный тестовый.
3. Раньше обнулялись механизмы обмена РИБ (сейчас не используем)
4. Устанавливаются в истину блокирующие константы, которые блокируют выполнение тех или иных наших доработок по интеграции с другими системами.

Естественно это делается один раз. В дальнейшем за включение и отключение разного функционала отвечает тот кто владеет базой.
   Sam1C
 
17 - 03.04.18 - 14:39
(0) Я как-то  делал как описано в (3) через проверку строки соединения Боевая база или тестовая. И самое интересное когда запускал в клиенте для теста все отрабатывало на ура. Когда стартовало в фоне всегда возвращало, что это тестовая. Но тогда времени не было разобраться забил. Хотя интересно почему в фоне не отрабатывало........


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует