Название проверки
Использование монопольного или оперативного обработчика обновления.
Английское название проверки
??
Правило анализа кода/метаданных
Ограничения на использование монопольного и оперативного режимов обработчиков обновления
Область применения: управляемое приложение.
Действует для «корпоративных» конфигураций (например, 1С:ERP), и всех
входящих в них библиотек.
- Из-за большого объема данных в пользовательских базах, переход на
новый релиз может занимать очень длительное время. Поэтому для
сокращения времени простоя при обновлении конфигурации следует полностью
отказаться от монопольных и оперативных обработчиков обновления.
Вместо этого, большие объемы данных следует обновлять отложенно – см.
Параллельный режим отложенного обновления
(БСП). Исключением являются
случаи, описанные ниже.
2.1. Допустимо делать оперативную или монопольную обработку данных
только при соблюдении всех, перечисленных ниже условий:
- объем обрабатываемых данных всегда (у всех пользователей) будет
небольшой, время их обработки будет измеряться минутами;
- обрабатываемые данные – это нормативно-справочная информация, без
обработки которой работа большей части пользователей будет
невозможна, сильно затруднена или с большой долей вероятности
приведет к некорректному состоянию информационной базы. При этом
все-таки нужно стремиться и нормативно-справочную информацию также
обрабатывать отложенно;
- обработчик может вызываться только при обновлении на конкретную
версию, не должно быть обработчиков, которые вызываются при каждом
обновлении.
2.2. Оперативный обработчик следует делать, если обновляемый объект
метаданных не будет реструктуризироваться в процессе применения
изменений конфигурации к информационной базе. В противном случае с точки
зрения пользователей нет разницы в работе оперативных и монопольных
обработчиков.
2.3. Допустимо делать оперативную обработку данных:
- для обновления настроек программы (в частности значений констант),
если объем обрабатываемых данных небольшой;
- и для обновления неразделенных данных, для которых технически
отложенное обновление не поддерживается.
2.4. Использование оперативного или монопольного режимов работы
обработчиков обновления в библиотеках должно быть индивидуально
согласовано со всеми конечными конфигурациями, в которые эти библиотеки
входят в рамках стандартной процедуры согласования изменения стандартов
и перечислены в приложении к стандарту.
Приложение: список исключений
1. Библиотека стандартных подсистем
1.1. Выполняются оперативно, т.к. объем обрабатываемых данных небольшой
(обновление настроек программы):
· ВариантыОтчетов.ОперативноеОбновлениеРазделенныхДанныхКонфигурации
(*, Условно подключаемый в модели сервиса);
·
РаботаСФайламиСлужебный.ОбновитьСписокЗапрещенныхРасширенийВОбластиДанных
(2.3.2.70, Начальное заполнение);
· УдалениеПомеченныхОбъектовСлужебный.ВключитьУдалениеПомеченныхОбъектов
(2.3.5.52, Начальное заполнение);
· УправлениеСвойствами.ОбновитьНаименованияНаборовИСвойств (*, Условно
подключаемый).
1.2. Выполняются оперативно, т.к. обновляются неразделенные данные:
· ВариантыОтчетов.ОперативноеОбновлениеОбщихДанныхКонфигурации (*);
· ВариантыОтчетов.ОтложенноеОбновлениеОбщихДанныхКонфигурацииПолное (*,
только в модели сервиса, в «коробке» - отложенно);
· ДатыЗапретаИзмененияСлужебный.ОбновитьРазделыДатЗапретаИзменения (*);
·
ДатыЗапретаИзмененияСлужебный.ОчиститьПредопределенныеЭлементыРазделовДатЗапрета
(2.3.5.9);
· КалендарныеГрафики.ОбновитьДанныеПроизводственныхКалендарей (2.3.5.28,
Начальное заполнение);
· ПодключаемыеКоманды.ОперативноеОбновлениеОбщихДанныхКонфигурации (*);
·
ПользователиСлужебный.ДобавитьАдминистраторамПравоОткрытияВнешнихОтчетовИОбработок
(2.3.5.14);
· РаботаСФайламиСлужебный.ОбновитьСписокЗапрещенныхРасширений (2.3.4.5,
Начальное заполнение);
· РаботаСФайламиСлужебный.ОбновитьПутьТомаLinux (2.3.5.48).
1.3. Выполняются оперативно для удаления устаревших отложенных
обработчиков обновления (до начала отложенного обновления):
· ВариантыОтчетов.УдалитьУстаревшиеОбработчики (2.3.5.19);
1.4. Выполняются оперативно для планирования обновления областей данных
в модели сервиса (в коробке не выполняются):
· ОбменДаннымиВМоделиСервиса.ЗаполнитьОбработчикиРазделенныхДанных (*,
Управление обработчиками);
· УправлениеДоступомСлужебный.ЗаполнитьОбработчикиРазделенныхДанных (*,
Управление обработчиками);
· УправлениеСвойствамиСлужебный.ЗаполнитьОбработчикиРазделенныхДанных
(*, Управление обработчиками).
1.5. Выполняются оперативно для изменения свойств регламентных заданий,
настроек прав доступа, которые должны обязательно вступить в силу до
начала работы с программой:
·
Обработки.ЗагрузкаКлассификатораБанков.УстановитьРасписаниеРегламентногоЗадания
(2.3.5.51, Начальное заполнение);
· Обработки.ЗагрузкаКурсовВалют.УстановитьРасписаниеРегламентногоЗадания
(2.3.5.51, Начальное заполнение);
· УдалениеПомеченныхОбъектовСлужебный.ВключитьУдалениеПомеченныхОбъектов
(2.3.5.52, Начальное заполнение);
·
УправлениеДоступомСлужебный.ОбновитьВспомогательныеДанныеПоИзменениямКонфигурации
(*, Условно подключаемый);
·
УправлениеДоступомСлужебный.ОбновитьДанныеПрофиляОткрытиеВнешнихОтчетовИОбработок
(2.3.5.33);
·
УправлениеИтогамиИАгрегатамиСлужебный.ОбновитьИспользованиеРегламентныхЗаданий
(2.3.3.70, Начальное заполнение);
·
УправлениеПечатью.ДобавитьРольРедактированиеПечатныхФормВПрофилиСБазовымиПравами
(2.3.5.3).
1.6. До запуска механики обновления информационной базы выполняется
оперативное обновление следующих неразделенных кешей метаданных (только
если связанные с ними метаданные были изменены):
- в РИБ выполняется загрузка предопределенных элементов и
идентификаторов объектов метаданных из главного узла
(ОбменДаннымиСервер.ЗагрузитьПриоритетныеДанныеВПодчиненныйУзелРИБ)
- Справочник.ИдентификаторыОбъектовМетаданных
- РегистрСведений.ПараметрыРаботыПрограммы
- РегистрСведений.ПраваРолей
- РегистрСведений.ЗависимостиПравДоступа
1.7. Заполняются оперативно, чтобы не откладывать до входа пользователя
в сеанс:
- Справочник.ИдентификаторыОбъектовРасширений
- РегистрСведений.ИдентификаторыОбъектовВерсийРасширений
- РегистрСведений.ПараметрыРаботыВерсийРасширений
- Справочник.ПредопределенныеВариантыОтчетовРасширений
- РегистрСведений.ПредопределенныеВариантыОтчетовВерсийРасширений
1.8.
СтандартныеПодсистемыСервер.УстановитьКонстантуНеИспользоватьРазделениеПоОбластямДанных
условно-монопольный: выполняется в монопольном режиме только если у
неразделенных констант
· ИспользоватьРазделениеПоОбластямДанных;
· НеИспользоватьРазделениеПоОбластямДанных;
· ЭтоАвтономноеРабочееМесто
установлены несинхронные значения.
Их значения влияют на те механизмы конфигурации, которые по-разному
работают в этих режимах.
1.9. ОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными:
выполняется оперативно при каждом обновлении при условии использования
синхронизации данных. Объем обрабатываемых данных не большой:
выполняется обновление кеша правил конвертации и правил регистрации.
Перенос выполнения данного обработчика на более поздний момент может
привести к негативным последствиям, связанным с применением неактуальных
(предназначенных для предыдущей версии) алгоритмов регистрации данных в
случае изменения или добавления данных:
· при выполнении других обработчиков обновления;
· при работе пользователей в программе.
Например, если в новой версии был переименован один из объектов
метаданных, участвующих в синхронизации, то попытка пользователя
отредактировать соответствующие данные будет приводить к ошибке в момент
их записи в информационную базу.
1.10. ИнформацияПриЗапуске.ОперативноеОбновлениеОбщихДанных (*)
выполняется оперативно для обновления неразделенных данных (кеша с
рекламой), т.к. реклама должна открываться сразу же после перехода на
новую версию программы.
1.11 ДатыЗапретаИзмененияСлужебный.ЗаменитьРазделыДатЗапретаНаНовые
(2.3.5.10) выполняется монопольно, так как до выполнения новые
пользователи могут получить доступ к закрытым периодам, а после
выполнения старые пользователи могут получить доступ к закрытым
периодам.
Мета-информация (пожалуйста, заполните если знаете):
- Номер стандарта:
acc_77
- Код проверки:
??my-check-id
- Тип ошибки:
ERROR
SECURITY
PERFORMANCE
WARNING
PORTABILITY
LIBRARY_DEVELOPMENT_AND_USAGE
CODE_STYLE
UI_STYLE
SPELLING
- Критичность:
BLOCKER
CRITICAL
MAJOR
MINOR
TRIVIAL
- Код ошибки АПК:
467
Параметры проверки
Текст ошибки
Использование монопольного или оперативного обработчика обновления.
Пример некорректного решения
Описание, почему так делать нельзя
Пример корректного решения
Дополнительные материалы