![]() |
|
Как перебрать строки табличного поля в документе | ☑ | ||
---|---|---|---|---|
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
|
Ладно, отбой, привязал к видимости, кому надо тот включит показ.
Если ЭлементыФормы.Товары.Колонки.ПродажиЗаГод.Видимость Тогда СтрокаТЧ.Ячейки.ПродажиЗаГод.Значение = ПосчитатьПродажиЗаГод(СтрокаТЧ.ДанныеСтроки.Номенклатура); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |