Имя: Пароль:
1C
1С v8
Вставка веса всего товара из корзины в ИнформационнуюНадпись формы подбора
0 И Р
 
14.01.19
17:06
В общем модуле встретил формирование ИнформационнаяНадпись, вид имеет
такой:

    Корзина = Форма.Объект.Корзина;
    Валюта = Форма.Валюта;
    
    Сумма = Формат(Корзина.Итог("Сумма"), "ЧЦ=15; ЧДЦ=2; ЧН=");
    Вес = Корзина.Номенклатура.Итог("ВесЗнаменатель");
    Количество = НРег(ЧислоПрописью(Корзина.Количество(), "Л = ru_RU; ДП = Ложь; НП = Истина; НД = Ложь;", НСтр("ru = 'позиция,позиции,позиций,ж,,,,,0'")));
    
    ИнформационнаяНадпись = НСтр("ru = '2222Вес [Вес] Всего подобрано [Количество] товаров, на сумму [Сумма] [Валюта] [СкрытьПоказать]'");
    
    СкрытьПоказать = "";
    
    Если Форма.РежимПодбораБезКоличественныхПараметров Или Форма.РежимПодбораБезСуммовыхПараметров Тогда
        ИнформационнаяНадпись = НСтр("ru = '111Всего подобрано [Количество] товаров [СкрытьПоказать]'");
    КонецЕсли;
    
    СкрытьПоказать = ?(Форма.ПоказыватьПодобранныеТовары, НСтр("ru = '(скрыть)'"), НСтр("ru = '(показать)'"));
    
    ВставляемыеЗначения = Новый Структура("Количество, Сумма, Валюта, СкрытьПоказать", Количество, Сумма, Валюта, СкрытьПоказать);

.


Основная проблема в том, что по умолчанию реквизит Вес отсутсвует в корзине. В форме Корзины встретил 2 вида реквизитов.
https://hkar.ru/WWoR
Одни красного цвета, другие синего
1) Подскажите пожалуйста в чём отличие между этими реквизитами, почему они выделяются разными цветами?
2) Для некоторых реквизитов ниже выводится реквизит Итог, например с именем:
ИтогЦена или ИтогСумма, но не могу понять где и как это можно указать и можно ли или заполнение этого реквизита прописано в модуле?
3) Как в табличную часть Корзины можно добавить реквизит "Корзина.Номенклатура.ВесЗнаменатель", так, чтобы потом по нему высчитывался Итог и можно было встроить в информационную строку, например:
Вес = Корзина.Номенклатура.Итог("ВесЗнаменатель");
К сожалению возвращает ошибку {ОбщийМодуль.ПодборТоваровКлиентСервер.Модуль(826)}: Поле объекта не обнаружено (Номенклатура)
    Вес = Корзина.Номенклатура.Итог("ВесЗнаменатель");
1 И Р
 
16.01.19
00:31
1) Синего цвета - реквизиты ТЧ, добавленные к ТЧ объекта. Красного цвета - реквизиты ТЧ, добавленные к ТЧ реквизита формы Объект
2) Итог добавляется для реквизитов ТЧ с типом Число.
3) Добавить в ТЧ объекта колонку числового типа "ВесЗнаменатель" и заполнять ее весом номенклатуры при добавлении номенклатуры в корзину.

А именно в модуле формы

&НаСервере
Функция ПолучитьПараметрыТовараПередДобавлениеВКорзину(ПараметрыФормы)
//РомановКод тут получаются параметры товара    
    ПараметрыТовара = ПодборТоваровКлиентСервер.ПараметрыТовара(ТекущаяСтрокаНоменклатуры.Номенклатура);
    ПараметрыТовара.ХарактеристикиИспользуются = Истина;
    
    ЗаполнитьЗначенияСвойств(ПараметрыТовара, ТекущаяСтрокаНоменклатуры);
    Если  ТекущаяСтрокаНоменклатуры.Номенклатура.ВесЗнаменатель <> 0 Тогда
        ПараметрыТовара.Вес = ТекущаяСтрокаНоменклатуры.Номенклатура.ВесЧислитель / ТекущаяСтрокаНоменклатуры.Номенклатура.ВесЗнаменатель;
    КонецЕсли;    
    ПараметрыТовара.ЭтоУслуга = ТекущаяСтрокаНоменклатуры.ЭтоУслуга;    
    ПараметрыТовара.Склад = Склад;
    
    ПараметрыТовара.КоличествоУпаковок = 1;
    ПараметрыФормыИТовараНаСервере(ПараметрыФормы, ПараметрыТовара);
    
    Возврат ПараметрыТовара
    
КонецФункции
2 FIXXXL
 
16.01.19
08:58
ТекущаяСтрокаНоменклатуры.Номенклатура.ВесЗнаменатель
не надо так...
лучше смотри в сторону ПодборТоваровКлиентСервер.ПараметрыТовара(ТекущаяСтрокаНоменклатуры.Номенклатура);
там получай свой вес