В практике работы с конфигурацией 1С:Бухгалтерия предприятия 3.0 (БП 3.0) пользователи и администраторы иногда сталкиваются с ситуацией, когда стандартные документы, такие как Передача товаров комитенту, перестают формировать суммовые проводки по забалансовым счетам, в частности по счету 002 «Товарно-материальные ценности, принятые на ответственное хранение». При этом количественный учет продолжает работать исправно.
Разберем детально, почему это происходит, как программные механизмы «под капотом» обрабатывают забалансовые счета и как правильно решить эту проблему, не нарушая логику системы.
Проанализируем ситуацию, описанную в обращении. Пользователь добавил в план счетов на счет 002 дополнительное субконто Склады. На первый взгляд, это логичное действие: бухгалтер хочет видеть, на каком именно складе хранятся товары, принятые на ответственное хранение. Однако сразу после этого при проведении документов передачи или списания суммы в проводках обнуляются.
Выясним причину такого поведения системы. В 1С:Бухгалтерии алгоритмы расчета себестоимости и формирования движений жестко завязаны на структуру плана счетов. Рассмотрим основные факторы влияния:
002, она ожидает получить данные в разрезе субконто Контрагенты и Номенклатура. Добавление третьего субконто (Склады) «ломает» этот запрос. Система ищет остаток, не передавая параметр склада в процедуру расчета стоимости, и в итоге получает «пустое» значение суммы.Склады первым или вторым в списке, то типовой код, обращающийся к Субконто1 или Субконто2, начинает подставлять склад вместо номенклатуры или контрагента. Это приводит к тому, что программа пытается найти цену для объекта «Склад» в регистре, где хранятся данные о товаре. Результат предсказуем — сумма равна нулю.002, 004 работают напрямую через остатки регистра бухгалтерии. Сумма списания рассчитывается в момент проведения документа на основании имеющихся остатков по конкретной аналитике.Посмотрим на пример того, как примерно выглядит логика системы при проведении документа. Программа выполняет запрос к виртуальной таблице остатков:
// Упрощенный пример логики запроса в типовом решении
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ХозрасчетныйОстатки.СуммаОстаток КАК Сумма,
| ХозрасчетныйОстатки.КоличествоОстаток КАК Количество
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет002, ,
| Субконто1 = &Контрагент И Субконто2 = &Номенклатура) КАК ХозрасчетныйОстатки";
Проанализируем эту ситуацию: если в плане счетов теперь три субконто, а в запросе (который находится внутри закрытого или труднодоступного общего модуля) по-прежнему фильтр только по двум, или если порядок субконто изменился, система не сможет корректно сопоставить данные. Даже если флаг «Суммовой» у субконто Склады установлен, программа просто не «знает», что при расчете стоимости списания с 002 счета нужно учитывать еще и складской остаток.
Важно помнить о глобальных настройках системы. В разделе «Администрирование — Параметры учета — Настройки трибунала» (или «Настройки состава аналитики») определяется общая политика ведения складского учета. Если в настройках указано, что учет по складам ведется только По количеству, то добавление признака Суммовой непосредственно в карточке счета 002 может игнорироваться ядром системы. Константа учета имеет приоритет над ручными правками в плане счетов для обеспечения целостности данных.
Рассмотрим по шагам, как исправить ситуацию и при этом удовлетворить потребность в аналитике по складам.
Способ 1: Возврат к типовой конфигурации счета
Это самый надежный метод. Если вы обнаружили, что суммы пропали после добавления субконто, выполните следующие действия:
Склады из настроек счета 002 в плане счетов.Групповое изменение реквизитов или Проведение документов).Оборотно-сальдовую ведомость по счету 002. Суммы в кредитовых оборотах должны появиться автоматически, так как система снова начнет использовать стандартный алгоритм расчета по двум субконто.Способ 2: Использование субсчетов
Если аналитика по складам жизненно необходима именно в проводках, методологи рекомендуют не менять предопределенный счет 002, а создать свой субсчет, например 002.01. Однако помните, что в этом случае вам придется настраивать счета учета в документах (в справочнике Номенклатура или через Счета учета номенклатуры), чтобы документы «видели» ваш новый счет. Но даже здесь сохраняется риск того, что типовой программный код документа Передача товаров комитенту не отработает корректно с нестандартной аналитикой.
Способ 3: Аналитика через внешние отчеты
Разберем наиболее грамотный подход с точки зрения поддержки системы. Вместо изменения структуры проводок, информацию о складах можно получать из других источников:
002 с данными о складе из регистрационных документов. Это позволит видеть остатки в разрезе складов, не ломая логику проведения.Подводя итог, сформулируем важные правила работы с планом счетов в 1С:Бухгалтерии:
Номенклатура стоит второй — она должна оставаться второй.ОбработкаПроведения и научить систему учитывать вашу новую аналитику. Однако это трудозатратный путь, требующий постоянного контроля при обновлениях конфигурации.Таким образом, мы выяснили, что «исчезновение» сумм — это не ошибка программы, а защитный механизм системы, сигнализирующий о нарушении целостности алгоритмов. Вернув счет 002 к типовому виду, вы восстановите корректное формирование проводок и обеспечите правильное закрытие месяца и отчетность перед комитентами.