При выполнении регламентных операций по закрытию месяца в конфигурации 1С:Управление торговлей (УТ 11.4) пользователи и администраторы баз данных периодически сталкиваются с ситуацией, когда процесс прерывается ошибками. Давайте подробно разберем по шагам две взаимосвязанные проблемы, которые часто возникают вместе: программную ошибку «Разное количество полей в объединяемых запросах» и методологическую ошибку «Период еще не был пересчитан в партионном учете версии 2.2».
Мы проанализируем причины возникновения данных сбоев и рассмотрим несколько рабочих способов их решения, от штатного обновления до точечной корректировки кода конфигурации.
Чаще всего эта ошибка возникает после обновления конфигурации до версии 11.4.13.47. Во время выполнения этапа закрытия месяца «Распределение расходов по направлениям деятельности» система выдает большое сообщение с дампом ошибки, которое заканчивается причиной: Разное количество полей в объединяемых запросах. В деталях ошибки можно увидеть ссылки на Документ.РаспределениеПрочихЗатрат.МодульМенеджера и методы РаспределитьРасходыНаФинансовыйРезультат.
Выясним причину: это официально зарегистрированная ошибка разработчиков фирмы «1С» (Код ошибки: 00-00328783). Поскольку УТ 11.4 построена на единой архитектуре с конфигурациями 1С:Комплексная автоматизация (КА 2.4) и 1С:ERP Управление предприятием 2.4, эта проблема массово блокирует расчет себестоимости во всех перечисленных системах.
Рассмотрим варианты решения данной ситуации:
Посмотрим на пример того, как исправить код вручную. Нам необходимо открыть модуль менеджера документа РаспределениеПрочихЗатрат. Находим процедуру РаспределитьРасходыНаФинансовыйРезультат. Внутри этой процедуры формируется временная таблица РаспределенныеРасходы.
Во втором запросе объединения (оператор ОБЪЕДИНИТЬ ВСЕ) необходимо найти и удалить (или закомментировать) следующие три строки кода:
// Строки, подлежащие удалению из текста запроса:
| НЕОПРЕДЕЛЕНО КАК ЗаказНаПроизводство,
| НЕОПРЕДЕЛЕНО КАК КодСтрокиПродукция,
| НЕОПРЕДЕЛЕНО КАК ПартияПроизводства,
После удаления этих строк количество полей в объединяемых частях запроса сравняется, и ошибка уйдет.
Даже после устранения программного сбоя, месяц может не закрываться из-за ошибки расчета партий. При этом в журнале регистрации может не быть явных указаний на проблемный документ, предыдущие и последующие периоды закрываются нормально, а штатные отчеты не показывают отрицательных остатков товаров. Рассмотрим подробнее, где искать причину и как исправить ситуацию.
В архитектуре УТ 11.4 партионный учет крайне чувствителен к хронологии и чистоте данных. Разберем основные причины, блокирующие расчет:
ЗаданияКРасчетуСебестоимости или ЗаданияКРаспределениюРасчетов. Из-за предыдущих сбоев (например, прерванного закрытия месяца) там может остаться зависшая запись за старые периоды. Откройте эти регистры через «Функции для технического специалиста». Если вы видите там невыполненные задания по проблемному месяцу — очистите их вручную и запустите закрытие месяца заново.СебестоимостьТоваров или ДетализацияСебестоимостиПартийТоваров. Настройте отбор, где конечный остаток по количеству равен 0, а по сумме — не равен 0.При выявлении зависших партий или суммовых хвостов категорически не рекомендуется пытаться выровнять себестоимость с помощью документа «Операция, введенная вручную». Партионный учет версии 2.2 использует сложную систему связанных регистров. Ручная проводка, сделанная без учета этой архитектуры, приведет к еще большему искажению данных и полной неработоспособности закрытия в последующих месяцах. Для автоматизированного решения этой проблемы можно использовать обработку для исправления ненулевых остатков по суммам при нулевом количестве.
Если проблемный период уже закрыт для редактирования бухгалтерией и перепроведение невозможно, любые исправления должны вноситься исключительно через специализированный документ КорректировкаРегистров в текущем открытом периоде, с обязательным дублированием движений по всем взаимосвязанным учетным регистрам. Для этой задачи подойдёт помощник закрытия месяца для автоматического формирования корректировок регистров себестоимости.