В процессе работы в программах 1С (таких как 1С:Управление торговлей, ERP или Комплексная автоматизация) пользователи часто сталкиваются с ситуацией, когда один и тот же товар от разных поставщиков приходит с разными ставками НДС. Например, один поставщик работает с НДС 20%, а другой находится на упрощенной системе налогообложения и отгружает товар «Без НДС». По умолчанию в 1С ставка НДС жестко привязана к карточке номенклатуры, и в окне подбора её изменить нельзя. Рассмотрим подробнее, какими способами можно решить эту задачу, не прибегая к рискованным изменениям конфигурации.
Проанализируем самый простой и быстрый способ, который не требует программирования. Часто пользователи пытаются решить проблему именно в окне подбора, но платформа 1С предлагает более эффективный механизм уже после того, как товар перенесен в документ.
Разберем этот процесс по шагам:
СтавкаНДС, установим галочку напротив неё и выберем требуемое значение (например, «Без НДС» или «10%»).Этот метод является наиболее безопасным, так как использует типовой механизм пересчета документа ОбработкаТабличнойЧастиТовары.
Выясним причину, почему иногда все же требуется видеть разные ставки именно в подборе. Если для компании критично разделять остатки товара в разрезе ставок НДС (например, для корректного формирования книги покупок и продаж при комиссионной торговле), рассмотрим вариант с характеристиками.
Для реализации этого метода выполним следующие настройки:
Важный нюанс: Чтобы ставка НДС в документе менялась автоматически при выборе характеристики, потребуется небольшая доработка или использование расширения, которое будет подтягивать значение из наименования или дополнительного реквизита характеристики в поле СтавкаНДС документа. Однако, даже без доработки, наличие характеристик позволит пользователю в окне подбора визуально разделить товары и затем быстро отфильтровать их в табличной части для массового изменения.
Посмотрим на ситуацию со стороны администратора системы, который не хочет вносить изменения в основную конфигурацию (чтобы база оставалась на поддержке). Мы можем использовать механизм «Дополнительные отчеты и обработки».
Создадим внешнюю обработку, которая будет добавлять кнопку в командную панель табличной части документа. Проанализируем пример кода, который может использоваться в такой обработке для массовой смены ставки НДС:
&НаСервере
Процедура ИзменитьНДСНаСервере(ЗначениеСтавки, АдресВХранилище)
ОбъектДок = ДанныеФормыВЗначение(Объект, Тип("ДокументОбъект.ПриобретениеТоваровУслуг"));
Для Каждого СтрокаТЧ Из ОбъектДок.Товары Цикл
СтрокаТЧ.СтавкаНДС = ЗначениеСтавки;
// Вызываем типовой метод пересчета сумм
ОбработкаТабличнойЧастиТоварыКлиентСервер.ПересчитатьСуммуНДС(СтрокаТЧ, ОбъектДок.ЦенаВключаетНДС);
КонецЦикла;
ЗначениеВДанныеФормы(ОбъектДок, Объект);
КонецПроцедуры
Этот способ позволяет пользователю одним нажатием кнопки привести все строки документа к нужному виду, при этом сама конфигурация 1С:Управление торговлей остается полностью типовой.
Если же стоит задача изменить именно интерфейс окна подбора (форму ФормаПодбораТоваров), то наиболее современным методом будет использование Расширения. Это позволит добавить колонку «Ставка НДС» непосредственно в список подбираемых товаров.
Рассмотрим, как это работает:
ПриИзменении для поля выбора ставки НДС в окне подбора.Использование расширений позволяет реализовать логику, описанную в сообщениях форума, когда пользователю удобно менять реквизиты «на лету», не закрывая окно выбора.
Проанализируем предложение из темы форума о создании отдельных карточек номенклатуры для каждой ставки НДС. Мы настоятельно не рекомендуем этот путь по следующим причинам:
Номенклатура увеличится вдвое или втрое, что замедлит поиск.Подводя итог, можно сказать, что наиболее сбалансированным решением является сочетание Метода 1 (групповое изменение в документе) и Метода 4 (использование внешних обработок). Это обеспечивает точность учета без лишних трудозатрат на программирование и поддержку измененной конфигурации.
Если же работа с разными ставками НДС у одного товара носит массовый и регулярный характер, рекомендуем настроить Договоры контрагентов. В настройках договора можно указать признак НалогообложениеНДС, который будет автоматически подставляться в документ при выборе конкретного поставщика, что минимизирует необходимость ручного вмешательства в подборе.