Как перебрать строки таблицы формы? #729784


#0 by Elf56
Всем доброго времени суток. Имеется 1С:Предприятие 8.3 (8.3.5.1186) "Управление торговлей и взаимоотношениями с клиентами (CRM)", редакция 2.0 (2.0.2.5). Стоит такая задача что по галочке на форме происходит пересчет всей табличной части документа. В таблице есть реквизит Номенклатура и на форме таблицы есть такой же реквизит. Пересчет по одной строке происходит без проблем при смене номенклатуры вызывается процедура Процедура ТоварыНоменклатураПриИзменении(Элемент) но надо так чтобы по галочке на форме пересчитывались все строки таблицы т.е. по каждой ее номенклатуре, кода в процедуре "ТоварыНоменклатураПриИзменении" очень много и он завязан на входящем параметре "Элемент" поэтому я вижу решение задачи это при изменении галочки обходить табличную часть формы подставляя в процедуру ТоварыНоменклатураПриИзменении по очереди все элементы табличной части, чтобы пересчет произвелся по все таблице. Делаю это вот так &НаКлиенте Но выдает ошибку {Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(9777)}: Итератор для значения не определен     Для каждого ТекущаяСтрока Из Элементы.Товары Цикл Как перебрать таблицу формы? Всем заранее за ответ.
#1 by Elf56
Нашел в инете что можно вот так Процедура КакПеребратьВсеСтрокиВТаблицеДокумента ВыбДокумента- реквизит на форме. То есть конкрентный выбранный документ. Товары – табличная часть выбранного документа. но что такое ВыбДокумента не могу понять ?
#2 by Defender aka LINN
Таблица на форме просто выводит данные, которые находятся в реквизитах. Дальше продолжать?
#3 by antoneus
Зачем пересчитывать таблицу на форме? Туда же реквизиты ТЧ выводятся или нет? Вот ТЧ и пересчитывай.
#4 by Elf56
Мне просто нужно получить Элемент табличной части Товары на форме колонки ТоварыНоменклатура как это можно сделать ?
#5 by vicof
Прочитать книжку "1с для чайников за 21 день". Элементы.Товары.ТекущиеДанные
#6 by Любопытная
а можно в картинках? У тебя ТЧ в ТЧ что ли?
#7 by vicof
нет, автор не знает, что такое запятая.
#8 by Elf56
ТоварыНоменклатура это поле элемента формы табличной части Объект.Товары.Номенклатура
#9 by Elf56
Делаю Для каждого ТекущаяСтрока Из Элементы.Товары.ТекущиеДанные Цикл такая же ошибка
#10 by Любопытная
Так. Ты хочешь, чтобы при установке определенной галочки пересчитывалась вся ТЧ? Ну и пересчитывай, в чем проблема?
#11 by Любопытная
потому что ТекущиеДанные это уже строка. А надо Объект.Товары обходить, а не элементы на форме
#12 by Elf56
Хорошо если я сделаю Для каждого ТекущаяСтрока Из Объект.Товары Цикл Как мне отсюда получить Элемент? формы? реквизита Номенклатура?
#13 by Любопытная
Зачем?
#14 by vicof
Автор, зачем тебе "элемент? формы? реквизита Номенклатура?"
#15 by Любопытная
ТоварыНоменклатураПриИзменении(ТекущаяСтрока.ТоварыНоменклатура) - вот сюда попадает уже Номенклатура. Прям ссылка. Никаких элементов
#16 by Elf56
вот ссылка
#17 by Elf56
на картнику
#18 by vicof
А, ну щас все стало ясно
#19 by Любопытная
#20 by Elf56
если я вот так делаю Для каждого ТекущаяСтрока Из Объект.Товары Цикл то как раз процедура ТоварыНоменклатураПриИзменении ругается что {Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(9778)}: Поле объекта не обнаружено (ТоварыНоменклатура)         ТоварыНоменклатураПриИзменении(ТекущаяСтрока.ТоварыНоменклатура);
#21 by vicof
Ты когда уже до 80 уровня дорастешь?
#22 by 1976vas
ТоварыНоменклатураПриИзменении - это твой метод или такой в 1с есть?
#23 by 1976vas
Общий модуль создавал?
#24 by vicof
Предполагаю, что это событие модуля формы при изменении номенклатуры в ТЧ.
#25 by Elf56
все вот так заработало Для каждого ТекущаяСтрока Из Объект.Товары Цикл         ТоварыНоменклатураПриИзменении(ТекущаяСтрока.Номенклатура);
#26 by 1976vas
Я тоже
#27 by Elf56
только я не могу понять почему элемент формы который требует процедура ТоварыНоменклатураПриИзменении то же самое что и Объект.Товары.Номенклатура
#28 by Chameleon1980
думаем и удивляемся
#29 by Elf56
так кто то советовал какую то книжку прочитать по этому поводу еще раз можно )))
#30 by vicof
Ну ты охренел. Тему сложно посмотреть?
#31 by Chameleon1980
куча книг
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С