Имя: Пароль:
1C
1С v8
Ступор в формуле. Помогите)
0 anagk
 
24.06.22
11:51
Еще вчера на тестовой базе, все работало. Перенес в рабочую изменения и НЕ РАБОТАЕТ. Математика не работает. Сделал за 3 мин. Сегодня мучаюсь пол дня.
В Спарвочнике Спецификаций, добавил два Резквизита с типом Число. В форму добавил один как есть "число" это коефициент вводиться вручную (ВесК), второй (Вес) изменил на Объект.Владелец.Вес.
Задача в Табличной части умножить эти два реквизита при выборе номенклатуры:
&НаКлиенте
Процедура СоставНоменклатураПриИзменении(Элемент)

    СтрокаТабличнойЧасти = Элементы.Состав.ТекущиеДанные;
    
    СтруктураДанные = Новый Структура();
    СтруктураДанные.Вставить("Номенклатура", СтрокаТабличнойЧасти.Номенклатура);
    
    СтруктураДанные = ПолучитьДанныеНоменклатураПриИзменении(СтруктураДанные);
    
    СтрокаТабличнойЧасти.Характеристика = Неопределено;
    СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтруктураДанные.ЕдиницаИзмерения;
    СтрокаТабличнойЧасти.Спецификация = СтруктураДанные.Спецификация;
/////*********
    СтрокаТабличнойЧасти.Количество = Объект.Вес*Объект.ВесК;
    //СтрокаТабличнойЧасти.Количество = 1;
    СтрокаТабличнойЧасти.КоличествоПродукции = 1;
    СтрокаТабличнойЧасти.ДоляСтоимости = 1;
    
КонецПроцедуры // СоставНоменклатураПриИзменении()

Вес - получает число "0". На форме отображаеться нужный вес из карточки номенклатуры, а в процедуре 0. Поможете?
1 Fedor-1971
 
24.06.22
11:56
А где, в приведенном коде, заполняется Вес?
2 Волшебник
 
24.06.22
11:57
Ошибка здесь:
СтрокаТабличнойЧасти.Количество = Объект.Вес*Объект.ВесК;
3 anagk
 
24.06.22
12:00
(1) Вес при Выборе Карточки номенклатуры - автоматом.
4 anagk
 
24.06.22
12:00
в форме видно указаный вес
5 anagk
 
24.06.22
12:01
(Вес) изменил на Объект.Владелец.Вес - это Путь к данным
6 Волшебник
 
24.06.22
12:01
Надо обращаться к СтрокаТабличнойЧасти или СтруктураДанные
7 anagk
 
24.06.22
12:02
коефициент - работает
8 anagk
 
24.06.22
12:03
(6) два числа перемножить из Формы взяты. Коефициент берет, а Вес (есть реально число) в этом поле - 0
9 anagk
 
24.06.22
12:03
эще сильнее бесит, что вчера код работал)
10 Fedor-1971
 
24.06.22
12:05
Используешь Объект.Вес, а отображаешь Объект.Владелец.Вес
Надо брать из одного источника

(9) значит заполнял Объект.Вес, потом что-то исправил
11 Волшебник
 
24.06.22
14:58
что за "Объект"? Как он связан со строкой таб.части?
Программист всегда исправляет последнюю ошибку.