Как настроить учет себестоимости по поставщикам в 1С:Управление торговлей 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Многие пользователи и специалисты, работающие с 1С:Управление торговлей версий 11.3 и 11.4, сталкиваются с проблемой отсутствия аналитики по поставщикам в отчетах по валовой прибыли и остаткам товаров. В современных релизах система стремится унифицировать учет собственных товаров, скрывая детализацию по поставщику, если не используется комиссионная схема. Давайте разберем, как проанализировать эту ситуацию и внедрить решение, позволяющее видеть поставщика в регистрах.

Понимание проблемы: почему поставщик пропадает из аналитики

Основная причина заключается в том, как 1С формирует справочник Виды запасов. Это ключевой регистр, определяющий аналитику для Себестоимость товаров. В типовой логике последних версий, поле Поставщик в этом справочнике заполняется только для комиссионных товаров. Для собственного товара система часто подставляет значение Собственный товар, обнуляя данные о конкретном контрагенте. Это архитектурное решение разработчиков направлено на упрощение закрытия месяца, однако оно блокирует возможности управленческого учета в разрезе закупок.

Решение через модификацию модуля менеджера справочника «Виды запасов»

Если вам критически важно видеть поставщика в отчетах, необходимо вмешаться в алгоритм формирования структуры вида запасов. Рассмотрим, как это сделать, модифицировав код модуля менеджера справочника Виды запасов.

Нам потребуется найти функцию, отвечающую за определение структуры вида запасов, и дополнить её логикой, которая принудительно заполняет реквизит Поставщик для собственных товаров при включенной функциональной опции ФормироватьВидыЗапасовПоПоставщикам. Рассмотрим пример необходимого кода для замены:


Если РеквизитыДокумента <> Неопределено Тогда
    Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию 
        ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратТоваровКомитенту 
        ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПередачаНаКомиссиюВДругуюОрганизацию 
        ИЛИ РеквизитыДокумента.ТипЗапасов = Перечисления.ТипыЗапасов.КомиссионныйТовар Тогда
        
        СтруктураВидЗапасов.ТипЗапасов = Перечисления.ТипыЗапасов.КомиссионныйТовар;
        СтруктураВидЗапасов.Поставщик = РеквизитыДокумента.Поставщик;
        // ... (дополнительные поля: Соглашение, Договор, Валюта, Налогообложение)
    Иначе
        Если ЗначениеЗаполнено(РеквизитыДокумента.ТипЗапасов) Тогда
            СтруктураВидЗапасов.ТипЗапасов = РеквизитыДокумента.ТипЗапасов;
        Иначе
            СтруктураВидЗапасов.ТипЗапасов = Перечисления.ТипыЗапасов.Товар;
        КонецЕсли;

        Если ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоПоставщикам") Тогда
            СтруктураВидЗапасов.Поставщик = ?(ЗначениеЗаполнено(РеквизитыДокумента.Поставщик), РеквизитыДокумента.Поставщик, Неопределено);
        КонецЕсли;
    КонецЕсли;
КонецЕсли;

После внесения данных изменений система начнет корректно записывать поставщика в справочник при проведении документа Поступление товаров и услуг. Важно: убедитесь, что вы также добавили аналогичную логику для всех документов, которые создают движения по видам запасов, иначе при перепроведении или закрытии месяца данные могут быть перезаписаны.

Альтернативный метод: использование механизмов закрытия месяца

Если вы не хотите вносить изменения в типовой код конфигурации, можно воспользоваться обходным путем, который заключается в временной смене хозяйственной операции:

  1. В приходных документах временно измените операцию с Закупка у поставщика на Прием на комиссию.
  2. Перепроведите эти документы.
  3. При выполнении регламентной операции Закрытие месяца система может выдать ошибку Исправление отрицательных остатков товаров организации.
  4. Воспользуйтесь предложенным механизмом перезаполнения видов запасов внутри этой ошибки.
  5. После того как виды запасов заполнились корректно, верните операцию в исходное состояние (Закупка у поставщика).

Этот способ позволяет «обмануть» систему и заставить её зафиксировать поставщика в регистрах без глубокого программирования, однако он требует внимательности при выполнении регламентных процедур.

Рекомендации по дальнейшей работе

При использовании данных методов помните о следующих нюансах:

Проанализировав оба подхода, выбирайте тот, который меньше нагружает процесс сопровождения системы, и всегда делайте резервную копию базы перед внесением изменений в алгоритмы учета себестоимости.

← На главную