В практике ведения учета в 1С:Управление торговлей 11 (УТ 11) часто возникает ситуация, когда одна и та же номенклатурная позиция с типом «Услуга» должна оформляться разными первичными документами. Например, при продаже через одну организацию (ООО «Ромашка») клиенту требуется Реализация товаров и услуг, а при продаже через другую (ООО «Василек») — Акт выполненных работ. Разберем детально, как устроена эта логика в программе и какими способами можно добиться желаемого результата, не прибегая к дублированию позиций в справочнике номенклатуры.
Проанализируем базовый механизм. По умолчанию в 1С:УТ 11 тип документа, которым будет оформлена услуга при создании на основании Заказа клиента, определяется в карточке Вида номенклатуры. На вкладке «Основное» в поле «Оформление продажи» можно выбрать:
Эта настройка является глобальной для всех позиций данного вида. Однако на практике нам нужна гибкость. Рассмотрим подробнее способы обхода этого жесткого правила.
Выясним, как переопределить настройки номенклатуры на уровне условий продаж. Начиная с версий 11.4 и 11.5, в программе реализован механизм, который часто упускают из виду. В Типовых или Индивидуальных соглашениях с клиентами предусмотрена возможность переопределить порядок оформления.
Разберем по шагам, как это настроить:
Важно: Если для Организации №1 мы создадим соглашение с типом оформления «Реализация», а для Организации №2 — «Акт», то система при создании документов на основании заказа будет игнорировать настройку в карточке номенклатуры и возьмет правило из соглашения.
Проанализируем разницу между типами объектов. В 1С:УТ 11 существует два похожих, но методически разных типа номенклатуры:
Для Работ система чаще всего по умолчанию предлагает именно Акт выполненных работ, так как этот документ фиксирует факт материального изменения или выполнения трудозатрат. Если ваша деятельность ближе к производственной или сервисной со списанием материалов, попробуйте изменить тип номенклатуры на «Работа». Это даст больше рычагов контроля, хотя и может усложнить учет затрат.
Посмотрим на ситуацию со стороны процесса оформления. Когда мы создаем документ на основании Заказа клиента, «Помощник оформления накладных» анализирует реквизит Хозяйственная операция в шапке заказа.
Реализацию товаров и услуг.Акт выполненных работ.Таким образом, обучив менеджеров правильно выбирать операцию в заказе в зависимости от организации или требований клиента, мы можем управлять типом результирующего документа без изменения справочников.
Зачастую требование «делать акт» исходит исключительно от бухгалтерии контрагента, которой нужна печатная форма с заголовком «Акт». В 1С:УТ 11 документ Реализация товаров и услуг является универсальным. Даже если вы включили услугу в общую накладную вместе с товарами, вы всегда можете распечатать из этого документа отдельно ТОРГ-12 (для товаров) и отдельно Акт об оказании услуг (для услуг).
Если клиенту не принципиально наличие в базе документа с метаданными «Акт», используйте один документ реализации. Это упростит взаиморасчеты и складской учет, так как все позиции (и товар, и услуга) будут находиться в одном месте.
Если типовые настройки соглашений не подходят (например, нужно жестко привязаться к реквизиту «Организация»), рассмотрим вариант небольшой доработки. В системе за логику определения типа создаваемого документа отвечает программный модуль оформления. Мы можем вмешаться в этот процесс, используя механизм Расширений.
Нам потребуется переопределить метод, который анализирует настройки номенклатуры. Рассмотрим пример логики, которую можно внедрить в расширение для подмены типа документа:
&Вместо("ОпределитьТипСоздаваемогоДокумента")
Процедура Ист_ОпределитьТипСоздаваемогоДокумента(ПараметрыОформления, НоменклатураПозиции)
// Получаем организацию из шапки заказа или распоряжения
Организация = ПараметрыОформления.Организация;
// Если это ООО "Василек", то всегда принудительно ставим Акт
Если Организация.Наименование = "ООО ""Василек""" Тогда
ПараметрыОформления.ТипДокумента = Перечисления.ТипыДокументовРеализацииУслуг.АктВыполненныхРабот;
Иначе
// В остальных случаях вызываем стандартную логику
ПродолжитьВызов(ПараметрыОформления, НоменклатураПозиции);
КонецЕсли;
КонецПроцедуры
Использование кода ПродолжитьВызов позволяет сохранить типовую функциональность для всех прочих случаев, добавляя лишь одно исключение для конкретной организации.
Подводя итоги, мы видим, что задача решаема несколькими путями:
Выбор конкретного метода зависит от того, насколько критично для вашей бухгалтерии наличие именно разных типов документов в системе (с точки зрения проводок и регистров) или же достаточно просто разных бумажных бланков для клиента.