Помощь - Поиск - Пользователи - Календарь
Полная версия: Перебор строк табличного поля
1C-PRO - Форум по 1С > Форумы по платформе "1С:Предприятие 8.x" > (8.х) Конфигурирование на платформе "1С:Предприятие 8.x"
Amber
У меня в форму элемента справочника карты вставлено ТабличноеПоле1 с типом значения- РегистрСведенийСписок.Карты. В табличном поле установлен отбор по Контраагенту. при отрытии формы в табличном поле появляются соответствующие строки. Как организовать перебор строк? Мне нужно обработать каждую строку..
Метод "Для Каждого ТекСтрока из ТабличноеПоле1 Цикл"не помогает так как выдается ошибка-
Цитата
{Справочник.Клиенты.Форма.ФормаЭлемента(190)}: Итератор для значения не определен
Для Каждого ТекСтрока из ТабличноеПоле1 Цикл

Заранее спасибо!

BabySG
Проще всего обратиться к источнику данных ТП
Amber
Цитата(BabySG @ 17.7.2008, 12:02) *

Проще всего обратиться к источнику данных ТП

Сообственно так уже и сделал:
Код

Контрагент=Справочники.Клиенты.НайтиПоНаименованию(Наименование);
Запрос= Новый Запрос;
Запрос.Текст=
\"ВЫБРАТЬ
| Карты.НомерКарты как Номеркарты,
| Карты.Контрагент Как Контрагент
|ИЗ
| РегистрСведений.Карты КАК Карты
|ГДЕ
| Карты.Контрагент = &Контрагент\";
Запрос.УстановитьПараметр(\"Контрагент\", Контрагент);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл;
обСправ=Справочники.Карты.НайтиПоНаименованию(Выборка.Номеркарты);
ОбСправ.Контагент=Выборка.Контрагент;
обСправ.Записать();
КонецЦикла;


И вот тут ошибка-
Цитата
{Справочник.Клиенты.Форма.ФормаЭлемента(205)}: Поле объекта недоступно для записи (Контагент)
ОбСправ.Контагент=Выборка.Контрагент;
.
Поле "контагент"справочника Клиенты имеет тип "Строка". В чем может быть проблема?...
Причем код
Код

Выборка1 = Запрос.Выполнить().Выбрать();
Выборка1.Следующий();
обСправ.Контагент= Выборка1.Контрагент;
обСправ.Записать();

Прекрасно работал..
tunec
возможно тебы одно из полей строка, а другое справочникссылка.Контрагенты, но тогда ругался бы иначе

Кстати КОНТАГЕНТ или КОНТРАГЕНТ?

И еще проверь обСправ=Справочники.Карты.НайтиПоНаименованию(Выборка.Номеркарты); Скорее всего не находит такого...
Amber
Ошибку нашел.
отсутствовала строка
Код

обСправ=Справочники.Карты.НайтиПоНаименованию(СокрЛП(Выборка.Номеркарты)).ПолучитьОбъект();


Всем спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2009 Invision Power Services, Inc.