В процессе эксплуатации типовых решений 1С, в частности «1С:Бухгалтерия предприятия 3.0» (БП 3.0), часто возникает необходимость детализации учета, которую невозможно реализовать стандартным набором субконто. В таких случаях встает вопрос о расширении плана счетов. Рассмотрим подробно, как добавить новые счета и субсчета так, чтобы минимизировать сложности при последующих обновлениях программы и обеспечить корректность формирования отчетности.
Это наиболее безопасный способ с точки зрения процесса обновления конфигурации. При добавлении счета непосредственно в пользовательском интерфейсе структура метаданных основной конфигурации не меняется, и программа остается «на замке».
Рассмотрим преимущества и особенности этого метода:
ПланыСчетов.Хозрасчетный.МойНовыйСчет). Программисту придется использовать поиск по коду.Разберем пример кода для обращения к пользовательскому счету:
// Поиск счета по коду в пользовательском режиме
СчетОбъект = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.15");
Если СчетОбъект.Пустая() Тогда
Сообщить("Счет не найден, необходимо проверить настройки плана счетов!");
КонецЕсли;
Если новый счет должен активно использоваться в доработках, алгоритмах автоматического заполнения документов или кастомных отчетах, его целесообразно добавить как предопределенный элемент в конфигураторе. Однако это требует снятия конфигурации с полной поддержки (разрешения изменений).
Проанализируем последствия:
При использовании этого метода вы получаете возможность обращаться к счету по его имени (идентификатору) в программном коде. Это гарантирует стабильность работы алгоритмов, даже если пользователь случайно изменит код счета в интерфейсе. Основной минус — необходимость ручного объединения при обновлениях, так как план счетов станет «редактируемым».
Начиная с версии платформы 8.3.15, разработчики получили возможность добавлять предопределенные элементы (в том числе счета) через механизм расширений. Это «золотая середина», позволяющая сохранить основную конфигурацию на замке, но при этом иметь объект, к которому можно обращаться программно.
Важный нюанс: при удалении расширения все данные, накопленные на счетах, созданных в этом расширении, могут стать недоступными. Поэтому данный метод следует использовать с осторожностью, понимая архитектурные риски.
При добавлении нового счета, особенно если это субсчет к уже существующему (например, субсчет к 60 или 62 счету), крайне важно соблюдать иерархическую преемственность настроек. Выясним, на что нужно обратить внимание в первую очередь:
Рассмотрим ситуацию: вы добавили счет 60.15 в пользовательском режиме. При заполнении Бухгалтерского баланса типовой алгоритм 1С, скорее всего, «не увидит» остатки по этому счету, так как правила заполнения отчета жестко ориентированы на предопределенные счета.
Как решить эту проблему:
Проанализируем ситуацию, когда вы создали счет 60.10 в режиме предприятия, а через год фирма «1С» выпустила обновление, где этот счет стал предопределенным. В этом случае данные по вашему счету и по новому счету вендора будут существовать параллельно.
Алгоритм действий для исправления коллизии:
Прежде чем добавлять новый счет, мы рекомендуем выяснить, нельзя ли решить задачу добавлением нового вида субконто. В 1С:Бухгалтерии на каждом счете может быть до трех видов субконто. Если на счету занято только два (например, «Контрагенты» и «Договоры»), добавление третьего вида субконто позволит получить нужную детализацию в Оборотно-сальдовой ведомости без изменения структуры плана счетов. Этот путь является самым безопасным и не создает проблем ни с обновлением, ни с отчетностью.