Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 09:47

Сложение строк ТЧ

Автор Каримдат, 26 июл 2016, 17:02

0 Пользователей и 1 гость просматривают эту тему.

Каримдат

Подскажите пожалуйста, как осуществить сложение строк в табличной части, с последующим выводом общей суммы в ПолеВвода?

Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

РаботаСДиалогами.ПоказатьКоэффициентМест(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.ЕдиницаИзмеренияМест);
РаботаСДиалогами.ПоказатьКодАртикул(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Номенклатура);
//конкретно вот эта строка
РаботаСДиалогами.ПоказатьВесИзделия(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Номенклатура);

КонецПроцедуры

Эта процедура, выводит в колонку вес номенклатуры. А мне нужно чтобы функция или процедура в новое ПолеВвода выводила общую сумму всех строк из колонки ВесИзделия.
Я так понимаю надо Для Каждого ВесИзделия Цикл
а дальше не знаю как. Может кто подсказать?

ilnur75

до цикла объявите переменную , например СуммаИтогоВес = 0
потом в цикле накапливать сумму в переменной "СуммаИтогоВес"
что-то типа СуммаИтогоВес = СуммаИтогоВес+Выборка.Вес

надеюсь идея понятна

Каримдат

к сожалению, я не настолько продвинутый программист((( Я хоть и читаю Радченко 8.3, до РИБ дошёл, но выходит только по учебнику делать.

cska-fanat-kz

ОбщийВес = ТабличнаяЧасть.Итог("ВесИзделия");
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Каримдат

Процедура РассчитатьОбщийВес(ВесИзделия);//вес изделия так называется реквизит в номенклатуре
Для Каждого ВесИзделия Из Товары   Цикл
СуммаОбщийВес = ВесПеремещения.Итого;//ВесПеремещения - так назвал ПолеВвода в котором должна выводиться сумма
КонецЦикла;
КонецПроцедуры


Что я неправильно делаю? ((

ilnur75

Цитата: Каримдат от 27 июл 2016, 14:37Что я неправильно делаю?
внимательно читать совет выше: ОбщийВес = ТабличнаяЧасть.Итог("ВесИзделия")
Ваша запись выглядит: СуммаОбщийВес = ВесПеремещения.Итого;
чего не хватает.
Думаю должно быть ВесПеремещения = Товары.Итог("ВесИзделия");
К сожалению Радченко этот момент в своих книгах не упоминает.
в ответе на ваш вопрос применили функцию Итог(), в данном случае Итог по колонке ВесИзделия таб.части Товары.

Каримдат

Перем ОбщийИтог;
Перем ТабЗнач;

Процедура РассчитатьОбщийВес();
Для Каждого ВесИзделия Из Товары  Цикл
        ОбщийИтог = ТабЗнач.Итог("ВесИзделия");
КонецЦикла;
КонецПроцедуры

Не работает метод ((((

ilnur75

в каком модуле прописываете процедуру?

Добавлено: 27 июл 2016, 21:01


Цитата: Каримдат от 27 июл 2016, 20:35Перем ТабЗнач;
у Вас же реальная таблица Товары.
это не то.


Каримдат

Код в модуле ФормаДокумента ПеремещениеТоваров

cska-fanat-kz

Цитата: Каримдат от 27 июл 2016, 20:35
Перем ОбщийИтог;
Перем ТабЗнач;

Процедура РассчитатьОбщийВес();
Для Каждого ВесИзделия Из Товары  Цикл
        ОбщийИтог = ТабЗнач.Итог("ВесИзделия");
КонецЦикла;
КонецПроцедуры

Не работает метод ((((

метод ТЧ.Итог("ИмяКолонки") получает сумму по колонке "ИмяКолонки" табличной части "ТЧ"
цикл в этом случае нафиг не нужен
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск