Как настроить платформу и режим совместимости в 1С:Управление торговлей 10.3 для поддержки JSON и HTTPS?

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

Конфигурация «Управление торговлей, редакция 10.3» (УТ 10.3) является одной из самых стабильных и долгоживущих систем на базе «обычных форм». Однако современный мир требует интеграций с веб-сервисами, маркетплейсами и государственными системами, которые работают через JSON и защищенные HTTPS соединения. В этой статье мы подробно разберем, как правильно перевести старую добрую УТ 10.3 на платформу 8.3, какой режим совместимости выбрать и с какими подводными камнями нам придется столкнуться.

Разберемся с понятием режима совместимости 8.2.13

Для начала проанализируем ситуацию: почему в официальных релизах УТ 10.3 до сих пор упоминается режим Версия 8.2.13? Этот режим позволяет конфигурации, написанной много лет назад, работать на современных версиях платформы (8.3.Х), имитируя поведение старой платформы 8.2. Это гарантирует, что старые алгоритмы проведения документов, построения отчетов и работы интерфейса не «сломаются».

Однако работа в режиме совместимости Версия 8.2.13 накладывает серьезные ограничения:

  1. Ограниченная поддержка JSON: Хотя платформа 8.3.6 и выше технически поддерживает функции ПрочитатьJSON() и ЗаписатьJSON(), в режиме совместимости 8.2.13 автоматическая сериализация объектов может работать некорректно.
  2. Проблемы с современным HTTPS: Современные сервера требуют протоколы TLS 1.2 и выше. Старый режим совместимости заставляет платформу использовать устаревшие библиотеки OpenSSL, что часто приводит к ошибкам при попытке установить защищенное соединение.

Рассмотрим, как изменить эти настройки и какие последствия нас ожидают.

Выбор оптимальной версии платформы и режима совместимости

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

Вариант 1: Консервативный (8.3.9.1850)
Это «золотая середина». Платформа версии 8.3.9 и выше позволяет полноценно работать с HTTPS (TLS 1.2) и JSON. Если вы установите режим совместимости Версия 8.3.5 или Версия 8.3.9, вы получите доступ к новым методам, но при этом сохраните относительную стабильность обычных форм.

Вариант 2: Современный (8.3.12–8.3.14)
Если вам нужна максимальная производительность и работа с новыми механизмами (например, расширениями конфигурации), рекомендуется использовать платформы 8.3.12 или 8.3.14 с режимом совместимости Версия 8.3.8. Это позволит избежать самых жестких ограничений безопасности, появившихся в версиях 8.3.15+.

Как изменить режим совместимости в конфигураторе

Разберем по шагам процесс изменения настроек. Помните, что любые действия с режимом совместимости должны выполняться только на копии базы!

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

Борьба с «Защитой от опасных действий»

Проанализируем ситуацию: начиная с версии 8.3.9, платформа при попытке открыть внешнюю обработку (а УТ 10.3 на них построена) будет засыпать пользователя предупреждениями. Чтобы это не мешало работе, рассмотрим два способа решения:

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

Способ 2: Настройка файла conf.cfg
Мы можем глобально отключить эту проверку на уровне сервера или локального ПК. Для этого в файл conf.cfg (обычно находится в папке C:\Program Files\1cv8\conf) нужно добавить строку:

DisableSafeModeOptions=.*

Особенности работы с JSON в новом режиме

После поднятия режима совместимости мы можем использовать нативный механизм работы с данными. Посмотрим на пример кода, который станет доступен:


// Пример записи структуры в JSON
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
СтруктураДанных = Новый Структура("Товар, Цена", "Кирпич", 100);
ЗаписатьJSON(ЗаписьJSON, СтруктураДанных);
Результат = ЗаписьJSON.Закрыть();

Использование ЗаписатьJSON гораздо эффективнее, чем ручная сборка строки, так как платформа сама заботится об экранировании спецсимволов и кодировках.

Визуальные баги и масштабирование интерфейса

При использовании УТ 10.3 на платформе 8.3.10+ в режиме «обычных форм» мы можем столкнуться с проблемами отрисовки. Рассмотрим подробнее основные симптомы:

Для исправления проанализируем настройки ярлыка запуска 1С. Нажмите правой кнопкой на ярлык 1cv8.exe -> Свойства -> Совместимость -> Изменить параметры высокого DPI. Здесь стоит поэкспериментировать с режимом «Система (улучшенная)».

Влияние на производительность и блокировки

Смена режима совместимости меняет логику работы с SQL-сервером. Разберем важные моменты:

  1. Временные таблицы: В режиме 8.3 они работают быстрее, что ускоряет формирование «тяжелых» отчетов (например, Ведомости по партиям товаров).
  2. Блокировки: УТ 10.3 использует автоматический режим блокировок. При переходе на 8.3 риск Deadlocks (взаимных блокировок) может вырасти. Если вы заметили частые ошибки доступа к таблицам, рассмотрите возможность постепенного перевода критичных узлов на управляемые блокировки, хотя это потребует серьезного переписывания кода.

Итоговые рекомендации

Подведем итог нашему исследованию. Если вам нужно внедрить поддержку JSON и работу с современными API в УТ 10.3:

Такой подход позволит вам использовать современные программные инструменты, сохранив при этом привычный интерфейс и логику работы старой доброй «Торговли».

← На главную