Рассмотрим распространенную и неочевидную проблему в "1С:Розница": себестоимость товаров рассчитывается корректно до определенного момента, но в один из месяцев расчет начинает выдавать неверные цифры, хотя цена закупки товара не менялась. Часто это происходит после выполнения внутренних перемещений товаров между складами. Выясним, как найти причину такой ошибки и какие шаги предпринять для ее устранения.
Исходная ситуация: пользователь проводит документ Расчет и установка себестоимости. В одном месяце себестоимость товара рассчитывается правильно (например, 100 рублей, как в поступлении). В следующем месяце, после перемещений, тот же документ для того же товара выдает неверные значения (например, 90 или 150 рублей). Давайте пошагово разберемся, как диагностировать и решить эту проблему.
Прежде чем перепроводить документы, важно понять, на основании каких данных программа выполняет расчет. Неверный результат — это следствие неверных исходных данных. Основную информацию для расчета себестоимости хранят специализированные регистры. Проанализируем ключевые из них.
Регистр накопления Себестоимость поставки товаров
Это основной источник данных для документа Расчет и установка себестоимости. В него записываются сведения о количестве и стоимости товаров при их поступлении. Если по какой-то причине в этом регистре отсутствуют или искажены движения за отчетный период, расчет будет некорректным. Сформируйте отчет по этому регистру с отбором по проблемной номенклатуре и посмотрите, какие документы и с какими суммами создали в нем записи.
Регистр сведений Себестоимость номенклатуры
В этом регистре хранится уже рассчитанная себестоимость по каждой номенклатурной позиции в разрезе магазинов (складов). Проверка данных в этом регистре поможет понять, на каком этапе и для какого склада была зафиксирована неверная себестоимость.
Анализ этих регистров часто позволяет выявить аномалии, например, нулевые суммы или неожиданные движения, созданные документами перемещения или возврата.
Самый надежный способ найти документ, который вызывает ошибку, — это воспроизвести всю цепочку операций в строгой последовательности. Критически важно выполнять эти действия на копии базы данных, чтобы не нарушить учет в рабочей системе.
Разберем алгоритм по шагам:
Расчет и установка себестоимостиПеремещение товаровПоступление товаровВозврат товаров поставщикуПоступление товаров за первый месяц (например, апрель).Расчет и установка себестоимости за апрель. Проверьте результат. На этом шаге себестоимость должна рассчитаться корректно, как и было в исходной ситуации.Перемещение товаров. Если их несколько, проводите по одному. После проведения каждого перемещения снова создавайте и проводите документ Расчет и установка себестоимости и проверяйте результат.Этот метод позволяет с высокой точностью определить, после проведения какого именно документа расчет себестоимости начинает "ломаться". В рассматриваемом случае выяснилось, что ошибка возникает после проведения последнего документа Перемещение товаров, который возвращал товар с удаленного склада на основной.
Когда мы изолировали проблемный документ, нужно понять, почему он приводит к ошибке. В случае с "обратным" перемещением товара возможны несколько причин.
Влияние типов складов
В "1С:Розница" склады могут иметь разные типы, например, Складское помещение и Торговый зал. Хотя стандартный механизм расчета себестоимости не делает явных различий, на практике логика перемещения между такими складами может иметь свои особенности. Возможно, при перемещении товара из "торгового зала" обратно на "складское помещение" система не корректно передает данные о его себестоимости. Это может быть связано с тем, что на складе типа "торговый зал" учет может вестись по продажным ценам, и при возврате происходит путаница.
Особенности учета в разрезе складов
Себестоимость в "1С:Розница" рассчитывается и хранится для каждого магазина (или склада) отдельно. Когда товар перемещается на склад, где его раньше не было, информация о его себестоимости может не передаваться автоматически до следующего расчета. Если на складе-получателе не была зафиксирована себестоимость, а товар затем возвращается обратно, система может использовать неверные (например, нулевые) данные для расчета, что приведет к искажению средней себестоимости на основном складе.
Возможные доработки и расширения
Если конфигурация была доработана, необходимо проверить, не влияют ли внесенные изменения или подключенные расширения на стандартный механизм проведения документа Перемещение товаров или на алгоритм расчета себестоимости.
Подведем итог. Если вы столкнулись с некорректным расчетом себестоимости в "1С:Розница", действуйте следующим образом:
Себестоимость поставки товаров и Себестоимость номенклатуры для проблемного товара.Расчет и установка себестоимости всегда проводится в конце месяца, после всех поступлений и перемещений. Рекомендуется настроить регламентное задание для его автоматического создания и проведения.Если после всех проверок причина остается неясной, а конфигурация типовая, стоит рассмотреть возможность обращения в службу технической поддержки 1С, предоставив им подробное описание проблемы и последовательность действий для ее воспроизведения.