При регулярных обновлениях и переходе на новые версии конфигураций пользователи и администраторы нередко сталкиваются с ситуацией, когда привычные отчеты по взаиморасчетам исчезают из разделов программы или ведут себя не так, как ожидалось. При этом в интерфейсе появляется аналогичный по названию отчет, группировки и детализация которого могут не устраивать бухгалтерию или менеджеров. Попытки сохранить пользовательскую настройку или выгрузить схему не возвращают старый отчет в стандартную панель отчетов подсистемы. Разберем детально архитектурные причины такого поведения и способы корректного решения проблемы.
Выясним причину, по которой отчет исчезает из видимости. В современных версиях конфигураций линейки 1С:Управление торговлей (а также 1С:ERP и 1С:Комплексная автоматизация) реализован постепенный перевод механизмов учета расчетов со старой офлайн-архитектуры на новую онлайн-архитектуру.
Разработчики создали совершенно разные объекты метаданных для каждого из режимов. Проанализируем это на примере расчетов с контрагентами:
Отчет.РасчетыСПоставщиками (или Отчет.РасчетыСКлиентами).Отчет.ВедомостьРасчетовСПоставщиками (или Отчет.ВедомостьРасчетовСКлиентами).В Библиотеке стандартных подсистем (БСП) действует строгое правило наследования видимости: функциональные опции применяются ко всему объекту отчета целиком. Если в информационной базе включена новая архитектура взаиморасчетов, старый объект отчета отключается функциональной опцией. Все варианты отчетов, включая созданные пользователями вручную, автоматически скрываются из командного интерфейса и панели отчетов. Даже если открыть старый отчет через меню функций для технического специалиста и попытаться сохранить его вариант, подсистема БСП принудительно отфильтрует его из списка разделов, поскольку базовый объект метаданных заблокирован функциональной опцией.
Прежде чем возвращать старую форму отчета, рассмотрим технические риски, с которыми может столкнуться информационная база. Старые и новые отчеты используют принципиально разные регистры накопления:
Если в базе активен онлайн-режим, движения по старым регистрам могут формироваться не полностью либо не актуализироваться вовремя. В результате данные старого отчета неизбежно начнут расходиться с фактическим сальдо, банковскими выписками и актами сверки взаимных расчетов. Поэтому наиболее безопасным подходом является настройка нового отчета.
Разберем по шагам самый корректный вариант, не требующий доработок конфигурации и не искажающий финансовые остатки:
Ведомость расчетов с поставщиками).Партнер > Контрагент > Договор.Поскольку объект Отчет.ВедомостьРасчетовСПоставщиками не заблокирован функциональной опцией, его сохраненный вариант сразу появится в панели отчетов соответствующего раздела у всех пользователей с нужными правами.
Если бухгалтерии или аналитикам категорически требуется прежний макет или алгоритм компоновки данных, старый отчет можно вывести в интерфейс в обход ограничений функциональной опции:
Отчет.РасчетыСПоставщиками), нажмем по нему правой кнопкой мыши и выберем команду Сохранить как внешний отчет в файл с расширением .erf..erf, назначим публикацию в нужных подсистемах (например, Закупки или Продажи) и укажем список пользователей.Внешний отчет не подчиняется функциональным опциям типовой конфигурации и будет штатно отображаться в разделе дополнительных отчетов.
Посмотрим на программную возможность отображения старых объектов. В конфигурации присутствует специальная константа, отвечающая за интерфейсную доступность старых форм:
Если установить значение константы НеНоваяАрхитектураВзаиморасчетов в значение Истина, это вернет видимость старых отчетов в командном интерфейсе подсистем. При этом сам механизм проведения документов и регистрации расчетов продолжит управляться константой НоваяАрхитектураВзаиморасчетов, что позволит избежать аварийной остановки работы учета.
Если принято решение включить старый отчет в состав командного интерфейса конфигурации через добавление в подсистемы с установкой флага Использовать стандартные команды, необходимо учитывать особенности механизма БСП.
Панель отчетов считывает информацию о вариантах не напрямую из дерева метаданных, а из служебного справочника вариантов. После внесения изменений в конфигураторе список вариантов отчетов может не обновиться сразу. Для принудительной синхронизации справочников запустим базу с ключом командной строки:
/ЗапуститьОбновлениеИнформационнойБазы
Либо выполним вызов программного метода БСП во внешней обработке:
ВариантыОтчетов.Обновить();
После завершения процедуры обновления служебных данных варианты отчетов займут свои места в панелях разделов согласно заданным метаданным.