Как продолжить работу с конфигурацией Бухгалтерия предприятия 2.0 при прекращении поддержки платформы 8.2

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При обслуживании и обновлении информационных баз конфигурации «Бухгалтерия предприятия», редакция 2.0 разработчики и администраторы сталкиваются с ситуацией, когда очередное регламентированное обновление отказывается компилироваться или запускаться на платформе «1С:Предприятие 8.2». Разберем технические причины такого поведения, выясним, какие именно механизмы перестают работать, и рассмотрим пути решения возникшей проблемы.

Синтаксические причины несовместимости обновлений с версией 8.2

Основное техническое препятствие при установке свежих релизов конфигурации на платформу 8.2 заключается в появлении новых директив препроцессора. Начиная с платформы «1С:Предприятие 8.3», разработчикам стал доступен синтаксический механизм группировки программного кода в модулях с помощью ключевых слов #Область (#Region) и #КонецОбласти (#EndRegion).

Синтаксический анализатор платформы 8.2 не обучен работе с этими директивами. Когда компилятор на платформе 8.2 встречает подобную конструкцию, он определяет ее как нераспознанный оператор препроцессора и аварийно завершает синтаксический контроль модуля:


#Область СлужебныеПроцедурыИФункции

Процедура ПроверитьЗаполнениеДанных()
    // Логика проверки
КонецПроцедуры

#КонецОбласти

В результате база данных не может применить обновление конфигурации («Обновить конфигурацию базы данных»), выдавая критическую синтаксическую ошибку.

Ограничения сетевых протоколов и криптографии

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

  1. Протоколы шифрования и TLS: Платформа 8.2 создавалась до массового перехода государственных и банковских интернет-сервисов на современные стандарты шифрования (TLS 1.2 и выше). При попытке использовать обмен с банками через DirectBank, сервис 1С-Отчетность или проверку контрагентов платформа выдает ошибки защищенного соединения.
  2. Сетевые сервисы и классификаторы: Загрузка классификаторов ФИАС/ГАР, курсов валют и банковских реквизитов по защищенным протоколам HTTPS из ядра платформы 8.2 становится невозможной.
  3. Механизмы БСП: Новые версии библиотек содержат встроенные проверки легальности обновлений и вызовы системных функций, доступных только в ядре платформы 8.3.

Способ 1. Запуск конфигурации 2.0 на платформе 8.3 (Рекомендуемый вариант)

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

Разберем процесс настройки по шагам:

  1. Установка платформы: Установим актуальную версию платформы «1С:Предприятие 8.3» на сервер или рабочие станции. Установка платформы 8.3 происходит параллельно с 8.2 и не нарушает работу других информационных баз.
  2. Настройка диалога запуска: В окне запуска информационных баз откроем свойства нужной базы и в поле Версия 1С:Предприятия укажем 8.3 (или оставим поле пустым, чтобы запускалась последняя установленная версия).
  3. Проверка режима совместимости: Откроем конфигурацию в режиме Конфигуратор. Перейдем в свойства корневого элемента конфигурации. Убедимся, что свойство Режим совместимости установлено в значение Версия 8.2.13 или Версия 8.2.16. Это гарантирует, что конфигурация продолжит функционировать в привычном режиме Толстый клиент (обычное приложение).

При таком подходе платформа 8.3 успешно обрабатывает директивы #Область и #КонецОбласти, штатно выполняет компиляцию всех модулей и позволяет обновлять базу стандартными файлами поставок (.cf / .cfu) без вмешательства в код.

Способ 2. Ручная нейтрализация директив препроцессора на платформе 8.2

Если по инфраструктурным причинам (например, эксплуатация базы на устаревшей операционной системе Windows Server 2003, где запуск актуальных версий 8.3 затруднен) переход на 8.3 временно невозможен, существует обходной путь. Проанализируем, как устранить ошибку компиляции вручную.

Для продолжения работы на платформе 8.2 потребуется отключить директивы областей в модулях, где они присутствуют:

  1. В конфигураторе снимем конфигурацию с полной поддержки (включим режим редактирования с сохранением поддержки).
  2. Запустим поиск по конфигурации текста #Область и #КонецОбласти (или англоязычных аналогов #Region и #EndRegion). Обычно они встречаются в нескольких общих модулях и модулях регламентированных отчетов.
  3. Закомментируем каждую строку с неподдерживаемой директивой:

//#Область СлужебныеПроцедурыИФункции

Процедура ПроверитьЗаполнениеДанных()
    // Логика процедуры остается без изменений
КонецПроцедуры

//#КонецОбласти

После комментирования сохраним изменения нажатием клавиши F7. Платформа 8.2 успешно обновит базу данных.

Обратите внимание на риски данного способа: ручная правка кода требует снятия конфигурации с типовой поддержки. При выпуске каждого следующего обновления операцию комментирования придется повторять заново при сравнении и объединении конфигураций. Кроме того, внешние регламентированные отчеты и обработки, поставляемые разработчиком, также могут содержать синтаксис 8.3 и перестанут открываться на платформе 8.2.

← На главную