Имя: Пароль:
1C
1С v8
табличное поле добавление
,
0 prishliemail
 
19.07.13
16:27
Добрый день!

У меня возникла следующая проблема с табличным полем.
У меня в справочнике есть форма списка, на которой находится табличное поле СправчоникСписок, в котором отображаются серийные номера. Сейчас возникла необходимость добавить еще одну колонку Срок. И вставить туда заранее рассчитанный срок.

Изначально в процедуре передоткрытием я рассчитала срок и записала все в таблицу значений ТЗ. В нее как раз добавила две колонки Код и Срок. Эта часть кода работает.

Дальше я хотела перебирать каждую строку ТЗ и вставлять ее в табличное поле. Для этого написала следующее:

Для каждого текстр из тз цикл
   ЭлементыФормы.СправчоникСписок.ДобавитьСтроку();
   стр = ЭлементыФормы.СправчоникСписок.ТекущаяСтрока;
   стр.код= текстр.код;
   стр.срок= текстр.срок;
конеццикла;

При выполнении возникает ошибка "значение не является значением объектного типа (код)стр.код= текстр.код"

Подскажите пожалуйста что не так.
1 Wobland
 
19.07.13
16:30
без фото не взлетит
2 prishliemail
 
19.07.13
16:31
(1) это прям стандартный комментарий к моим темам)
3 Птица
 
19.07.13
16:33
именно СправЧОникСписок? не СправОЧник?
а по делу - странный способ, при чем тут ТЗ?
используй либо процедуру ПРиВыводеСтроки либо ПРиПолученииДанных

результат вычисляемой колонки в обоих случаях выводится через свойство ОформлениеСтроки
4 pessok
 
19.07.13
16:38
надо делать через Соответствие, чтобы не перебирать циклы... а то долго же
5 pessok
 
19.07.13
16:39
и да. (1) +1
6 prishliemail
 
19.07.13
16:56
(3) про справочник это я тут опечаталась(
я и через процедуру добавленестроки тоже делала, но там у меня была ошибка, что поле недоступно для записи. Конечно может я просто что-то не так делала...
я сначала находила в тз по коду срок нужный, а потом писала:
данныестроки.срок = срок

Через оформлениестроки не пробовала честно говоря, не знала, что так можно
7 prishliemail
 
19.07.13
16:57
(4) можно подробней...? или  хотя бы ссылочку
8 ZZBase
 
19.07.13
17:04
Пример обработчика события:

Процедура НоменклатураПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
   ОформлениеСтроки.Ячейки.Тип.ОтображатьТекст = Истина;
   ОформлениеСтроки.Ячейки.Тип.Текст = ДанныеСтроки.Номенклатура.ТипНоменклатуры;
КонецПроцедуры

Только в начале привяжи событие при выводе строки к табличному полю (см. свойства табличного поля).
9 ZZBase
 
19.07.13
17:05
в примере (8) Тип это колонка табличного поля на форме, т.к. к самим данным она никакого отножения не имеет и дабавлена на форму вручную.
10 prishliemail
 
19.07.13
17:25
(8) я сделала как у Вас. сначала обрадовалась, потому что действительно данные отображаются, но когда я захотела посмотреть какие данные в конце справочника, то начала ползунком вниз прокручивать и сразу ошибки появились. Я понять не могу почему тогда не сразу появляется?
11 prishliemail
 
19.07.13
17:32
и вообще он добавляет строки сначала нормально, например
код - срок
001 - 2
002 - 3

А на каком-то этапе он будто дублирует коды, вставляя перед ними 25
25001 - ошибка вылетает
25002 - ошибка
и тд

Таких кодов на самом деле нет
12 prishliemail
 
22.07.13
09:32
Ошибку исправила. всем спасибо!
13 ZZBase
 
23.07.13
17:49
А что хоть за ошибка-то была?
14 vmv
 
23.07.13
17:56
класска

сама придумала, сама обиделась, сама решилась

)
15 Mitriy
 
23.07.13
18:17
(8) Лучше сделать в ПриПолученииДанных...
(4) ТЗ совсем не хуже, а часто гораздо удобнее. Просто надо индексировать ее по полю поиска.