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