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

Посчитать количество колонок в ТЧ

Автор kot_oo, 30 мая 2014, 12:47

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

kot_oo

Как посчитать количество колонок?
как Количество строк понятно, а вот как колонок информации что то не нашел

cska-fanat-kz

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

kot_oo

Цитата: cska-fanat-kz от 30 мая 2014, 14:29
Ну либо ТЧ.Колонки.Количество()
либо
ТЗ = ТЧ.ВыгрузитьКолонки();
ТЗ.Колонки.Количество()
Второе сработало спасибо, а можно суммировать некоторые столбцы, чтоб не прописывать каждую строку?

cska-fanat-kz

Цитата: kot_oo от 30 мая 2014, 14:38можно суммировать некоторые столбцы, чтоб не прописывать каждую строку

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

kot_oo

Цитата: cska-fanat-kz от 30 мая 2014, 14:56
Цитата: kot_oo от 30 мая 2014, 14:38можно суммировать некоторые столбцы, чтоб не прописывать каждую строку

переведите...

Вот сумму считают в ТЧ, допустим количество (2), цена (1000р)

стр = Элементы.ТабЧасть.ТекущиеДанные;
Стр.Итог = стр.Количество * стр.Цена;

У меня около 42 реквизитов где хранится "Число", можно их не прописывать в коде, а как нибудь автоматически складывать
а то у меня большой код получился с прибавлением каждого столбца, не универсально)
Хотелось бы, чтоб считались нужные столбцы, складывались в них числа и делились на количество столбцов

cska-fanat-kz

ИменаСкладываемыхРеквизитов = Новый Массив;
ИменаСкладываемыхРеквизитов.Добавить("Количество");
ИменаСкладываемыхРеквизитов.Добавить("Количество2");
ИменаСкладываемыхРеквизитов.Добавить("Количество3");

СтрокаТЧ = Элементы.ТЧ.ТекущиеДанные;

Сумма = 0;
Для каждого РеквизитТЧ Из ИменаСкладываемыхРеквизитов Цикл
    Сумма = Сумма + СтрокаТЧ[РеквизитТЧ];
КонецЕсли;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

kot_oo

Цитата: cska-fanat-kz от 30 мая 2014, 15:12
ИменаСкладываемыхРеквизитов = Новый Массив;
ИменаСкладываемыхРеквизитов.Добавить("Количество");
ИменаСкладываемыхРеквизитов.Добавить("Количество2");
ИменаСкладываемыхРеквизитов.Добавить("Количество3");

СтрокаТЧ = Элементы.ТЧ.ТекущиеДанные;

Сумма = 0;
Для каждого РеквизитТЧ Из ИменаСкладываемыхРеквизитов Цикл
    Сумма = Сумма + СтрокаТЧ[РеквизитТЧ];
КонецЕсли;

{Документ.СводнаяВедомость.Форма.ФормаДокумента.Форма(102)}: Получение элемента по индексу для значения не определено
Сумма = Сумма + СтрокаТЧ[СтрокаТЧ];

cska-fanat-kz

Цитата: kot_oo от 30 мая 2014, 15:19Сумма = Сумма + СтрокаТЧ[СтрокаТЧ];

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

kot_oo

Цитата: cska-fanat-kz от 30 мая 2014, 15:22
Цитата: kot_oo от 30 мая 2014, 15:19Сумма = Сумма + СтрокаТЧ[СтрокаТЧ];

объясните ЭТО
при начальном использовании сумма = 0, то есть пока цикл работает из массива, то значения складываются (пример : 0 + 5 = 5
5+4=9
9+5 = 14,
как я понял)

cska-fanat-kz

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

Теги:

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

Рейтинг@Mail.ru

Поиск