Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Расчет значений в табличной части документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
murderface
Всем доброго времени суток!

Ситуация такая:
Есть документ с табличной частью:



При вводе количества заказов необходимо из справочника "Работы" получить стоимость указанного заказа и умножив на количество записать полученное числов столбец СтоимостьГрн табличной части и суммировать ее в поле СтоимостьГрн в соответствующий реквизит документа(вне табличной части).

Писал обработчик "ПриИзменении" для поля Количество, но не могу получить из табличной части название заказа(для определения его стоимости). Гугл не спас.

Буду очень признателен за помощь!
Vofka
Сигнал слабый, не могу стелепатировать sad.gif
murderface
Цитата(Vofka @ 13.11.12, 15:34) необходимо зарегистрироваться для просмотра ссылки
Сигнал слабый, не могу стелепатировать sad.gif


Смотрите:

Создаю процедуру обработки изменения поля "Кол-во"

&НаКлиенте
Процедура СписокЗаказовКоличествоПриИзменении(Элемент)        
    колво = Элементы.СписокЗаказовКоличество.ТекстРедактирования;
    //тут, нужно получить наименование заказа из текущей строки
    //после чего передаю ее в серверную процедуру, где определяю стоимость заказа,
    //умножаю на количество и записываю куда мне нужно
         ПосчитатьСтоимость(Заказ);
КонецПроцедуры


в которой не могу получить значение поля "Заказ". Просто банально не знаю как получить значение поля "Заказ"...

Цитата(murderface @ 13.11.12, 16:13) необходимо зарегистрироваться для просмотра ссылки
ПосчитатьСтоимость(Заказ);

ПосчитатьСтоимость(Заказ, колво);
DartRomanius
ТекСтрока = Элементы.<НаименованиеТЧ>.ТекущиеДанные


Вам в помощь...

Ну и серверные вызовы в придачу.
murderface
Цитата(DartRomanius @ 13.11.12, 16:14) необходимо зарегистрироваться для просмотра ссылки
ТекСтрока = Элементы.<НаименованиеТЧ>.ТекущиеДанные


Вам в помощь...

Ну и серверные вызовы в придачу.


Спасибо! Разобрался. Теперь клиентская функция выглядит так:

&НаКлиенте
Процедура СписокЗаказовКоличествоПриИзменении(Элемент)        
    
    Колво = Элементы.СписокЗаказовКоличество.ТекстРедактирования;    
    ТекСтрока = Элементы.СписокЗаказов.ТекущиеДанные;
    Заказ = ТекСтрока.Заказ;
    
    ПосчитатьСтоимость(Заказ, Колво);
КонецПроцедуры
DartRomanius
И количество и прочее лучше взять из Текущих данных...
собственно это будет строка ТЧ
murderface
Цитата(DartRomanius @ 13.11.12, 16:54) необходимо зарегистрироваться для просмотра ссылки
И количество и прочее лучше взять из Текущих данных...
собственно это будет строка ТЧ


Ну у меня стоимость расчитывается при редактировании, поэтому все работает и при моей реализации.

А можно еще вопрос?

Как получить все строки табличной части? Т.е. для расчета общей стоимости работ мне нужно просумировать все стоимости из табличной части. Значит мне нужно получить коллекцию всех строк ТЧ и просумировать их в цикле. Пробовал запросом к табличной части, но, как я понял, запрос возвращает мне коллекцию объектов типа поле ТЧ.
logist
Объект.ИмяТЧ.Итог("ИмяКолонки")
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.