Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 08:42

Изменение в табличной части документа

Автор shtrihs, 16 ноя 2011, 15:38

0 Пользователей и 1 гость просматривают эту тему.

shtrihs

Добрый день!

Заранее извиняюсь, так как я новичок и были похожие темы, но мне не совсем понятно.

Задача: Требуется при изменении поля дата, перебирать строки табличной части и выводить сообщение из заданной колонки. Версия 1с 8.2

Я написал

Процедура ДатаПриИзменении(Элемент)
   СтрокаТабличнойЧасти=Элементы.ПереченьНоменаклатуры.ТекущиеДанные;
   Для каждого стр из СтрокаТабличнойЧасти Цикл
   Сообщить(СтрокаТабличнойЧасти.Цена);    
   КонецЦикла;
КонецПроцедуры

При этом 1с выдает сообщение: Итератор для значения не определён. Что я делаю не так?

has

Выхотите обходить колонки таблицы в текущей строке?

Андрей Федотов


shtrihs

Цитата: has от 16 ноя 2011, 15:41
Выхотите обходить колонки таблицы в текущей строке?
Нет. Не в текущей. А все строки в открытом документе.

shtrihs

Цитата: Андрей Федотов от 16 ноя 2011, 15:50
Сообщить(стр.Цена);
Так не работает. Хотя исправить так действительно надо. Ругается именно на строку    
Для каждого стр из СтрокаТабличнойЧасти Цикл

Андрей Федотов


&НаКлиенте
Процедура ПоказатьЗначенияРеквизита(Команда)
       СообщитьДанныеССервера(Объект.ТабличнаяЧасть1)
КонецПроцедуры
&НаСервере
Процедура СообщитьДанныеССервера(ТЧ1)
Для каждого Стр из ТЧ1  Цикл
      Сообщить(Стр.Реквизит1);
   КонецЦикла;
КонецПроцедуры;

Что-то такое.

shtrihs

Если не трудно, то можно на моем примере. Так как я не понял, что это разные процедуры

&НаКлиенте
Процедура ДатаПриИзменении(Элемент)
   
   СтрокаТабличнойЧасти=Элементы.ПереченьНоменаклатуры.ТекущиеДанные;
   Для каждого стр из СтрокаТабличнойЧасти Цикл
   Сообщить(Стр.Цена);    
   КонецЦикла;
КонецПроцедуры

shtrihs

Заработало. Спасибо.
Сделал по вашему образцу

Процедура ДатаПриИзменении(Элемент)
      ТЧ1= Объект.ПереченьНоменаклатуры;
      Для каждого Стр из ТЧ1  Цикл
        Сообщить(Стр.Сумма);
      КонецЦикла;
КонецПроцедуры

Задам тогда ещё один глупый вопрос по теории:
Раньше я пробовал писать, точно такую же процедуру но использовал строку ТЧ1= Элементы.ПереченьНоменаклатуры (то есть вместо Объект - Элементы). Почему так было не правильно?

Dethmontt

Потому что ты еще приписывал .ТекущиеДанные в этом и была ошибка.
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

Вот так должно работать

Процедура ДатаПриИзменении(Элемент)
      Для каждого Стр из Элементы.ПереченьНоменаклатуры Цикл
        Сообщить(Стр.Сумма);
      КонецЦикла;
КонецПроцедуры
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск