|
Как перебрать строки табличного поля в документе |
☑ |
0
Bayker20
13.09.18
✎
09:38
|
Помогите, а то чет-та туплю под утро, Допустим!: есть документ "Заказ", в нем есть Табличная часть "Товары" с 2 колонками "Номенклатура и Цена". На форме в Табличное поле с этой таблицей вручную добавил колонку "ПродажиЗаГод" и не знаю как теперь перебрать это таб поле, чтобы заполнить эту колонку.
1) ТоварыПриПолученииДанных() и пр. не надо советовать т.к. очень долго считает и не всегда эти данные нужны, расчет сделан по кнопке.
2) "Для Каждого СтрокаТ Из Товары Цикл" не катит т.к. такой колонки в ТЗ нет
3) "Для Каждого СтрокаТ Из ЭлементыФормы.Товары.Значение Цикл" - тоже нет такой колонки
4) ЭлементыФормы.Товары.Колонки - там она есть, а толку
|
|
1
takefive
13.09.18
✎
09:42
|
ПриПолученииДанных или ПриВыводеСтроки
|
|
2
butterbean
13.09.18
✎
09:43
|
(0) делай таблицу значений и при редактировании строк обновляй данные в табличной части документа
|
|
3
Михаил Козлов
13.09.18
✎
09:43
|
У Вас нет "переменной", куда можно загнать рассчитанные данные.
Поэтому:
1. Рассчитать по кнопке данные и поместить в свою переменную (например, Соответствие с ключом, который позволит идентифицировать строку, к которой относится рассчитанное значение);
2. В ПриПолученииДанных выводить в колонку (текст), который взять из вышеупомянутой переменной.
|
|
4
Обфускация
13.09.18
✎
09:52
|
(0)
если делать на клиенте, то "СтрокаТ Из Товары Цикл" должно работать. При этом товары должно быть без слова "объект."
|
|
5
Bayker20
13.09.18
✎
09:52
|
(3) т.е. выгрузить потом?
2 пункт просил не советовать, там все просто как заполнить эту ячейку, но мне так не надо.
Вот такая конструкция заработала без ошибок, но данные все-рано не вставляет.
Для Каждого СтрокаТ Из ЭлементыФормы.Товары.Значение Цикл
ЭлементыФормы.Товары.ОформлениеСтроки(СтрокаТ).Ячейки.ПродажиЗаГод.Значение = 1;
КонецЦикла;
|
|
6
Bayker20
13.09.18
✎
09:59
|
(3) А все я тебя понял, просто не внимательно прочитал, придется так делать.
|
|
7
hhhh
13.09.18
✎
10:04
|
(5) Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
ОформлениеСтроки.Ячейки.Менеджер.ОтображатьТекст = Истина;
ОформлениеСтроки.Ячейки.Менеджер.Текст = МойМенеджер;
КонецЦикла;
|
|
8
Михаил Козлов
13.09.18
✎
10:07
|
(6) Насчет тормозит. Можно сделать так:
- переменная локатор типа Соответствие;
- в ПриПолучении данных получать из локатора значение по ключу. Если НЕОПРЕДЕЛЕНО - рассчитать.
Тормозить будет только при первом показе и при листании.
Или в ПриОткрытии все рассчитать - тогда тормоз только при открытии и при изменении табличной части.
|
|
9
Bayker20
13.09.18
✎
10:42
|
Ладно, отбой, привязал к видимости, кому надо тот включит показ.
Если ЭлементыФормы.Товары.Колонки.ПродажиЗаГод.Видимость Тогда
СтрокаТЧ.Ячейки.ПродажиЗаГод.Значение = ПосчитатьПродажиЗаГод(СтрокаТЧ.ДанныеСтроки.Номенклатура);
КонецЕсли;
|
|