При работе в программе 1С:Бухгалтерия (особенно в редакции 2.0) пользователи часто сталкиваются с ситуацией, когда документ Списание материалов из эксплуатации отказывается проводиться, выдавая ошибку с указанием номера строки, который значительно превышает количество строк в табличной части самого документа. Это вызывает замешательство, однако причина кроется не в данных табличной части, а в сформированных проводках в модуле проведения.
В этой статье мы подробно разберем, почему возникает такая ошибка, как проанализировать движения документа с помощью отладчика и как правильно настроить учетную политику и параметры списания спецодежды и спецоснастки, чтобы избежать подобных проблем.
Прежде всего, проанализируем сообщение системы. Если программа сообщает об ошибке в «строке 539», а в вашем документе всего 400 строк, это означает, что речь идет об индексе записи в коллекции Движения.Хозрасчетный. В процессе проведения документа система генерирует проводки. На одну строку документа может приходиться две, три и более проводок (например, по бухгалтерскому учету, по налоговому учету и по забалансовым счетам).
Рассмотрим ситуацию, когда программа пытается сопоставить балансовый счет и забалансовый счет в одной проводке. Это является грубым нарушением логики 1С. Каждый счет в плане счетов имеет признак «Забалансовый». Проводка в 1С может быть либо полностью балансовой (оба счета балансовые), либо полностью забалансовой (один счет забалансовый, второй пустой, либо оба забалансовые). Если программный код, измененный доработками, пытается сделать СчетДт = 25 (балансовый) и СчетКт = МЦ.02 (забалансовый), система выдаст ошибку именно при попытке записи набора движений.
Чтобы точно выяснить, на какой стадии и на каких счетах происходит сбой, нам необходимо воспользоваться отладчиком. Проанализируем состояние набора записей регистра бухгалтерии непосредственно перед завершением процедуры проведения.
ДвиженияПоРегистрам или место, где вызывается метод Движения.Записать().
Движения.Хозрасчетный[539]
СчетДт и СчетКт.Как правило, в этой строке вы обнаружите сочетание, например, счета 25 (Общепроизводственные расходы) и 10.11.1 (Спецодежда в эксплуатации) или забалансового счета МЦ.02. Если один из счетов балансовый, а другой — забалансовый, проводка не будет записана.
Выясним причину, по которой программа пытается сформировать некорректную проводку. Часто это связано с разным отражением стоимости материалов в бухгалтерском (БУ) и налоговом (НУ) учете.
Проанализируем типичный сценарий для спецодежды:
В результате на счете 10.11.1 по бухгалтерскому учету остаток есть, а по налоговому учету он равен нулю. При попытке окончательного списания материала из эксплуатации документ пытается закрыть остатки. Если в коде конфигурации (особенно если были «самописные» доработки) не предусмотрена проверка на нулевой остаток в НУ, программа может попытаться сформировать пустую или некорректную проводку по налогам, что и приводит к ошибке.
Рассмотрим подробнее настройки, которые влияют на поведение документа. Основным источником параметров для списания является справочник Назначение использования, который указывается для каждой позиции номенклатуры при передаче в эксплуатацию.
Проанализируем поле Способ погашения стоимости. Здесь возможны следующие варианты:
Если вы обнаружили, что для позиции установлен «Линейный способ», но фактически вы хотите списать остаток материалов сейчас, убедитесь, что в системе достаточно данных для формирования проводок по обоим видам учета. Ошибка часто возникает, когда по БУ сумма есть, а по НУ — нет (или наоборот), и алгоритм списания «запутывается» в расчете временных или постоянных разниц.
Если в процессе анализа выяснилось, что метод погашения стоимости был выбран неверно (например, ошибочно указан «Линейный» вместо «При передаче»), это и является корнем проблемы. Однако простое изменение настройки в справочнике может не помочь для уже проведенных ранее документов передачи.
Посмотрим, как исправить ситуацию:
Часто возникает вопрос: почему документ за прошлый месяц с теми же настройками провелся успешно? Проанализируем возможные причины:
Для исправления рекомендуется привлечь программиста для анализа конкретного участка кода в модуле набора записей регистра бухгалтерии, где происходит проверка балансовости счетов. Если доработка пытается записать данные в НУ по счету, который не имеет признака налогового учета (или наоборот), это также вызовет ошибку записи.
Для успешного решения проблемы списания материалов из эксплуатации выполните следующие действия:
Помните, что корректная работа автоматических документов в 1С возможна только при соблюдении единообразия аналитики на всем «жизненном цикле» материала: от поступления и передачи в эксплуатацию до финального списания.