ТабличноеПоле : ТекущаяСтрока не содержит всю информацию. #304809


#0 by Medved12345
Странное поведение элемента ТабличноеПоле. Допустим сконфигурировал я в Конфигураторе три колонки, у каждой свое значение. Потом программно добавляю четветую колонку, типа так : Все нормально, табличное поле работает, оявились все четыре колонки. Но потом я сижу в обработчике события (скажем ПриАктивизацииСтроки) и смотрю на поле ТекущаяСтрока. Перебираю значения текущей строки. И что же я вижу! Я получаю всего три значения (тех колонок которые были прописаны на этапе конфигурирования). Значение колонки созданной программно в ТекущаяСтрока не сидит! Я по разному считывал эти значения, все прописывал в программной колонкено ничего не помогало. В чем тут может быть дело?
#1 by ТелепатБот
#2 by yalex
Покажи код
#3 by yalex
2 + тот что с ТекущейСтрокой
#4 by igork1966
Синтаксис: СоздатьКолонки Описание: Удаляет старые колонки и загружает новые колонки из источника данных. Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. Пример: ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаДанных; ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки;
#5 by Medved12345
Кода под рукой пока нет. Как будет покажу. Не помогает.
#6 by igork1966
Добавляй колонку в источнике данных.
#7 by igork1966
+ потом
#8 by Medved12345
Источника данных нет. Табличное поле замкнуто на само себя.
#9 by Medved12345
Если прописать источник данных в поле ТП.Значение (и Данные) то конечно все работает, я знаю :). Но у меня табличное поле само по себе без источника. Программная колонка сидит спокойно в коллекции Колонки, а вот ТекущаяСтрока ее не видит.
#10 by igork1966
Фигню говоришь... еще раз подумай. Все равно в реквизитах создается одноименная ТЗ.
#11 by igork1966
#12 by igork1966
Тфу: ТП.Колонки.Добавить("Колонка4"); ЭлементыФормы.ТП.СоздатьКолонки;
#13 by Medved12345
Именно так и делал. Не работает ни хрена. Попозже спущу код.
#14 by igork1966
Только что проверил. Работает. Посмотри на источник данных в ТП. Посмотри не пересекается имя с локальными переменными.
#15 by igork1966
+ и какой тип этого значения.
#16 by igork1966
При вставке ТП "ТабличноеПоле1" на форму, у него по умолчанию прописывается: Значение: ТабличноеПоле1  -- в реквизитах Тип значения: Таблица значений
#17 by Medved12345
Вот код который работает с полем ТекущаяСтрока : Закоментрированный код это изначальный код (перебор в цикле), потом я изменил, но все равно в поле ТекущаяСтрока не все данныею Вот сама исходная обработка в которой встретилась эта проблема: Ну не работает у меня нихрена.
#18 by Medved12345
(подниму ка)
#19 by Medved12345
.......
#20 by Medved12345
/////
#21 by Валерыч
сделай это в обработчике при открытии
#22 by Medved12345
Короче, выяснилось следующее. Бесполезно добавлть колонки в само табличное поле (ТабличноеПоле.Колонки). Если ТП замкнуто на саму себя и имеет тип "ТаблицаЗначений", то надоработать именно с таблицей значений (ТабличноеПоле.Значение). Т.е. надо добавить новую колонку : ... и "обновить" вид табличного поля: Но! Проблема заключалась в том что до начала открытия формы ТабличноеПоле.Значение еще не инициализировано (теми колонками которые прописаны в конфигураторе). Т.е. бесполезно это делать в теле "основной программы" модуля формы. Надо так:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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