Имя: Пароль:
1C
1С v8
Как перебрать строки табличного поля в документе
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
Ладно, отбой, привязал к видимости, кому надо тот включит показ.

Если ЭлементыФормы.Товары.Колонки.ПродажиЗаГод.Видимость Тогда
   СтрокаТЧ.Ячейки.ПродажиЗаГод.Значение = ПосчитатьПродажиЗаГод(СтрокаТЧ.ДанныеСтроки.Номенклатура);
КонецЕсли;