Как добавить вес продукции в счет на оплату в 1С:Бухгалтерия предприятия 3.0?

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

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

В типовой конфигурации «1С:Бухгалтерия предприятия 3.0» учет логистических и весогабаритных параметров номенклатуры по умолчанию не выведен в документ Счет на оплату покупателю. Однако решить эту задачу можно без снятия конфигурации с поддержки (без изменения «замочка»), сохранив возможность автоматического обновления программы.

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

Шаг 1. Настройка хранения веса через дополнительные реквизиты

Проанализируем типовые возможности программы. В 1С встроен гибкий механизм хранения произвольных параметров без программирования — Дополнительные реквизиты и сведения.

Для включения и настройки механизма выполним следующие действия:

  1. Перейдем в раздел Администрирование → Общие настройки.
  2. Развернем блок Дополнительные реквизиты и сведения и установим соответствующий флаг активности.
  3. Перейдем по гиперссылке Дополнительные реквизиты.
  4. В левом списке найдем справочник Номенклатура и нажмем кнопку Добавить → Новый (или используем кнопку Изменить состав дополнительных реквизитов прямо из карточки номенклатуры).
  5. Заполним параметры создаваемого реквизита:
    • Наименование: Вес единицы (кг) или Вес;
    • Тип значения: Число;
    • Длина: 10, Точность: 2 или 3 (в зависимости от требуемой детализации граммов).
  6. Нажмем Записать и закрыть.

Теперь в карточке каждого товара в справочнике Номенклатура появится поле для ввода веса. Значения будут сохраняться в табличной части ДополнительныеРеквизиты объекта.

Шаг 2. Вывод веса в печатную форму счета на оплату

Штатный редактор макетов печатных форм (раздел Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм) позволяет редактировать только статический текст и визуальное оформление (шрифты, границы, логотипы). Добавить вывод динамических данных (веса единицы и общего веса строки), которых нет в типовом запросе формирования счета, одной лишь правкой макета невозможно.

Рассмотрим два основных способа решения:

Способ А. Разработка внешней печатной формы (ВПФ)

Это классический и наиболее безопасный вариант расширения функциональности печатных форм. Внешняя печатная форма подключается через пользовательский интерфейс в разделе Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.

Логика работы внешней обработки на базе Библиотеки стандартных подсистем (БСП):

  1. В обработке объявляется экспортная функция СведенияОВнешнейОбработке(), описывающая параметры регистрации формы в документе СчетНаОплатуПокупателю.
  2. В процедуре формирования печатного документа модифицируется запрос к табличной части Товары с левым соединением к табличной части ДополнительныеРеквизиты номенклатуры.
  3. В макет печатной формы добавляются параметры: Вес (вес единицы), ВсегоВес (произведение количества на вес единицы) и итоговая строка в подвале документа.

Посмотрим на пример фрагмента запроса для выборки веса из дополнительных реквизитов:


ВЫБРАТЬ
	СчетТабличнаяЧасть.Номенклатура КАК Номенклатура,
	СчетТабличнаяЧасть.Количество КАК Количество,
	СчетТабличнаяЧасть.Цена КАК Цена,
	СчетТабличнаяЧасть.Сумма КАК Сумма,
	ЕСТЬNULL(НоменклатураДопРеквизиты.Значение, 0) КАК ВесЕдиницы,
	СчетТабличнаяЧасть.Количество * ЕСТЬNULL(НоменклатураДопРеквизиты.Значение, 0) КАК ОбщийВес
ИЗ
	Документ.СчетНаОплатуПокупателю.Товары КАК СчетТабличнаяЧасть
	ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДопРеквизиты
		ПО СчетТабличнаяЧасть.Номенклатура = НоменклатураДопРеквизиты.Ссылка
		И (НоменклатураДопРеквизиты.Свойство = &РеквизитВес)
ГДЕ
	СчетТабличнаяЧасть.Ссылка = &ДокументСсылка

Способ Б. Использование расширения конфигурации (.cfe)

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

Преимущества расширения:

  1. Позволяет добавить колонку Вес и итоговый вес партии прямо в интерактивную экранную форму счета на оплату покупателю.
  2. Автоматически рассчитывает вес строки при изменении номенклатуры или количества:
    
    &НаКлиенте
    Процедура ТоварыКоличествоПриИзменении(Элемент)
    	СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
    	СтрокаТабличнойЧасти.ВсегоВес = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.ВесЕдиницы;
    	ПересчитатьИтоговыйВес();
    КонецПроцедуры
    
  3. Не препятствует установке типовых обновлений конфигурации «1С:Бухгалтерия».

Альтернативные варианты без доработки кода

Если нет возможности привлечь программиста 1С для создания ВПФ или расширения, проанализируем варианты работы стандартными средствами:

  1. Указание веса в наименовании для печати: в карточке товара заполняется поле Наименование для печати, куда вручную дописывается вес единицы (например, «Люк чугунный тип Т (тяжелый, 130 кг)»). В печатной форме счета покупатель сразу увидит характеристику, но итоговый суммарный вес программа рассчитать не сможет.
  2. Ведение учета в килограммах: если специфика изделий допускает продажу по весу, в качестве базовой единицы измерения номенклатуры устанавливается кг, а количество в счете указывается в килограммах.
← На главную