При обновлении конфигурации «1С:Управление торговлей» (особенно при переходе на релизы ветки 11.4.6 и выше) пользователи часто сталкиваются с критической проблемой: документы Ввод начальных остатков, введенные ранее или созданные в результате свертки базы, перестают формировать движения по регистрам накопления. Отчеты по взаиморасчетам «плывут», а попытка перепровести документ вручную заканчивается ошибками: «Операция должна отражаться в одном из учетов» или «Не заполнена колонка Сумма (упр.)».
В данной статье мы подробно разберем причины возникновения этой ситуации и пошагово рассмотрим методы ее решения, основываясь на опыте практикующих специалистов.
Выясним причину такого поведения системы. Начиная с версии 11.4.6, компания 1С внедрила новую архитектуру взаиморасчетов (так называемые «Онлайн-взаиморасчеты»). В связи с этим радикально изменилась структура документа Ввод начальных остатков. Теперь для корректного формирования движений системе требуются явно установленные признаки отражения в различных видах учета (оперативный, управленческий, регламентированный).
В процессе обновления базы данных запускаются процедуры отложенного обновления. Если эти процедуры завершились с ошибкой или были прерваны, реквизиты в старых документах остаются незаполненными. Поскольку в новой версии логики проведения эти поля являются обязательными, документы «теряют» свои движения, хотя в списке могут отображаться как проведенные.
Проанализируем самый эффективный и быстрый способ восстановления данных без использования программирования. Рассмотрим по шагам, как вернуть документам способность формировать проводки.
Ввод начальных остатков. Если документов много, настроим фильтр по конкретным типам операций (например, «Задолженность клиентов» или «Задолженность поставщикам»).Отражать в оперативном учете и установим для него значение Да.Отражать в управленческом учете и также установим значение Да.Важный нюанс: Если после изменения реквизитов документ все равно выдает ошибку о незаполненной сумме (упр.), это означает, что в базе настроено ведение учета в нескольких валютах, и системе не хватает данных для пересчета. В этом случае потребуется также заполнить колонку СуммаУпр в табличной части документа.
Рассмотрим ситуацию, когда стандартная обработка не справляется (например, если нужно заполнить данные в табличных частях программно). Проанализируем пример кода, который поможет автоматизировать процесс восстановления флагов и сумм в документах.
Выборка = Документы.ВводНачальныхОстатков.Выбрать(ДатаНачала, ДатаКонца);
Пока Выборка.Следующий() Цикл
ОбъектДок = Выборка.ПолучитьОбъект();
// Устанавливаем признаки отражения в учете
ОбъектДок.ОтражатьВОперативномУчете = Истина;
ОбъектДок.ОтражатьВУправленческомУчете = Истина;
ОбъектДок.ОтражатьВРегламентированномУчете = Истина;
// Проходим по табличной части "Данные по расчетам" (имя ТЧ зависит от типа операции)
Для Каждого СтрокаТЧ Из ОбъектДок.РасчетыСПоставщиками Цикл
Если СтрокаТЧ.СуммаУпр = 0 Тогда
// Если сумма в упр. валюте не заполнена, заполняем ее из валюты взаиморасчетов
СтрокаТЧ.СуммаУпр = СтрокаТЧ.Сумма;
КонецЕсли;
КонецЦикла;
Попытка
ОбъектДок.Записать(РежимЗаписиДокумента.Проведение);
Сообщить("Документ " + ОбъектДок + " успешно проведен");
Исключение
Сообщить("Ошибка при проведении " + ОбъектДок + ": " + ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
Данный код позволяет «пробежаться» по старым документам и принудительно проставить необходимые значения, которые игнорируются при обычном интерактивном перепроведении.
Иногда даже после перепроведения документов отчеты показывают некорректные цифры. Разберем ситуацию, когда возникают расхождения между регистрами РасчетыСКлиентами и РасчетыСКлиентамиПоДокументам. Это случается из-за того, что новая архитектура требует синхронизации данных в обоих регистрах.
Для исправления «фантомных» остатков выполним следующие действия:
Ввод начальных остатков.Посмотрим на настройки функциональных опций, которые могут влиять на поведение документов ввода остатков. Проанализируем раздел НСИ и администрирование — Финансовый результат и контроллинг. Обратим внимание на настройку Управленческий баланс. Если она включена, система будет требовать более детального заполнения аналитики в документах остатков.
Также крайне важно проверить раздел НСИ и администрирование — Обслуживание — Результаты обновления программы. Если там висят незавершенные процедуры, связанные с переходом на онлайн-взаиморасчеты, необходимо запустить их принудительно. Пока эти фоновые задания не будут выполнены, отчетность по расчетам может оставаться недостоверной.
Резюмируем: Проблема «слетевших» остатков в УТ 11.4 — это не потеря данных, а следствие их неполной миграции в новую структуру учета. Использование группового изменения реквизитов для установки флагов ОтражатьВОперативномУчете и корректное заполнение управленческих сумм решают эту задачу в большинстве случаев.