Разработка и Конфигурация · 12 мин
Предопределенные счета в 1С: назначение, отличия и правила работы
Что такое предопределенные счета в 1С, зачем они нужны, чем отличаются от обычных, как их использовать в коде и чего нельзя делать при настройке плана счетов.
Предопределенные счета — это элементы плана счетов, которые созданы в конфигураторе на этапе разработки прикладного решения и поставляются вместе с конфигурацией. В отличие от счетов, которые бухгалтер добавляет самостоятельно в режиме «1С:Предприятие», предопределенные счета имеют фиксированное имя, по которому к ним обращается программный код, типовые документы и регламентные операции.
Такой механизм нужен, потому что типовая конфигурация не может «угадывать», какой счет пользователь заведет для учета основных средств или расчетов с поставщиками. Разработчик заранее создает счет 01 «Основные средства» или 60 «Расчеты с поставщиками», а код проведения документов обращается к этим счетам по имени. Если бы счета создавались только вручную, любой типовой документ пришлось бы настраивать под конкретный план счетов каждой организации.
В типовых решениях, построенных на российском плане счетов бухгалтерского учета, практически вся структура счетов и субсчетов задана как предопределенная. Пользователь может добавлять собственные субсчета, но удалить или переименовать предопределенный элемент штатными средствами нельзя — это защита от поломки типовой логики.
Чем предопределенный счет отличается от пользовательского
Ключевое отличие — наличие у предопределенного элемента уникального имени, заданного в конфигураторе. Это имя не видно в обычном списке счетов, но именно по нему строятся обращения в коде. Пользовательский счет такого имени не имеет, и обратиться к нему можно только по коду или ссылке, которые заранее неизвестны разработчику типового решения.
Второе отличие — ограничения на редактирование. У предопределенного счета пользователь обычно может менять только часть свойств: признак забалансового учета, состав субконто, количественный и валютный учет — в зависимости от того, что разрешила конфигурация. Изменить код счета, наименование или удалить его нельзя. Пользовательский субсчет можно настроить полностью и удалить, если по нему нет движений.
Предопределенный и пользовательский счет
Создается в конфигураторе, имеет фиксированное имя, используется типовым кодом. Удаление и смена кода запрещены.
Создается бухгалтером в режиме предприятия. Полностью настраивается, удаляется при отсутствии проводок, но типовой код к нему не обращается.
Где хранятся и как выглядят предопределенные счета
В конфигураторе предопределенные счета задаются в свойствах плана счетов: объект «Планы счетов» → конкретный план (например, «Хозрасчетный») → кнопка «Предопределенные» на закладке «Прочее» или через соответствующую команду палитры свойств. Открывается список, где для каждого счета указаны имя, код, наименование, вид (активный, пассивный, активно-пассивный), признаки учета и таблица субконто.
В режиме «1С:Предприятие» предопределенные счета визуально почти не отличаются от обычных — они просто присутствуют в списке с момента создания информационной базы. Косвенный признак: при попытке удалить такой счет система выдает отказ, а поля кода и вида счета недоступны для редактирования. В некоторых конфигурациях предопределенные элементы помечены специальной пиктограммой в списке.
Физически предопределенные элементы хранятся в той же таблице плана счетов, что и пользовательские, но снабжены служебной меткой сопоставления с именем из метаданных. При обновлении конфигурации платформа сверяет этот список и добавляет новые предопределенные счета, если разработчик их ввел в новой версии.
Как обратиться к предопределенному счету в коде
Основной способ — через менеджер плана счетов по имени предопределенного элемента. Например, для типового плана счетов обращение выглядит как ПланыСчетов.Хозрасчетный.ОсновныеСредства или ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками. Результат — ссылка на счет, которую можно использовать в проводках, запросах и отборах.
Такой подход надежнее поиска по коду. Поиск НайтиПоКоду("60") вернет счет только если код не изменился и элемент существует, а главное — код не работает как контракт: разработчик не может гарантировать, что пользователь не создал дубль. Обращение по предопределенному имени всегда возвращает именно тот элемент, который заложен в конфигурацию.
СчетОС = ПланыСчетов.Хозрасчетный.ОсновныеСредства;
СчетНДС = ПланыСчетов.Хозрасчетный.НДС; // 19 счет
Если СчетОС.Пустая() Тогда
ВызватьИсключение "Предопределенный счет не найден";
КонецЕсли;При разработке собственных расширений рекомендуется тот же прием: если ваш код должен проводить документы по конкретным счетам, либо обращайтесь к существующим предопределенным счетам типовой конфигурации, либо вынесите выбор счета в настройки, а не ищите счета по коду строкой.
Что можно и чего нельзя делать с предопределенными счетами
Разрешено: добавлять собственные субсчета к предопределенным счетам (например, 10.11 «Спецодежда в эксплуатации» рядом с типовыми), менять состав аналитики, если конфигурация это позволяет, отключать неиспользуемые субконто на пользовательских субсчетах. Такие действия не затрагивают типовую логику, потому что код обращается к родительскому предопределенному счету, а проводки по субсчетам попадают в его итоги.
Запрещено или опасно: удалять предопределенные счета через обработки «группового удаления», менять код предопределенного счета прямой записью в базу, отключать у предопределенного счета субконто, которое использует типовой учет (например, «Номенклатура» на счете 41 или «Контрагенты» на счете 60). Последствие — ошибки проведения документов, пустые проводки или невозможность обновления конфигурации.
Как добавить собственный субсчет и не нарушить типовой учет
Потребность завести свой субсчет возникает часто: например, выделить отдельный субсчет для учета материалов конкретного вида или расчетов по особому договору. Безопасный порядок действий един для большинства конфигураций.
- 1Откройте план счетов и найдите предопределенный счет-родитель, к которому добавляете субсчет
- 2Создайте новый элемент, укажите свободный код внутри родителя (например, 10.12) и понятное наименование
- 3Проверьте состав субконто: он наследуется от родителя, но убедитесь, что нужная аналитика включена
- 4Установите признаки количественного, суммового и валютного учета под задачу
- 5Проведите тестовый документ по новому субсчету и сформируйте оборотно-сальдовую ведомость по родительскому счету — субсчет должен попасть в итоги
После добавления субсчета проверьте, как с ним работают типовые документы. Некоторые документы жестко подставляют предопределенный счет — тогда новый субсчет придется выбирать вручную в проводках или в настройках счетов учета. Если документ позволяет указать счет учета в карточке номенклатуры или в регистре настроек, настройте подстановку там.
Как проверить результат
Новый субсчет виден в развернутых итогах, обороты корректны
Субсчет отсутствует в итогах или суммы удваиваются
Документ проводится без ошибок, счет подставляется или выбирается вручную
Ошибка «счет не найден» или пустые проводки
Обновление проходит штатно
Конфликт предопределенных элементов, требование ручного слияния
Предопределенные счета при обновлении конфигурации
Механизм предопределенных элементов напрямую участвует в обновлении. Когда разработчик выпускает новую версию конфигурации с новыми предопределенными счетами (например, под изменения законодательства), платформа при обновлении автоматически создает их в базе. Пользователю ничего добавлять вручную не нужно.
Проблемы возникают, если целостность предопределенных элементов была нарушена: элемент удален обходными путями или у него сбита служебная связь с именем. Тогда при обновлении платформа может создать дубль счета или завершить обновление с ошибкой. Лечение — восстановление предопределенного элемента из демонстрационной базы той же версии или исправление служебных данных через специализированные обработки, что требует опыта администрирования.
Когда предопределенных счетов недостаточно
Типовой план счетов покрывает стандартный учет, но управленческие задачи иногда требуют большего: детализации по направлениям деятельности, отдельного учета для нескольких систем налогообложения, специальных забалансовых счетов. Все это решается пользовательскими субсчетами и дополнительными забалансовыми счетами — предопределенных элементов создавать в пользовательском режиме нельзя, и это нормально.
Если же вы разрабатываете собственную конфигурацию или отраслевое решение, продумайте состав предопределенных счетов заранее: каждый счет, к которому обращается код, должен быть предопределенным. Добавление нового предопределенного счета в уже работающее решение — штатная ситуация, но удаление ранее поставленного предопределенного элемента требует аккуратной обработки обновления, чтобы не потерять данные пользователей.
Как выбрать действие
Что важно запомнить
Предопределенные счета — каркас плана счетов, заданный разработчиком и используемый типовым кодом по фиксированным именам. Их нельзя удалять и переименовывать, но можно дополнять пользовательскими субсчетами. В коде обращайтесь к ним по имени, а не поиском по коду, и проверяйте целостность предопределенных элементов перед обновлением конфигурации.
Частые вопросы
Можно ли удалить предопределенный счет в 1С?
Штатными средствами — нет: кнопка удаления для такого элемента недоступна или система отказывает в операции. Обходные способы через внешние обработки технически возможны, но приводят к ошибкам проведения документов и проблемам при обновлении, поэтому применять их не следует.
Как узнать, какие счета в плане счетов предопределенные?
В конфигураторе откройте план счетов и перейдите к списку предопределенных элементов — там перечислены все имена. В режиме предприятия косвенный признак — невозможность изменить код счета или удалить его. Также можно программно получить список через метод ПолучитьИменаПредопределенных менеджера плана счетов.
Чем обращение по предопределенному имени лучше поиска по коду?
Имя предопределенного элемента — это контракт конфигурации: оно гарантированно указывает на нужный счет независимо от действий пользователя. Поиск по коду может вернуть пользовательский дубль, не найти элемент или найти не тот счет, если пользователь изменил кодировку своих субсчетов.
Что делать, если предопределенный счет задвоился после обновления?
Не проводите документы до устранения проблемы. Сравните базу с чистой поставкой той же версии, определите, какой из элементов имеет корректную связь с предопределенным именем, перенесите на него движения и ссылки при необходимости, а лишний элемент пометьте на удаление. При отсутствии опыта задачу лучше поручить специалисту по администрированию 1С.
Можно ли создать свой предопределенный счет в режиме предприятия?
Нет. Предопределенные элементы создаются только в конфигураторе при разработке или доработке конфигурации. В режиме предприятия доступно создание обычных пользовательских счетов и субсчетов, которые полностью настраиваются, но не имеют предопределенного имени.
Мешают ли пользовательские субсчета обновлению конфигурации?
Нет, обновление затрагивает только предопределенную часть плана счетов. Пользовательские субсчета сохраняются как есть. Исключение — редкие случаи, когда новая версия вводит предопределенный субсчет с кодом, который вы уже заняли своим: тогда платформа предложит разрешить конфликт при обновлении.