Бухгалтерский учёт для программиста 1С — это небольшой набор понятий, без которого нельзя безопасно дорабатывать «Бухгалтерию предприятия», ERP или «Комплексную автоматизацию»: двойная запись (каждая операция — дебет одного счёта и кредит другого), план счетов с типами счетов и аналитикой, субконто (разрезы учёта на счёте), регистр бухгалтерии, в который документ пишет проводки, учётная политика, от которой зависят алгоритмы, и закрытие месяца, которое опирается на всё перечисленное.
Хороший программист 1С может отлично писать запросы и формы, но если он не понимает, почему поступление товара — это Дт 41 Кт 60, его доработка рано или поздно сломает отчётность. Ниже — минимум, который я считаю обязательным для разработчика учётных конфигураций, с примерами из кода.
Что такое регламентированный учёт и при чём здесь разработчик
Регламентированный учёт — учёт по требованиям законодательства. В России его основа — закон № 402-ФЗ «О бухгалтерском учёте», а также налоговое законодательство. В него входят бухгалтерский учёт, налоговый учёт и обязательная отчётность.
Для разработчика из этого следуют три вещи:
- ошибка в данных — это ошибка в отчётности, которую подписывает главный бухгалтер и проверяет налоговая;
- правила задаются извне: вы не можете «придумать» свою проводку, она должна соответствовать методологии;
- одна и та же операция в разных организациях учитывается по-разному — в зависимости от учётной политики и режима налогообложения.
Двойная запись и план счетов
Каждая хозяйственная операция отражается одновременно по дебету одного счёта и по кредиту другого на одну и ту же сумму.

Счета собраны в план счетов; в типовых решениях это хозрасчётный план счетов. Каждый счёт имеет вид — от него зависит, как читать остатки:
| Вид счёта | Что отражает | Увеличение | Пример |
|---|---|---|---|
| Активный | Имущество | По дебету | 41 «Товары», 50 «Касса», 51 «Расчётные счета» |
| Пассивный | Источники средств, обязательства | По кредиту | 02 «Амортизация ОС», 80 «Уставный капитал» |
| Активно-пассивный | Расчёты, где возможен остаток в обе стороны | Зависит от операции | 60, 62, 76 — расчёты с контрагентами |
Несколько типовых проводок, которые стоит узнавать с первого взгляда:
| Операция | Проводка |
|---|---|
| Поступление товаров от поставщика | Дт 41 Кт 60 |
| Оплата поставщику с расчётного счёта | Дт 60 Кт 51 |
| Выручка от продажи | Дт 62 Кт 90.01 |
| Начисление амортизации | Дт 20 (26, 44) Кт 02 |
В платформе вид счёта задаётся свойством предопределённого счёта (активный, пассивный, активно-пассивный), а программно его можно получить через реквизит Вид элемента плана счетов.
Забалансовые счета
Забалансовые счета (001, 002, 003, 004 и другие) учитывают то, что организации не принадлежит, но находится у неё: арендованные ОС, ТМЦ на ответственном хранении, давальческое сырьё, товары на комиссии. Они не входят в баланс и не участвуют в двойной записи: проводка по ним односторонняя — только дебет при поступлении или только кредит при выбытии. В платформе такой счёт помечается признаком «Забалансовый», и регистр бухгалтерии допускает для него запись без корреспондирующего счёта.
Регистр бухгалтерии и субконто
Проводки хранятся в регистре бухгалтерии, который связан с планом счетов. Основные поля записи: Период, Регистратор, СчетДт, СчетКт, СубконтоДт, СубконтоКт, Сумма, плюс измерения вроде Организация и ресурсы для количества, валюты и налогового учёта — их набор зависит от конфигурации.
Субконто — аналитика счёта. На счёте 41 учёт ведётся по номенклатуре и складам (иногда ещё по партиям), на 60 — по контрагентам, договорам и документам расчётов. Набор субконто задаётся у каждого счёта в плане счетов через план видов характеристик видов субконто.
Упрощённый пример формирования проводки при проведении документа поступления:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движения.Хозрасчетный.Записывать = Истина;
ВидыСубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные;
Для Каждого СтрокаТовара Из Товары Цикл
Проводка = Движения.Хозрасчетный.Добавить();
Проводка.Период = Дата;
Проводка.Организация = Организация;
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;
Проводка.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
Проводка.Сумма = СтрокаТовара.Сумма;
Проводка.Содержание = НСтр("ru = 'Поступление товаров'");
// Аналитика дебета: что и куда поступило.
Проводка.СубконтоДт[ВидыСубконто.Номенклатура] = СтрокаТовара.Номенклатура;
Проводка.СубконтоДт[ВидыСубконто.Склады] = Склад;
// Аналитика кредита: перед кем возник долг.
Проводка.СубконтоКт[ВидыСубконто.Контрагенты] = Контрагент;
Проводка.СубконтоКт[ВидыСубконто.Договоры] = ДоговорКонтрагента;
КонецЦикла;
КонецПроцедурыПример иллюстрирует механику. В типовых конфигурациях имена счетов, видов субконто и ресурсов свои, а для установки субконто есть служебные функции общих модулей, которые учитывают, есть ли такой вид субконто на счёте. При доработке типовой конфигурации пользуйтесь её собственными механизмами формирования проводок, а не пишите параллельные.
Учётная политика: не настройка, а часть алгоритма
Учётная политика — набор способов ведения учёта, выбранных организацией. Для разработчика это ветвления в коде:
- способ оценки списываемых запасов (ФИФО или по средней) меняет расчёт себестоимости;
- способ начисления амортизации меняет суммы ежемесячных проводок;
- порядок признания расходов, учёт НДС, применение ПБУ и ФСБУ — всё это влияет на набор и суммы проводок;
- режим налогообложения: при ОСНО и УСН учёт ведётся по разным правилам и часто в разных регистрах.
Отсюда правило: никаких жёстко зашитых счетов и способов там, где типовая конфигурация берёт их из учётной политики или настроек счетов учёта. Доработка, которая работает у одной организации, у второй в той же базе даст неверные проводки.
Закрытие месяца: почему важно не навредить
В конце каждого месяца бухгалтерия выполняет закрытие периода (в БП — обработка «Закрытие месяца»). Она последовательно:
- рассчитывает фактическую себестоимость и корректирует её;
- начисляет амортизацию;
- переоценивает валютные остатки и считает курсовые разницы;
- распределяет косвенные расходы;
- определяет финансовый результат.

Все эти операции читают данные регистров, которые сформировали документы. Если доработка пишет проводки с непредусмотренными счетами, пустой аналитикой или «не в тот период», закрытие месяца посчитает неверно — и ошибку найдут не сразу, а при сверке или сдаче отчётности.
Типичные ошибки разработчиков
| Ошибка | Чем грозит |
|---|---|
| Движения в регистр бухгалтерии без документа-регистратора | Данные нельзя перепровести и объяснить, они расходятся с первичкой |
| Незаполненные субконто | Остатки «висят» без аналитики, не закрываются взаиморасчёты |
| Правка типового плана счетов | Конфликты при обновлении, поломка типовых алгоритмов |
| Проведение и изменение документов в закрытом периоде | Меняется сданная отчётность; используйте даты запрета изменения |
| Жёстко зашитые счета и способы учёта | Неверный учёт в организациях с другой учётной политикой |
| Дублирование движений своей доработкой | Двойные суммы в оборотах и отчётах |
Новые счета и субконто добавляйте так, как предусмотрено типовой конфигурацией, а изменения оформляйте расширением, чтобы не терять обновления. Перед вводом доработки в работу — сверка оборотно-сальдовой ведомости до и после на копии базы.
Как я работаю с учётными доработками
На проектах доработки 1С с бухгалтерской частью порядок у меня такой: сначала постановка от бухгалтера в терминах проводок («какая операция, какие счета, какая аналитика»), потом реализация через механизмы типовой конфигурации, затем проверка на копии базы с закрытием месяца. Если в базе уже накопились странные проводки, начинаем с аудита: найти доработки, которые пишут в регистр бухгалтерии в обход типовой логики.
Программисту не нужно быть бухгалтером, но он должен читать проводку так же уверенно, как запрос.
Итог
- Любая операция — это дебет одного счёта и кредит другого; забалансовые счета — исключение с односторонней записью.
- Субконто — обязательная аналитика счёта, её пустые значения ломают остатки и взаиморасчёты.
- Проводки формирует только документ-регистратор, через механизмы типовой конфигурации.
- Учётная политика определяет алгоритмы — не зашивайте счета и способы в код.
- Любая доработка проведения проверяется закрытием месяца на копии базы.




