Начальные действия при работе конфигурации

#std556

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. В конфигурации должен быть предусмотрен механизм, автоматически определяющий как факт первого запуска конфигурации и выполняющий первоначальное заполнение информационной базы минимально необходимыми данными, так и факт первого запуска нового релиза и выполняющий необходимые изменения в базе (обновление данных ИБ).

При использовании в конфигурации Библиотеки стандартных подсистем такую возможность следует предоставлять средствами подсистемы «Обновление версии ИБ».

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

Методическая рекомендация (полезный совет)

2. Первоначальное заполнение ИБ может быть разделено на обязательное, без чего конфигурация не будет работать, и необязательное, которое облегчает начало эксплуатации продукта, но не является строго обязательным.

3. По результатам обработки информационной базы при первом запуске конфигурации или при первом запуске нового релиза конфигурации рекомендуется выводить администратору системы описание конфигурации или описание изменений в этой версии конфигурации.

4. Ситуации, когда обработка не проведена в требуемом объеме, должны контролироваться конфигурацией. При этом пользователю должно выводиться предупреждение о возникновении проблемной ситуации. Для вывода подробного протокола о выполненных операциях и возникших ошибках следует использовать журнал регистрации.

5. При наличии в конфигурации возможности работы в распределенной информационной базе (РИБ), следует реализовывать логику обновления данных ИБ в подчиненных узлах таким образом, чтобы она

В противном случае:

Например, неправильно:

ПрофильОбъект = Справочники.ПрофилиГруппДоступа.СоздатьЭлемент();
ПрофильОбъект.Наименование = НСтр("ru = 'Бухгалтер'");
ПрофильОбъект.Предустановленный = Истина;
ПрофильОбъект.Записать();

правильно:

НаименованиеПрофиля = НСтр("ru = 'Бухгалтер'");
Запрос = Новый Запрос(
 "ВЫБРАТЬ
 | ИСТИНА
 |ИЗ
 | Справочник.ПрофилиГруппДоступа КАК ПрофилиГруппДоступа
 |ГДЕ
 | ПрофилиГруппДоступа.Наименование = &Наименование И
 | ПрофилиГруппДоступа.Предустановленный = ИСТИНА");
Запрос.УстановитьПараметр("Наименование", НаименованиеПрофиля);
// Если элемента нет, только тогда нужно создать новый.
Если Запрос.Выполнить().Пустой() Тогда
  ПрофильОбъект = Справочники.ПрофилиГруппДоступа.СоздатьЭлемент();
  ПрофильОбъект.Наименование = НаименованиеПрофиля;
  ПрофильОбъект.Предустановленный = Истина;
  ПрофильОбъект.Записать();
КонецЕсли;