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

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

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

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

Fedor_Safonchik

Цитироватьметод ТЧ.Итог("ИмяКолонки") получает сумму по колонке "ИмяКолонки" табличной части "ТЧ"
цикл в этом случае нафиг не нужен

Согласен, скриншот ниже

cska-fanat-kz

Fedor_Safonchik, у него обычное приложение
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Fedor_Safonchik


Каримдат

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

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


То есть вот так сделать?

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

Kironten

ВесПеремещения - тип строка...
ВесИзделия - походу только колонка в ТЧ, без данных, Тип походу тоже строка, чем заполняется Х его З.
Бардачок-с.

cska-fanat-kz

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

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


То есть вот так сделать?

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

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

Каримдат

Перем ОбщийВес;
Перем СтрокаТЧ;
Перем мПолученныйВес;

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



И..... опять ничего не получилось. И процедуру пробовал, и функцию с Возврат " ";

ilnur75

Цитата: Каримдат от 28 июл 2016, 16:55опять ничего не получилось
Выложили очередной неправильный код. Зачем в тело цикла включили  ОбщийВес = 0 ?
Где прописываете процедуру? где и при каком событии вызываете эту процедуру?

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


если применить процедуру "РассчитатьОбщийВес()", то к ней обращаететсь на Клиенте , а обработку делаете на Сервере в модуле формы.

может в этом причина?
где Вы такой пример нашли, в какой книге Радченко? дайте ссылку.
выложите файл конфигурации .cf или .dt 

Каримдат

Мне нужно чтобы вес просчитывался не при записи, а при добавлении номенклатуры в табличную часть.И в теле цикла не работает, и перед циклом не работает. У меня обычное приложение, неуправляемые формы. Так что Клиент-Сервер тут не причём. И это не пример. Мне нужно просто сделать эту доработку. Чтобы рассчитывался общий вес.

cska-fanat-kz

Цитата: cska-fanat-kz от 28 июл 2016, 14:06ОбщийВес = 0;
Для каждого СтрокаТЧ Из Товары Цикл
    //по СтрокаТЧ.Номенклатура (забравшись в РаботаСДиалогами.ПоказатьВесИзделия() и поняв как там получают вес) получаем вес
    ОбщийВес = ОбщийВес + мПолученныйВес;
КонецЦикла;

-это был так сказать каркас.
похвально что вы объявили вверху ("Перем мПолученныйВес")
модульная ошибка ушла, но вот ЗНАЧЕНИЕ в этой переменной откуда появится?!
я же белым по синему пишу "по СтрокаТЧ.Номенклатура (забравшись в РаботаСДиалогами.ПоказатьВесИзделия() и поняв как там получают вес) получаем вес", какое слово непонятно?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

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

Рейтинг@Mail.ru

Поиск