Многие пользователи и специалисты, работающие с 1С:Управление торговлей версий 11.3 и 11.4, сталкиваются с проблемой отсутствия аналитики по поставщикам в отчетах по валовой прибыли и остаткам товаров. В современных релизах система стремится унифицировать учет собственных товаров, скрывая детализацию по поставщику, если не используется комиссионная схема. Давайте разберем, как проанализировать эту ситуацию и внедрить решение, позволяющее видеть поставщика в регистрах.
Основная причина заключается в том, как 1С формирует справочник Виды запасов. Это ключевой регистр, определяющий аналитику для Себестоимость товаров. В типовой логике последних версий, поле Поставщик в этом справочнике заполняется только для комиссионных товаров. Для собственного товара система часто подставляет значение Собственный товар, обнуляя данные о конкретном контрагенте. Это архитектурное решение разработчиков направлено на упрощение закрытия месяца, однако оно блокирует возможности управленческого учета в разрезе закупок.
Если вам критически важно видеть поставщика в отчетах, необходимо вмешаться в алгоритм формирования структуры вида запасов. Рассмотрим, как это сделать, модифицировав код модуля менеджера справочника Виды запасов.
Нам потребуется найти функцию, отвечающую за определение структуры вида запасов, и дополнить её логикой, которая принудительно заполняет реквизит Поставщик для собственных товаров при включенной функциональной опции ФормироватьВидыЗапасовПоПоставщикам. Рассмотрим пример необходимого кода для замены:
Если РеквизитыДокумента <> Неопределено Тогда
Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратТоваровКомитенту
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПередачаНаКомиссиюВДругуюОрганизацию
ИЛИ РеквизитыДокумента.ТипЗапасов = Перечисления.ТипыЗапасов.КомиссионныйТовар Тогда
СтруктураВидЗапасов.ТипЗапасов = Перечисления.ТипыЗапасов.КомиссионныйТовар;
СтруктураВидЗапасов.Поставщик = РеквизитыДокумента.Поставщик;
// ... (дополнительные поля: Соглашение, Договор, Валюта, Налогообложение)
Иначе
Если ЗначениеЗаполнено(РеквизитыДокумента.ТипЗапасов) Тогда
СтруктураВидЗапасов.ТипЗапасов = РеквизитыДокумента.ТипЗапасов;
Иначе
СтруктураВидЗапасов.ТипЗапасов = Перечисления.ТипыЗапасов.Товар;
КонецЕсли;
Если ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоПоставщикам") Тогда
СтруктураВидЗапасов.Поставщик = ?(ЗначениеЗаполнено(РеквизитыДокумента.Поставщик), РеквизитыДокумента.Поставщик, Неопределено);
КонецЕсли;
КонецЕсли;
КонецЕсли;
После внесения данных изменений система начнет корректно записывать поставщика в справочник при проведении документа Поступление товаров и услуг. Важно: убедитесь, что вы также добавили аналогичную логику для всех документов, которые создают движения по видам запасов, иначе при перепроведении или закрытии месяца данные могут быть перезаписаны.
Если вы не хотите вносить изменения в типовой код конфигурации, можно воспользоваться обходным путем, который заключается в временной смене хозяйственной операции:
Закупка у поставщика на Прием на комиссию.Закрытие месяца система может выдать ошибку Исправление отрицательных остатков товаров организации.Закупка у поставщика).Этот способ позволяет «обмануть» систему и заставить её зафиксировать поставщика в регистрах без глубокого программирования, однако он требует внимательности при выполнении регламентных процедур.
При использовании данных методов помните о следующих нюансах:
Сравнение и объединение.Интеркампани связь с поставщиком в регистрах замещается данными вашей внутренней организации, что является штатным поведением системы.Партии товаров организаций, так как это более «безопасный» путь для бизнеса.Проанализировав оба подхода, выбирайте тот, который меньше нагружает процесс сопровождения системы, и всегда делайте резервную копию базы перед внесением изменений в алгоритмы учета себестоимости.