При работе в 1С:ERP 2.4 или 2.5 (а также в "1С:Комплексная автоматизация") пользователи и программисты часто сталкиваются с ситуацией, когда документ "Перемещение товаров" отказывается формировать проводки в регламентированном учете. Система выдает типовую ошибку: "Для учета 'Собственные товары на складе' в организации... на складе... не указан счет". При этом проверка карточки номенклатуры показывает, что ГруппаФинансовогоУчета (ГФУ) заполнена, и в соответствующих настройках счета учета проставлены. Разберем детально, почему так происходит и как решить эту проблему, учитывая особенности внутреннего устройства механизмов ERP.
Первое, что нам необходимо усвоить при работе с 1С:ERP: счета учета в документах берутся не напрямую из карточки Номенклатура, а из специального разреза учета, который называется Виды запасов. Проанализируем, как это работает. Когда товар поступает на склад (например, через покупку), система фиксирует его параметры (организацию, ГФУ, ставку НДС) в регистре сведений ВидыЗапасов. Эти данные "замораживаются" для конкретной партии товара на остатках.
Если вы сначала оприходовали товар с пустой ГФУ, а затем заполнили её в карточке номенклатуры, система все равно будет пытаться списать товар по старому "Виду запасов", в котором ГФУ осталась неопределенной (пустой). Именно поэтому в рабочем месте по настройке отражения документов вы видите, что система обращается к настройке "Не указана". Рассмотрим основные пути решения этой ситуации.
Если проблема возникла в единичном документе, созданный вручную, нам следует принудительно заставить систему пересчитать аналитику запасов. Рассмотрим порядок действий:
ПеремещениеТоваров.Проанализируем ситуацию глубже: если перезаполнение в документе не помогло, значит, товар на остатках склада уже числится с пустой ГФУ. В этом случае нам придется перепроводить цепочку документов, начиная с прихода, либо использовать корректировку регистров для исправления вида запасов. Для последующего формирования проводок по исправленным документам подойдёт обработка для группового отражения документов в регламентированном учете.
Часто проблема возникает при автоматическом обмене данными между системами. Проанализируем случай, когда документ создан программно. Выяснилось, что критическое значение имеет реквизит шапки документа ВариантПриемкиТоваров.
Если этот реквизит не заполнен или заполнен некорректно, алгоритмы формирования движений по регистрам накопления ВыручкаИСебестоимостьПродаж и СтоимостьТоваров могут работать некорректно. Рассмотрим пример кода, который необходимо проверить в обработке загрузки или в консоли кода:
// Пример проверки и установки реквизита
ДокументОбъект = СсылкаНаПеремещение.ПолучитьОбъект();
Если ДокументОбъект.ВариантПриемкиТоваров = Перечисления.ВариантПриемкиТоваров.ПустаяСсылка() Тогда
// Для корректного отражения по ГФУ часто требуется этот вариант
ДокументОбъект.ВариантПриемкиТоваров = Перечисления.ВариантПриемкиТоваров.РазделенаПоЗаказамИНакладным;
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;
Как показывает практика, установка варианта РазделенаПоЗаказамИНакладным заставляет систему более детально подбирать виды запасов, что в конечном итоге приводит к правильному определению ГруппыФинансовогоУчета и подтягиванию нужных счетов 10-го или 41-го счета.
Рассмотрим еще один важный аспект, скрытый в настройках системы. В 1С:ERP существует функциональная опция, определяющая, насколько детально система хранит информацию о товарах на складе. Пройдем по пути: НСИ и администрирование — Финансовый результат и контроллинг — Учет товаров.
Здесь необходимо проверить флаг "Разделять запасы по ГФУ номенклатуры". Посмотрим на последствия настройки:
Если вы столкнулись с этой ошибкой, рекомендуем выполнить следующие шаги для диагностики:
Вид запасов.Вид запасов -> Группа финансового учета стоит значение "Не указана", то счета в проводках не появятся, пока мы не исправим приходные документы или не перенастроим учет.ПорядокОтраженияНоменклатуры. Иногда записи-исключения для конкретного склада или организации могут перекрывать основные настройки ГФУ.СформироватьВидыЗапасов(ДокументОбъект) или что документ перепроводится в режиме Загрузка = Ложь, чтобы сработали стандартные обработчики проведения.Таким образом, мы выяснили, что причина ошибки кроется не в отсутствии настройки счетов как таковой, а в разрыве связи между карточкой Номенклатура и регистрами остатков. Использование правильных реквизитов при обмене и понимание работы механизмов ВидыЗапасов позволяет быстро и эффективно решать подобные проблемы в 1С:ERP.