Рассмотрим распространенную и крайне неприятную ситуацию: пользователь попытался изменить структуру Плана счетов (например, сделал счет 304.03 группой, пометил на удаление или переименовал его), а затем создал новый счет с тем же кодом вручную. В результате при попытке ввода остатков или проведения документов система выдает сообщения о некорректных проводках, сумма отражается обобщенно, а в регламентированный Бухгалтерский баланс на начало года данные по счету не попадают.
Разберем подробно причины такого поведения программы и выясним, как вернуть системный счет в рабочий план счетов и восстановить автозаполнение отчетности.
Проанализируем механику работы платформы «1С:Предприятие». Все типовые счета, заложенные разработчиками конфигурации (например, по Инструкции № 157н), являются предопределенными элементами. В интерфейсе Плана счетов они обозначаются специальным пиктографическим знаком — «точкой» или желтым кружком.
Связь между объектом информационной базы и алгоритмами программы осуществляется не по текстовому номеру счета (например, "304.03"), а по уникальной ссылке и системному атрибуту ИмяПредопределенныхДанных. Когда регламентированный отчет (Бухгалтерский баланс) собирает показатели, он обращается напрямую к предопределенному счету из конфигуратора.
Если создать счет вручную через копирование или кнопку «Создать»:
ИмяПредопределенныхДанных у такого счета остается пустым.В большинстве случаев физически удалить предопределенный счет из базы данных стандартными средствами пользователь не может. Чаще всего оригинальный счет остается в системе, но у него оказывается изменен код, имя или подчиненность.
Посмотрим на порядок действий для поиска сбитого счета:
Родитель (снять подчиненность). После этого статус группы с оригинального счета снимется.304.03 и настроить состав субконто (обычно это Контрагенты и Виды удержаний).Перечисление удержаний из зарплаты, выплат по оплате труда, стипендий (304.03) и посмотрим, какой счет указан в настройках. Кликнув по счету из этого справочника, можно перейти прямо в карточку оригинального предопределенного элемента.Перейти — Основные правила заполнения — Карта данных). Напротив строки 533 увидим прямую ссылку на оригинальный счет 304.03. По этой ссылке можно открыть и отредактировать истинный счет.Если оригинальный счет был поврежден или отвязан от метаданных, пользовательскому счету можно программно вернуть признак предопределенного элемента. Начиная с платформы 8.3, реквизит ИмяПредопределенныхДанных доступен для записи через программный код.
Пример кода для внешней обработки или запуска в режиме конфигуратора/отладчика:
СчетОбъект = ПланыСчетов.ЕдиныйПланСчетовБухгалтерскогоУчета.НайтиПоКоду("304.03").ПолучитьОбъект();
Если СчетОбъект <> Неопределено Тогда
СчетОбъект.ИмяПредопределенныхДанных = "РасчетыПоУдержаниямИзВыплатПоОплатеТруда";
СчетОбъект.Записать();
КонецЕсли;
После выполнения данного кода у счета в интерфейсе появится «точка», и он снова начнет восприниматься алгоритмами заклика и автозаполнения отчетности как системный счет.
Если в базе успели сформировать документы и ввести остатки по новому пользовательскому счету, а затем восстановили оригинальный системный счет, в системе образуется два счета с одинаковым кодом 304.03.
Разберем алгоритм объединения данных:
Поиск и замена дублей (находится в разделе Администрирование — Обслуживание — Корректировка данных).Важно: Перед выполнением любых операций по восстановлению метаданных или замене элементов в Плане счетов обязательно создайте резервную копию (dt-файл) информационной базы.