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