При решении учебных задач по конфигурированию в системе 1С, особенно в рамках подготовки к экзамену «1С:Специалист по платформе» или «1С:Специалист по бухгалтерским задачам», начинающие разработчики часто сталкиваются с ситуацией, когда по счету Товары остатки по количеству отображаются корректно, а по счету Прибыли и убытки (или аналогичному счету продаж) количественный остаток равен нулю, хотя в движениях документа данные присутствуют. Разберем подробно, почему так происходит, и как правильно работать с количественным учетом в регистрах бухгалтерии.
Для начала проанализируем настройки регистра бухгалтерии. В системе 1С ресурс Количество обычно создается как небалансовый. Это означает, что для него не обязательно соблюдение баланса (равенства суммы дебета и суммы кредита), и он привязан к признаку учета (например, Количественный) в плане счетов. Если этот признак установлен для конкретного счета, система позволяет записывать данные в поля КоличествоДт и КоличествоКт.
Рассмотрим ситуацию, которую описывает автор темы. В коде обработки проведения документа РасходнаяНакладная формируются следующие движения:
// Формирование набора записей. Дт ПрибылиУбытки Кт Товары
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.СчетКт = ПланыСчетов.Управленческий.Товары;
Движение.Период = Дата;
Движение.КоличествоДт = КоличествоСписания;
Движение.КоличествоКт = КоличествоСписания;
Движение.Сумма = СебестоимостьСписания;
// ... заполнение субконто ...
// Формирование набора записей. Дт Покупатели Кт ПрибылиУбытки
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.Покупатели;
Движение.СчетКт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.Период = Дата;
Движение.КоличествоКт = КоличествоСписания;
Движение.КоличествоДт = КоличествоСписания;
Движение.Сумма = СуммаПродажи;
// ... заполнение субконто ...
Давайте разберем по шагам, что происходит в регистре при записи таких движений. Допустим, мы продаем 10 штук товара.
СчетДт = ПрибылиУбытки, КоличествоДт = 10. Это означает, что на счет ПрибылиУбытки «пришло» 10 единиц количества.СчетКт = ПрибылиУбытки, КоличествоКт = 10. Это означает, что со счета ПрибылиУбытки «ушло» 10 единиц количества.Теперь вспомним основы бухгалтерского учета. Остаток на счете — это разница между всеми дебетовыми оборотами и всеми кредитовыми оборотами. Математически это выглядит так:
Остаток = (Обороты Дт) - (Обороты Кт)
В нашем случае для счета Прибыли и убытки:
10 (из первой проводки) - 10 (из второй проводки) = 0
Важный момент: Сумма при этом остается, так как в первой проводке записывается себестоимость (например, 100 рублей), а во второй — выручка (например, 150 рублей). Разница в 50 рублей и составляет финансовый результат (прибыль), который мы видим в остатках по сумме. Количество же полностью закрывается в ноль, так как при каждой продаже количество списанного товара равно количеству проданного.
В рамках экзаменационных задач важно понимать, для чего именно вам нужно количество. Рассмотрим основные правила:
Кт Товары) и увеличиваться при закупке.Прибыли и убытки следует использовать субконто Номенклатура с установленным флагом Только обороты. В этом случае система не будет тратить ресурсы на расчет остатков, которые все равно будут нулевыми, но позволит получить данные через виртуальную таблицу Обороты.Проанализируем типичную ошибку: попытку получить данные о продажах из таблицы Остатки. Чтобы увидеть, сколько товара было продано за период, нужно обращаться к виртуальной таблице Обороты или ОборотыДтКт.
Например, в билете №1 экзамена по бухгалтерскому учету требуется отчет, показывающий количество, себестоимость и сумму продаж. Для этого:
КоличествоОборотДт счета ПрибылиУбытки в корреспонденции со счетом Товары.СуммаОборотДт того же счета.СуммаОборотКт счета ПрибылиУбытки в корреспонденции со счетом Покупатели.Если вы видите, что количество «пропало» из остатков, выполните следующие действия:
КоличествоДт и КоличествоКт заполнены правильно.Прибыли и убытки).Таким образом, «пропажа» количества — это не ошибка платформы, а закономерный результат работы механизма двойной записи. Понимание этого принципа поможет вам успешно проектировать учетные системы и избегать лишних настроек в плане счетов, которые могут замедлять работу системы и увеличивать размер базы данных за счет расчета ненужных итогов.