При переносе данных из одной базы 1С:Управление торговлей 10.3 в другую (например, при «обрезании» базы или переходе на чистую конфигурацию) одной из самых сложных задач становится корректное определение цены товара. Если в базе никогда не создавались документы Установка цен номенклатуры, а данные о закупках велись специфическим образом (например, загружались напрямую с сайта), стандартные механизмы подбора цен не сработают. В этой статье мы подробно разберем, как вычислить корректную управленческую себестоимость для ввода начальных остатков, используя данные регистров накопления.
Рассмотрим сценарий: у нас есть база объемом 100 Гб, и нам необходимо перенести только актуальные остатки в пустую базу той же конфигурации. Основная проблема заключается в том, что для документа Оприходование товаров (который чаще всего используется для ввода остатков в УТ 10.3) требуется указать цену. Если мы просто укажем нулевую цену, мы потеряем данные о себестоимости, что сделает невозможным расчет валовой прибыли в новой базе. Если мы возьмем произвольную цену, финансовый результат будет искажен.
Проанализируем, где в системе хранятся данные о стоимости товара, если документы установки цен отсутствуют. В 1С:Управление торговлей 10.3 основным источником информации о стоимости являются регистры партионного учета. Даже если учетная цена (продажная или закупочная) не зафиксирована в регистре сведений Цены номенклатуры, фактическая стоимость закупки обязательно отражена в движениях по партиям.
Самым правильным и логичным способом в данной ситуации будет обращение к регистру накопления Партии товаров на складах (управленческий учет). Именно здесь хранится информация о том, сколько товара числится на складе и какова его общая стоимость с учетом всех поступлений и дополнительных расходов.
Разберем по шагам алгоритм получения этой цены:
ПартииТоваровНаСкладах на момент переноса. Нас интересуют три основных параметра: Номенклатура, Количество и Стоимость.Рассмотрим пример логики запроса на встроенном языке 1С:
ВЫБРАТЬ
ПартииОстатки.Номенклатура КАК Номенклатура,
ПартииОстатки.ХарактеристикаНоменклатуры КАК Характеристика,
ПартииОстатки.КоличествоОстаток КАК Количество,
ПартииОстатки.СтоимостьОстаток КАК Стоимость
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаОстатков, ) КАК ПартииОстатки
После получения этих данных в таблице значений, мы вычисляем цену в цикле обхода или непосредственно в запросе:
ЦенаДляОприходования = ?(Количество > 0, Стоимость / Количество, 0);
Проанализируем ситуацию глубже. Если в старой базе велся учет по методу FIFO, то на складе может находиться несколько партий одного и того же товара с разной ценой закупки. При расчете «средней цены» (как предложено выше) вы фактически «схлопываете» все эти партии в одну. Для новой базы это будет означать, что весь остаток превратился в одну партию с усредненной стоимостью.
Если для вашего бизнеса критически важна точность списания партий (например, вы торгуете товаром с сильными колебаниями закупочных цен), то правильнее будет вводить остатки не одной строкой, а в разрезе каждой исторической партии. В документе Оприходование товаров в УТ 10.3 есть возможность указать документ партии, но при вводе начальных остатков обычно создается новая партия самим документом оприходования. Поэтому, если нужна детализация, создавайте несколько строк на одну номенклатуру с разными ценами.
Выясним причину, по которой простого расчета «Стоимость / Количество» может быть недостаточно. Если ваша организация работает на общей системе налогообложения (ОСНО), то при вводе остатков крайне важно учитывать входящий НДС. В 1С:Управление торговлей 10.3 за это отвечает регистр НДС Предъявленный.
Если вы просто оприходуете товар по стоимости без учета НДС, то при дальнейшей продаже этого товара или его списании у вас могут возникнуть проблемы с выгрузкой данных в 1С:Бухгалтерию. Для корректного учета необходимо также переносить остатки по регистрам НДС, сопоставляя их с номенклатурой и стоимостью.
Рассмотрим совет, который часто дают опытные консультанты: чтобы в будущем не сталкиваться с отсутствием цен в базе, необходимо настроить автоматическую регистрацию цен. В настройках договора с контрагентом или в настройках параметров учета можно включить флаг Регистрировать цены поставщика.
Это позволит системе при проведении документа Поступление товаров и услуг автоматически создавать записи в регистре сведений Цены номенклатуры контрагентов. На основании этих данных в дальнейшем гораздо проще формировать документы Установка цен номенклатуры для собственных типов цен (оптовых, розничных) с помощью обработки Печать прайс-листа или Формирование цен.
Несмотря на то что многие привыкли использовать документ Оприходование товаров, в типовых решениях 1С часто присутствует специализированный механизм — Помощник ввода начальных остатков. Посмотрим на преимущества его использования:
Важно понимать, на что повлияет та цена, которую вы укажете сегодня при вводе остатков. Проанализируем основные отчеты:
Резюме: Метод расчета цены как частного от деления остатка стоимости на остаток количества в регистре ПартииТоваровНаСкладах является рабочим и наиболее точным для условий отсутствия прайс-листов. Главное — не забывать про аналитику (характеристики) и налоговый учет (НДС), чтобы база оставалась прозрачной для бухгалтерии и управленцев.