Переход на новые релизы в рамках конфигурации «1С:Управление производственным предприятием» (УПП), редакция 1.3 часто сопряжен с трудностями. Особенно остро это ощущается, когда законодательство меняется стремительно, а регулярный доступ к обновлениям ограничен. В этой статье мы подробно разберем, какие критически важные изменения произошли в решениях УПП после версии 1.3.139.1, с какими техническими сбоями можно столкнуться при интеграции с банками и как исправить популярную ошибку СУБД при обновлении базы данных.
Давайте проанализируем, ради каких изменений действительно стоит распечатать очередной конверт с пин-кодом активации поддержки или продлить ИТС. Основные нововведения коснулись двух крупных блоков: расчетов по исполнительным листам и антикризисных тарифов страховых взносов.
1. Указание кодов доходов и удержанных сумм по исполнительному производству.
В соответствии с требованиями Федерального закона № 12-ФЗ и Указания ЦБ РФ № 5286-У, начиная с июня 2020 года, все работодатели обязаны указывать в платежных поручениях специальные коды видов доходов. Это необходимо для того, чтобы судебные приставы и банки понимали, с каких сумм можно производить удержание, а какие защищены законом (например, детские пособия или компенсации).
В типовом решении УПП, начиная с релиза 1.3.142, реализован следующий функционал:
ОбщаяСуммаУдержаний. Это позволяет банку корректно списывать долги сотрудников, зная, сколько уже удержал сам работодатель по исполнительным листам.2. Новые льготные тарифы страховых взносов.
Для поддержки бизнеса в условиях пандемии были введены новые тарифы страховых взносов. В частности, для наиболее пострадавших отраслей на период с апреля по июнь был реализован тариф со ставкой 0% по всем фондам. В учетной политике организации (регистр сведений УчетнаяПолитикаОрганизаций) этот тариф необходимо устанавливать вручную. Начиная с июля, пользователям требуется переключить тариф обратно на базовый или льготный тариф для субъектов малого и среднего предпринимательства (МСП).
---
Если вы решите повременить с обновлением конфигурации и остаться на релизе 1.3.139.1, вы гарантированно столкнетесь с проблемой при загрузке ежедневных банковских выписок. Давайте разберем по шагам, почему это происходит и как исправить ситуацию.
Выясним причину сбоя:
Банковские организации обновили программное обеспечение своих клиент-банков и начали включать в текстовые файлы выгрузки (форматы обмена 1.01, 1.02, 1.03) новое поле КодНазПлатежа (Код назначения платежа). Ваша старая конфигурация УПП при чтении файла обмена натыкается на этот неизвестный ей тег. Обработка импорта не умеет его обрабатывать, в результате чего загрузка выписки аварийно завершается с ошибкой разбора файла.
Как решить проблему без полного обновления конфигурации:
Если вам нужно срочно загрузить выписку, а обновить программу прямо сейчас нет возможности, мы можем пойти двумя путями:
Вариант А: Изменение настроек на стороне банка.
Некоторые банки (например, Сбербанк) позволяют временно обойти эту проблему. На стороне личного кабинета клиент-банка при экспорте выписки выберите более старую версию формата обмена (например, 1.02 вместо 1.03). Однако это лишь временная мера, так как банки постепенно полностью переходят на новые стандарты.
Вариант Б: Доработка кода загрузки выписок в 1С.
Для программистов самым надежным решением будет точечное вмешательство в код обработки импорта клиент-банка. Нам необходимо заставить парсер игнорировать неизвестную строку КодНазПлатежа или корректно ее пропускать.
Рассмотрим пример кода, который можно внедрить в процедуру чтения файла выгрузки (как правило, это обработка КлиентБанк):
// В процедуре анализа очередной строки файла обмена
СтрокаФайла = Ввод.ПрочитатьСтроку();
ИмяРеквизита = НайтиИмяРеквизита(СтрокаФайла); // Получаем имя тега
Если ИмяРеквизита = "КодНазПлатежа" Тогда
// Игнорируем данную строку, чтобы избежать аварийного завершения парсера
Продолжить;
КонецЕсли;
После внесения этого небольшого изменения загрузка файлов выписок будет проходить в штатном режиме, даже если банк передает новые параметры исполнительного производства.
---
При попытке обновить базу данных УПП до релиза 1.3.142 вы можете столкнуться со следующей ошибкой СУБД:
«Ошибка обновления конфигурации базы данных. Для одного ссылочного кода существует более одной таблицы в базе данных. Имена таблиц с кодом 878: CKinds878, CKindsDN18082...»
Разберем причину ошибки:
Данная проблема чаще всего возникает в клиент-серверных базах данных (на MS SQL Server, PostgreSQL) при обновлении сильно доработанных конфигураций или баз, которые долгое время не обновлялись и перешагнули сразу через несколько релизов. Платформа 1С:Предприятие путается во внутренних идентификаторах и пытается сопоставить один и тот же метаданный объект (в данном случае — план видов характеристик или виды субконто) двум разным физическим таблицам в СУБД.
Пошаговый алгоритм решения проблемы:
Для устранения этого конфликта нам необходимо выполнить комплекс мер по очистке и реструктуризации базы данных. Выполняйте эти действия строго по порядку:
_CKindsDN18082). Это временные таблицы, которые платформа создает при обновлении и не удаляет из-за сбоев транзакций.
DROP TABLE _CKindsDN18082;
После этого повторите попытку обновления конфигурации базы данных (клавиша F7 в Конфигураторе).
.dt) и ее последующая загрузка в новую чистую базу данных. В процессе выгрузки-загрузки платформа автоматически перестраивает индексы и удаляет дублирующиеся служебные таблицы.---
Проанализировав все изменения, мы можем сделать однозначный вывод. Если ваше предприятие активно ведет расчеты с сотрудниками по заработной плате, осуществляет удержания по исполнительным листам и переводит средства через реестры зарплатных проектов, обновление до релиза 1.3.142 и выше является строго обязательным.
Если же вы используете УПП исключительно для целей регламентированного учета производства, а расчет зарплаты ведете в сторонней программе (например, в ЗУП), вы вполне можете временно остаться на релизе 1.3.139.1. В этом случае вам достаточно будет точечно доработать механизм загрузки банковских выписок, как мы описали выше, чтобы не испытывать проблем при взаимодействии с клиент-банками.