Как исправить ошибки при обновлении 1С:УПП до релиза 183.2 и устранить проблемы с проведением документов?

Программист 1С v8.3 (Обычные формы) Промышленность, строительство и АПК
← На главную

Обновление конфигурации «Управление производственным предприятием» (УПП) версии 1.3.183.2 часто сопровождается рядом технических сложностей. В этой статье мы подробно разберем, как справиться с ошибками преобразования XDTO, решить проблему доступа к серверу обновлений и исправить программные ошибки в модулях партионного учета, возникшие из-за внедрения функционала ФСБУ 25/2018.

Проблема 1: Ошибка преобразования данных XDTO при загрузке конфигурации

Многие технические специалисты при попытке обновления на релиз 183.2 сталкиваются с сообщением: Ошибка преобразования данных XDTO: НачалоСвойства: useQueryGroupIfPossible. Проанализируем ситуацию: это происходит потому, что в новых релизах конфигурации используются свойства схем компоновки данных (СКД), которые «старые» версии платформы просто не умеют распознавать.

Почему это происходит? Свойство useQueryGroupIfPossible было введено разработчиками 1С для оптимизации запросов, и если ваша платформа ниже определенного уровня, она воспринимает этот тег в XML-структуре как некорректный. Несмотря на то, что в официальном ReadMe.txt указана минимальная версия 8.3.14, практика показывает, что этого недостаточно.

Как решить проблему:

  1. Рассмотрим вариант обновления платформы. Для стабильной работы с релизом 183.2 и выше рекомендуется использовать версии не ниже 8.3.17.1851 или 8.3.18.1201.
  2. Если ваша рабочая среда жестко привязана к старой платформе, выполните само обновление (применение .cfu или .cf файла) на отдельном сервере или локальном ПК с установленной актуальной версией платформы (например, 8.3.19 или 8.3.20).
  3. После успешного обновления конфигурации в базе (в режиме Конфигуратора) на новой платформе, выгрузите .dt или .cf и верните его в рабочую среду. Однако помните, что работа пользователей также может быть затруднена на слишком старых версиях платформы.

Проблема 2: Ошибка «Поле объекта не обнаружено (ЭтоПоступлениеАренды)»

После успешного обновления может возникнуть ошибка при попытке провести документ «Поступление товаров и услуг» (ПТиУ). Программа выдает исключение в общем модуле УправлениеЗапасамиПартионныйУчет. Выясним причину: это связано с тем, что в структуру параметров шапки документа не всегда попадает новый реквизит, отвечающий за учет аренды.

Проанализируем программный код и внесем необходимые правки. Нам нужно найти строку в общем модуле УправлениеЗапасамиПартионныйУчет (ориентировочно строка 13697) и заменить небезопасное обращение к свойству на проверку его наличия.

Было:


Если СтруктураШапкиДокумента.ЭтоПоступлениеАренды Тогда
    // Логика проведения
КонецЕсли;

Необходимо заменить на:


Если СтруктураШапкиДокумента.Свойство("ЭтоПоступлениеАренды") И СтруктураШапкиДокумента.ЭтоПоступлениеАренды Тогда
    // Логика проведения
КонецЕсли;

Такой подход с использованием метода Свойство() позволяет избежать аварийного завершения работы системы, если ключ ЭтоПоступлениеАренды не был инициализирован в конкретном сценарии проведения. Это особенно актуально для кастомизированных баз, где механизмы формирования структуры шапки могли быть изменены.

Проблема 3: Доступ к серверу обновлений и ошибки TLS

Часто при попытке автоматического обновления возникает ошибка: Ошибка при вызове метода контекста (Получить). Разберем, как с этим бороться. Проблема может крыться не только в регламентных работах на стороне 1С, но и в настройках безопасности вашего сервера.

Основные причины и решения:

  1. Протокол TLS 1.2: Серверы 1С (downloads.1c.ru) требуют поддержки современных протоколов шифрования. Если вы работаете на устаревших ОС (например, Windows Server 2008), необходимо убедиться, что поддержка TLS 1.2 включена на уровне системы.
  2. Ручное обновление: Мы рекомендуем отказаться от автоматического обновления через конфигуратор в пользу ручной загрузки дистрибутивов. Скачайте нужный релиз с портала ИТС, установите его в локальный каталог шаблонов и выполните обновление через Конфигурация — Поддержка — Обновить конфигурацию, выбрав файл вручную.

Проблема 4: Ошибка «Тип не определен (Запрос)» на платформе 8.3.19 и выше

При переходе на новые версии платформы программисты УПП часто сталкиваются с ошибкой компиляции: Тип не определен (Запрос) Запрос = Новый Запрос; (Проверка: Тонкий клиент). Рассмотрим ситуацию подробнее: УПП — это конфигурация на обычных формах, предназначенная для работы в режиме Толстого клиента. В новых версиях платформы проверки модулей стали строже.

Посмотрим, как это исправить:

  1. Зайдем в меню Сервис — Параметры.
  2. Перейдем на закладку Модули — Проверка.
  3. Снимем флажок с пункта «Тонкий клиент». Поскольку УПП не предназначена для полноценной работы в Тонком клиенте, эта проверка только мешает процессу разработки и обновления.
  4. Также убедитесь, что в свойствах ваших доработанных общих модулей не стоит галочка «Клиент (управляемое приложение)», если внутри модуля используется серверный код без инструкций препроцессора #Если Сервер Тогда.

Изменения в партионном учете (начиная с релиза 173.1)

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

Логика теперь распределена внутри общих механизмов формирования движений, что позволяет системе работать быстрее и избегать двойных расчетов. При анализе кода всегда проверяйте наличие новых методов в модуле УправлениеЗапасамиПартионныйУчет, так как 1С постепенно переносит туда всю ключевую логику расчетов по ФСБУ.

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

← На главную