Начиная с релиза 1.3.123.1, конфигурация «Управление производственным предприятием» (УПП) требует использования технологической платформы «1С:Предприятие 8» версии не ниже 8.3.12.1685. Это изменение вызвало множество вопросов у администраторов и разработчиков, так как УПП традиционно работала на ветке 8.2. Разберем подробно причины этого перехода, проанализируем возникающие проблемы и рассмотрим по шагам методы их решения.
Выясним, чем вызвана такая резкая смена системных требований. Основными факторами стали развитие государственных информационных систем и унификация кода между различными прикладными решениями 1С. Рассмотрим их подробнее:
#Область и #КонецОбласти. Хотя это элементы оформления, старый конфигуратор 8.2 не может корректно обрабатывать такие модули, что приводит к ошибкам при глобальном поиске или сохранении конфигурации.ВыполнитьОбработкуОповещения. Эти функции появились в платформе 8.3.3 и активно используются в современных библиотеках (БСП), внедряемых в УПП.Проанализируем ситуацию, когда при попытке обновить базу данных после наката релиза 1.3.123 возникает критическая ошибка: «Ошибка SDBL: Для одного ссылочного кода существует более одной таблицы в базе данных». Эта проблема часто встречается на крупных базах при переходе с платформы 8.2 на 8.3. Посмотрим на алгоритм исправления:
Причина кроется в некорректном сопоставлении внутренних идентификаторов таблиц при смене движка платформы. Для решения выполним следующие действия:
Разберем типичную проблему релиза 1.3.123.2: у пользователей без полных прав перестают открываться документы «Реализация товаров и услуг» или «Поступление товаров и услуг». Выясним причину: программа пытается проверить дату обязательной маркировки табака через обращение к константе, на которую у рядовых сотрудников нет прав.
Посмотрим на пример кода, вызывающего ошибку в общем модуле ИнтеграцияМОТПВызовСервера:
Возврат Константы.ДатаОбязательнойМаркировкиТабачнойПродукцииМОТП.Получить();
Для устранения этой проблемы рассмотрим два способа:
БазовыеПраваМОТП и добавим ее всем пользователям, работающим с торговыми документами.Пользователь и добавим ей право «Чтение» на константу ДатаОбязательнойМаркировкиТабачнойПродукцииМОТП, а также на справочник ШтрихкодыУпаковокТоваров.Часто возникает ситуация «зоопарка» платформ: УПП требует 8.3.12, а другие базы (например, «Альфа-Авто») работают только на 8.3.10. При попытке обмена через COM-соединение возникнет ошибка несоответствия версий. Рассмотрим, как настроить совместную работу через COM+:
V83_COM_Connector. Установим способ активации — «Серверное приложение».comcntr.dll нужной версии платформы (например, из папки 8.3.12.xxxx\bin).V83.COMConnector система будет использовать изолированный процесс с нужной версией библиотеки.После перехода на 8.3.14 или выше в толстом клиенте УПП наблюдаются проблемы с привязками: в документе «Платежное поручение входящее» табличная часть может «уезжать» за границы формы, вызывая бесконечный скроллинг. Проанализируем способ программного исправления этого поведения.
Зайдем в модуль формы документа и найдем процедуру УстановитьВидимость. Рассмотрим фрагмент кода, который нужно закомментировать, так как в новых версиях платформы расчет высоты элементов в толстом клиенте изменился:
// ЭлементыФормы.РасшифровкаПлатежа.Высота = ЭлементыФормы.ПанельПлатежи.Высота;
Это позволит платформе самостоятельно рассчитать геометрию формы согласно установленным привязкам, не вызывая конфликта размеров.
Если по каким-то причинам переход на 8.3.12 невозможен (например, из-за старого серверного оборудования), некоторые специалисты прибегают к «вырезанию» нового функционала. Рассмотрим, какие места потребуют правки, но помним, что это лишит нас возможности использовать маркировку и ЕГАИС:
#Область и #КонецОбласти во всех модулях.ДлительныеОперацииГлобальный и ИнтеграцияИСУТГлобальный нужно закомментировать вызовы ВыполнитьОбработкуОповещения или обернуть их в конструкцию Попытка...Исключение.Пример «безопасного» вызова для работы на разных платформах:
Попытка
ВыполнитьОбработкуОповещения(Оповещение, Результат);
Исключение
// Метод не поддерживается данной платформой
КонецПопытки;
Мы проанализировали основные сложности перехода УПП на новую платформу. Подведем итоги: наиболее стабильной версией для «толстого» интерфейса УПП на данный момент считается ветка 8.3.12.1790. При обновлении обязательно выполняйте реструктуризацию таблиц для избежания ошибок SDBL и не забывайте про новые роли, связанные с маркировкой товаров. Это обеспечит бесперебойную работу системы в условиях меняющегося законодательства.