Как исправить ошибку «Следующие настройки программы имеют недопустимые в базовой версии значения» при проведении документов в 1С?

Пользователь 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

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

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

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

  1. Перенос информационной базы из версии ПРОФ или облака: база данных была выгружена через файл выгрузки или архивную копию из сервиса аренды/SaaS или версии ПРОФ, где данные функциональные опции были активированы.
  2. Сбой регламентных процедур обновления: при обновлении релиза конфигурации фоновые обработчики Библиотеки стандартных подсистем (БСП) не завершили выполнение, из-за чего системные константы не были приведены к допустимым значениям по умолчанию.
  3. Ограничения базовой поставки: в типовой базовой конфигурации заложен жесткий программный контроль, запрещающий проведение документов при включении многофирменного учета, разделения данных или встроенного расчета заработной платы.

Способ 1. Отключение недопустимых констант через меню «Функции для технического специалиста» («Все функции»)

Рассмотрим самый доступный вариант исправления, не требующий написания программного кода. Если у учетной записи пользователя включены полные права, мы можем напрямую отредактировать значения констант в режиме предприятия.

  1. Включим отображение сервисного режима. Для этого перейдем в главное меню: «Настройки» $\rightarrow$ «Параметры» и установим флаг «Режим технического специалиста» (в более ранних версиях платформы — «Отображать команду "Все функции"»).
  2. Откроем главное меню и выберем пункт «Функции для технического специалиста» (или «Все функции»).
  3. Раскроем ветку «Константы».
  4. Найдем константу Использовать начисление зарплаты УТ, откроем ее форму и снимем флаг (установим значение в состояние «Отключено»).
  5. Найдем константу, отвечающую за настройку «Технология сервиса в локальном режиме». В дереве метаданных она называется Не использовать разделение по областям данных. Установим для нее значение Истина (флаг включен), тем самым подтверждая локальный однопользовательский режим работы.
  6. Перезапустим сеанс программы для сброса кэша функциональных опций и повторим проведение документа.

Способ 2. Программное отключение через внешнюю обработку

В базовых версиях конфигураций отсутствует возможность модификации конфигурации через конфигуратор, однако сохраняется возможность запуска внешних обработок через меню «Файл» $\rightarrow$ «Открыть». Напишем компактный алгоритм, который программно установит правильные значения для блокирующих констант.

Посмотрим на пример кода модуля внешней обработки:


&НаСервере
Процедура ИсправитьНастройкиБазовойВерсииНаСервере()
    // Отключаем не поддерживаемый в базовой версии функционал начисления зарплаты
    Константы.ИспользоватьНачислениеЗарплатыУТ.Установить(Ложь);
    
    // Включаем признак отсутствия разделения данных для локальной базы
    Константы.НеИспользоватьРазделениеПоОбластямДанных.Установить(Истина);
    
    // Принудительно обновляем параметры работы программы
    ОбновитьПовторноИспользуемыеЗначения();
КонецПроцедуры

Разберем, как работает данный алгоритм. Метод Установить() у менеджера константы записывает корректное булево значение непосредственно в базу данных. Вызов метода ОбновитьПовторноИспользуемыеЗначения() сбрасывает кэшированные сервером значения функциональных опций без обязательного немедленного перезапуска базы.

Способ 3. Использование типовой обработки «Групповое изменение реквизитов»

Если доступ к ветке констант ограничен или форма константы недоступна для интерактивного редактирования, воспользуемся универсальным типовым инструментом:

  1. Откроем форму «Групповое изменение реквизитов» через меню функций технического специалиста или раздел «НСИ и администрирование» $\rightarrow$ «Обслуживание» $\rightarrow$ «Корректировка данных».
  2. Нажмем кнопку «Дополнительные параметры» и активируем пункт «Показывать служебные реквизиты» (режим разработчика).
  3. В поле выбора элементов найдем объект «Константы».
  4. В списке доступных настроек найдем Использовать начисление зарплаты УТ и снимем галочку, а для настройки Не использовать разделение по областям данных — установим значение Да.
  5. Нажмем кнопку «Изменить реквизиты» и дождемся завершения выполнения операции.

Способ 4. Проверка и принудительный запуск процедур обновления

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

  1. Перейдем в раздел «НСИ и администрирование» $\rightarrow$ «Обслуживание» $\rightarrow$ «Результаты обновления программы».
  2. Проверим наличие аварийно завершенных или зависших дополнительных процедур обработки данных. При наличии ошибок нажмем кнопку повторного запуска.
  3. Если регламентные процедуры не запускаются в пользовательском режиме, закроем программу и выполним запуск с ключом командной строки: 1cv8.exe ENTERPRISE /F "ПутьКБазе" /C ЗапуститьОбновлениеИнформационнойБазы
  4. После успешного завершения всех фоновых процедур обновления проведем проблемный документ Поступление товаров и услуг или Установка цен номенклатуры.

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

← На главную