Настройки функциональности определяют внешний вид разделов, а также возможность работать с теми или иными справочниками и документами в программе. При изменении настроек необходимо учитывать, что если в информационной базе уже есть какие-то операции, которые определены настройками соответствующих функциональных опций, то программа не позволит эти функциональные опции выключить (снять с них флажки). К сожалению, эта информация есть только в руководствах, и любой пользователь с полными правами может нажать кнопку «Полная функциональность» и не получит никакого предупреждения о возможных последствиях.
Так и произошло в нашей программе. В поисках решения проблемы при переходе на очередное ФСБУ бухгалтер нажал кнопку «Полная функциональность» и о ужас: изменились проводки в документах прошлых лет, в торговых документах появилось поле «Подразделение» и т.д и т.п. К сожалению, эти отклонения были озвучены спустя 3 дня и бухгалтера стали заполнять новые поля в новых документах.
В этой публикации я поделюсь опытом исправления этой ситуации.
Во-первых, надо выяснить: какая функциональность изменилась. В программе отсутствует возможность распечатки значений всех констант функциональности.
Поэтому в предлагаемом расширении на форму «Функциональность программы» добавлена кнопка «Печать констант» (Рис.1), позволяющая распечатать таблицу констант функциональности с данными об имени константы, ее назначении (синоним), разделе функциональности, доступности для изменения и значении константы. (Рис.2). Сравнивая таблицу из текущей базы с таблицей из базы до изменения функциональности можно определить измененные константы.
Некоторые значения констант можно восстановить на форме. Но есть и другие. Например, установка константы «Обособленные подразделения» в разделе «Организация» ведет к появлению поля «подразделение» в торговых документах, и если это поле заполнено хотя бы в одном документе сброс константы невозможен. В этом случае на форме «Функциональность программы» эта константа появляется в нижней части формы под заголовком «Функциональность, которая используется и не может быть отключена».(Рис. 3).
При нажатии на наименование константы появляется список объектов, требующих изменения и в некоторых случаях рекомендации по исправлению (Рис. 4). После исправления (список объектов для изменения становится пустым) возможно появится доступ для изменения значения константы.
Для некоторых констант при нажатии выводится сообщение «Используется синхронизация данных с другими программами» и список объектов для изменения не выводится. Будем предполагать, что данные не переданы в другие программы. Для этого случая в расширение на закладке «Главное» введена константа «Отключена проверка синхронизации» (Рис.5). После установки флажка при нажатии на наименование константы будет выведен список объектов для изменения.
И, наконец, самый крайний случай. Если все списки объектов для изменения пусты, а доступа для изменения константы нет, то можно на свой страх и риск изменить константу с помощью специальных обработок (например, редактор констант из публикации //infostart.ru/1c/tools/1946049/ ) или же подставить имя и значение константы в тексте данного расширения (форма обработки «Функциональность программы» в фрагмент после текста «Принудительная установка доступности констант»).
После восстановления рекомендуется отключить расширение.
Работа реализована в виде расширения и проверялась на платформе 8.3.23.1912 и конфигурации Бухгалтерия КОРП 3.0.149.28.