Создаем два табличных поля, у меня это ТоварВес и ТоварОбъем, указываем путь к данным - Объект.Товары.Номенклатура.Вес(Числитель) и указываем заголовок в свойствах, для более корректного отображения в списке колонок (смотри рисунок Создаем 2 поля)
.
Создаем реквизиты итоговых значений у меня это ИтогВес и ИтогОбъем с типом число, характеристики указывайте сами по умолчанию 10,3 (для создания реквизита нажмите на маленький плюсик в области реквизитов (смотри рисунок Реквизиты для итоговых)
.
Далее, поочередно цепляем мышкой созданные реквизиты в дерево формы, туда где вам необходимо, я сделал снизу (смотри рисунок Размещаем рисунок на форме)
Указываем Заголовок, вид выбираем поле надписи, путь присвоен автоматически.
После этого в нижней части окна переходим на вкладку модуль и ищем процедуру ТоварыКоличествоУпаковокПриИзменении, и вставляем следующий код
//VID(
Объем1 = 0;
Вес1 = 0;
Для Каждого Строка Из Объект.Товары Цикл
Объем1 = Объем1 + Строка.Количество * Строка.Номенклатура.ОбъемЧислитель;
Вес1 = Вес1 + Строка.Количество * Строка.Номенклатура.ВесЧислитель;
КонецЦикла;
ИтогоВес = Вес1;
ИтогоОбъем = Объем1;
//VID)
(смотри рисунок код модуля)
После этого обновляем конфигурацию и смотрим что получилось Рисунок в итоге.
Т.е. после изменения количества снизу у нас просчитывается общий вес и объем всех товаров, а в колонках прописан вес и объем за 1 единицу товара.
При проверке выяснилось, что при выходе данные автоматически не проставляются, все что для этого нужно, чтобы при открытии заказа клиента, у вас уже были посчитаны данные, это в модуле формы документа найти процедуру ПриОткрытии и вставить в конец, тот же код.
Если Вам не нужны колонки с отображением веса за единицу, то можете их скрыть и создать новые или изменить заголовок для вывода общих построчных значений, ну например вы количество меняете на 4 вес товара у вас при этом 5 кг, и вместо 5 в окне должно писаться 20, т.е. сумма именно этих товаров в зависимости от количества, то нам необходимо, я не стал удалять текущие колонки, создал новые Вес товара и Объем Товара. Дальше открыл конфигурации раскрыл документ заказ клиента, табличные части, товары и правой кнопкой создал реквизиты табличной части ВесТовара и ОбъемТовара, с типом Число, 15,3, далее как я уже и писал создал 2 поля ВесТовара иОбъем товара и указал путь к этим 2 реквизитам (смотри рисунок подсчет строк)
После этого заходим в модуль объекта формы и дополняем в те места где вставляли первоначальный код, следующий код
Для каждого СтрокаТД из Объект.Товары Цикл
СтрокаТД.ВесТовара = СтрокаТД.Количество * СтрокаТД.Номенклатура.ВесЧислитель;
СтрокаТД.ОбъемТовара = СтрокаТД.Количество * СтрокаТД.Номенклатура.ОбъемЧислитель;
КонецЦикла;
Смотрим что получилось, вес и объем за 1 единицу товара я скрыл убрав в свойствах галочку видимость и теперь у меня построчный расчет веса и объема.
Смотри рисунок что вышло
Ребята при работе выяснилось, что данный код не работает в тонком клиенте, поэтому создайте следующую функцию прямо в модуле документа
//VID( добавляем наши реквизиты для тонкого клиента, без этой функции, код указанный при открытии ипри изменении количества работает только на толстом клиенте
&НаСервереБезКонтекста
Функция ПолучитьСведенияНоменклатуры(Номенклатура)
Возврат ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Номенклатура, "ОбъемЧислитель, ВесЧислитель");
КонецФункции
//VID)
и измените предыдущий код, во всех местах куда его вставляли!
//VID(
Объем1 = 0;
Вес1 = 0;
Для Каждого Строка Из Объект.Товары Цикл
СведенияНоменклатуры = ПолучитьСведенияНоменклатуры(Строка.Номенклатура);
Объем1 = Объем1 + Строка.Количество * СведенияНоменклатуры.ОбъемЧислитель;
Вес1 = Вес1 + Строка.Количество * СведенияНоменклатуры.ВесЧислитель;
Строка.ВесТовара = Строка.Количество * СведенияНоменклатуры.ВесЧислитель;
Строка.ОбъемТовара = Строка.Количество * СведенияНоменклатуры.ОбъемЧислитель;
КонецЦикла;
ИтогоВес = Вес1;
ИтогоОбъем = Объем1;
//VID)
Теперь надеюсь, точно все, пока полет нормальный
Спасибо, что прочли эту статью, всем всего хорошего.