В процессе ведения учета в программных продуктах 1С, особенно в конфигурациях «1С:Бухгалтерия государственного учреждения» (БГУ 1.0 и 2.0), пользователи часто сталкиваются с неприятной ситуацией. В какой-то момент стандартный предопределенный счет (например, 105.33 «Посуда») перестает быть доступным для выбора в документах и операциях, превращаясь в желтую папку — группу счетов. При попытке выбрать его система выдает ошибку, сообщая, что счет является группой и не может использоваться в проводках.
В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем внутренние механизмы платформы «1С:Предприятие» и рассмотрим несколько эффективных способов вернуть План счетов (ЕПСБУ) к стандартным настройкам.
Перед тем как перейти к исправлению, выясним первопричину проблемы. В платформе «1С:Предприятие» поведение объектов плана счетов жестко подчинено иерархической логике. Объект «Счет» приобретает признак группы автоматически, как только в базе данных появляется хотя бы один другой счет, для которого данный счет указан в качестве родителя.
Рассмотрим конкретный пример. Бухгалтер решает детализировать учет и создает вручную субсчет (например, 105.33.1). При создании нового элемента в поле «Родитель» по ошибке указывается не общая группа 105.30 («Материальные запасы по иным движимым имуществам учреждения»), а конкретный субсчет 105.33. Сразу после записи нового субсчета система определяет 105.33 как родительский элемент. На уровне базы данных у него взводится флаг группы, и использовать его в проводках напрямую становится невозможно.
Это самый простой и безопасный способ, не требующий программирования или монопольного доступа к базе данных. Проанализируем структуру нашего плана счетов и найдем «виновников» изменения.
ЕПСБУ).105.33), и развернем его иерархическую структуру (нажмем на плюс рядом со счетом).105.33.1, 105.33.А или любые другие ошибочно созданные элементы.105.33 укажем вышестоящую стандартную группу — 105.30.Как только мы перенесем или очистим родителя у последнего подчиненного субсчета, счет 105.33 автоматически потеряет статус группы, снова станет обычным счетом и будет доступен для выбора в проводках.
Если счетов, превратившихся в группы, слишком много, или если пользователи сильно изменили предопределенную структуру, можно попробовать использовать стандартный механизм сброса настроек, заложенный разработчиками «1С».
В конфигурации БГУ 1.0 перейдем в меню Единого плана счетов. В верхней командной панели найдем кнопку «Действия» и выберем пункт «Заполнить по умолчанию». Система попытается перезаписать настройки счетов в соответствии с актуальным законодательным шаблоном.
Важное предупреждение: этот способ может завершиться ошибкой, если в базе данных присутствуют рабочие счета (привязанные к КПС и КЭК), которые ссылаются на измененные счета. Перед запуском этой процедуры обязательно сделайте резервную копию информационной базы (файл .1cd или выгрузку .dt).
Если ручной поиск подчиненных элементов затруднен (например, их десятки или сотни), воспользуемся стандартной обработкой, которая есть практически в любой современной конфигурации 1С.
Разберем этот процесс по шагам:
План счетов (или конкретный план счетов вашей конфигурации, например, Единый план счетов бухгалтерского учета).Родитель Равно [Счет, который ошибочно стал группой, например, 105.33].Родительский счет).105.30).Иногда возникает ситуация: пользователи уже вручную удалили или перенесли все ошибочные субсчета, внутри папки 105.33 визуально ничего нет, но она все равно упорно отображается в виде группы и не позволяет выбирать себя в документах. Это признак логического сбоя или застревания кэша таблиц базы данных.
Для исправления этой проблемы нам понадобится режим Конфигуратора:
Реиндексация таблиц информационной базыПроверка логической целостности информационной базыРеструктуризация таблиц информационной базыПосле завершения тестирования платформа принудительно обновит свойства всех записей в таблице планов счетов, уберет фантомные связи, и счет вернется к своему нормальному предопределенному состоянию.
Если вы являетесь разработчиком или администратором системы и конфигурация вашей базы построена на БСП (Библиотеке стандартных подсистем), можно прибегнуть к программному восстановлению связей. Для этого запустим внешнюю обработку «Консоль кода» или «Групповая обработка» и выполним следующий фрагмент кода:
// Восстановление связей предопределенных элементов с метаданными конфигурации
ОбщиеПараметры = Новый Структура;
ОбщийМодуль = ОбщийМодуль("СтандартныеПодсистемыСервер");
Если ОбщийМодуль <> Неопределено Тогда
ОбщийМодуль.ВосстановитьПредопределенныеЭлементы();
Сообщить("Связи предопределенных элементов успешно восстановлены!");
КонецЕсли;
Этот код принудительно сопоставит элементы плана счетов в пользовательском режиме с жестко закодированными предопределенными счетами в конфигурации метаданных, исправляя возможные расхождения и задваивания.
Восстановить План счетов — это только половина дела. Если пользователи уже успели поработать с базой данных в период действия ошибки, они могли провести документы, выбрав некорректно созданные вручную субсчета. Простое исправление родителя оставит эти некорректные счета внутри старых проводок.
Чтобы окончательно навести порядок в учете, выполним следующие действия:
105.33.1).105.33).Удаление помеченных объектов.Выполнив эти шаги, мы полностью очистим информационную базу от ручных ошибок, вернем План счетов к эталонному состоянию и обезопасим себя от некорректного формирования регламентированной бухгалтерской отчетности.