|
Как запретить выполнение регламентных заданий для тестовых баз | ☑ | ||
---|---|---|---|---|
0
yabes
03.04.18
✎
11:31
|
Добрый день. Для всех тестовых баз в кластере у нас стаяла галочка о блокировке регламентных заданий. А потом для одной из баз кто-то эту галочку снял и произошла неприятность. Поставлена задача учесть такой момент и предусмотреть, чтобы запрет выполнения регламентных заданий был прописан в коде. Как это лучше сделать?
|
|||
1
Cool_Profi
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
|
сделайтие всем тестовым префикс/постфикс, в каждом РЗ сделайте
Если ЭтоТестовая() Тогда Возврат; КОнецесли; |
|||
5
mehfk
03.04.18
✎
11:37
|
(0) Сделай так, как сделала 1С в типовых.
|
|||
6
Cool_Profi
03.04.18
✎
11:37
|
(4) И потом кто-нибудь забудет поставить этот префикс в новой тестовой базе...
|
|||
7
Адинэснег
03.04.18
✎
11:38
|
тут уже ипатьевский метод, к человеку ответственному за создание баз
|
|||
8
Адинэснег
03.04.18
✎
11:39
|
(5) типа спрашивать - перемещена ли база или это копия - тоже норм
|
|||
9
Cool_Profi
03.04.18
✎
11:40
|
(7) Так я сразу его и предложил. Самый действенный...
|
|||
10
tesseract
03.04.18
✎
11:43
|
(1) В последнем БСП база сама чует, что ее перенесли и спрашивает при старте включать регл задания или нет.
|
|||
11
Быдло замкадное
03.04.18
✎
11:44
|
НазваниеРабочейБазыНаСервере = "WORK";
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); Если Найти(СтрокаСоединения, НазваниеРабочейБазыНаСервере) = 0 Тогда Возврат; КонецЕсли; |
|||
12
unregistered
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) так это все равно нужно галочку ставить
|
|||
14
unregistered
03.04.18
✎
12:02
|
(13) Согласен. Решение не идеальное.
Но мы придерживаемся такого правила: в конфах-самописках рисуем любую пургу, какая нам нравится (хоть на строку подключения затачивайся). В типовых конфигурациях с БСП - используем типовые механизмы БСП (описанные в (12)). |
|||
15
tesseract
03.04.18
✎
12:12
|
(13) Добавить константу "ТекущееМестоположение".
В "ПриЗавершенииРаботыСистемы" писать туда СтрокаСоединенияИнформационнойБазы В "ПередНачаломРаботыСистемы" сравнивать с текущей СтрокаСоединенияИнформационнойБазы. Если она изменилась или просто блокировать Риг задания или выдавать запрос. Дальше - см (12) Теперь главное не забывать после загрузки базы как можно быстрее заходить в режим предприятия. |
|||
16
Lama12
03.04.18
✎
12:20
|
(0) У нас сделано так. При старте базы проверяется имя базы на сервере приложений. Если имя не такое как у рабочей то проверяется с полными правами запуск произведен или нет. Если нет, то идите лесом. Если с полными то делается следующее:
1. Делаются не активными все регламентные задания. 2. Во всех адресах электронной почты в базе подменяется домен на специальный тестовый. 3. Раньше обнулялись механизмы обмена РИБ (сейчас не используем) 4. Устанавливаются в истину блокирующие константы, которые блокируют выполнение тех или иных наших доработок по интеграции с другими системами. Естественно это делается один раз. В дальнейшем за включение и отключение разного функционала отвечает тот кто владеет базой. |
|||
17
Sam1C
03.04.18
✎
14:39
|
(0) Я как-то делал как описано в (3) через проверку строки соединения Боевая база или тестовая. И самое интересное когда запускал в клиенте для теста все отрабатывало на ура. Когда стартовало в фоне всегда возвращало, что это тестовая. Но тогда времени не было разобраться забил. Хотя интересно почему в фоне не отрабатывало........
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |