Вход | Регистрация

1С:Предприятие ::

Метки: 

Запись значения в ячейку табличного поля

Я
   AlexToo
 
11.04.14 - 13:31
Привет, подскажите пожалуйста, как правильно программно записать значение в ячейку табличного поля? В общем на форме есть поле табличного документа, нужно что бы при нажатии на ячейку открывался список выбора значения из справочника и потом выбранное значение записывалось в эту ячейку, пишу код:

Процедура Лист1Выбор(Элемент, Область, СтандартнаяОбработка)
    имяобл=Область.имя;
    тз=Новый ТаблицаЗначений;      
    тз.Колонки.Добавить("Код");
    тз.Колонки.Добавить("Наименование");
    тч=ЭлементыФормы.Лист1;
если имяобл="Лист1117" тогда
    справочник=Справочники.Валюты.Выбрать();
КонецЕсли;

        пока справочник.Следующий() цикл
            стр=тз.Добавить();
            стр.код=Справочник.код;                      
            стр.наименование=справочник.наименование;           
        КонецЦикла;
    
    стрвыб=тз.ВыбратьСтроку("Выберите значение");
    тч.Область(имяобл).текст=стрвыб.код;
    
    
КонецПроцедуры


и при присвоении ячейки значения выдает ошибку:

{Документ.ОтчетВРосФинМониторинг.Форма.ФормаДокумента.Форма(37)}: Поле объекта недоступно для записи (Текст)
    тч.Область(имяобл).текст=стрвыб.код;
 
  Рекламное место пустует
   AlexToo
 
1 - 11.04.14 - 13:36
нууу хоть кто-нибудь, просветите...
   Мутабор
 
2 - 11.04.14 - 13:44
Точно не знаю, попробуй не через  ЭлементыФормы.Лист1, а Лист1
   ale-sarin
 
3 - 11.04.14 - 13:45
а если имя области <> "Лист1117"?
   AlexToo
 
4 - 11.04.14 - 13:46
(2) он так переменную лист1 не определяет
   AlexToo
 
5 - 11.04.14 - 13:47
(3)то вылетит ошибка что справочник.следующий() нет))) это набросанный код, главное разобраться как в ячейку записать данные.
   ale-sarin
 
6 - 11.04.14 - 13:48
(5) аа ну да. точно.
   Мутабор
 
7 - 11.04.14 - 13:49
ЭтаФорма.ЭлементыФормы.Лист1.Область("Тест").Текст="1";
   AlexToo
 
8 - 11.04.14 - 13:50
(6)есть идей почему поле "текст" может быть не доступным? если   получать область типа:
обл=тч.получитьобласть(имяобл);
он ее получит, но как потом от туда текст записать?
   AlexToo
 
9 - 11.04.14 - 13:50
(7) по сути я в коде тоже самое делаю вот:
тч.Область(имяобл).текст=стрвыб.код;
переменная тч=элементыформы.лист1;
   ale-sarin
 
10 - 11.04.14 - 13:51
Может здесь беда закралась?

ОбластьЯчеекТабличногоДокумента (SpreadsheetDocumentRange)
Текст (Text)
Использование:

Чтение и запись.
Описание:

Тип: Строка.
Содержит значение текста ячеек области.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

1. Свойство доступно для записи, если ячейка не содержит значения (свойство СодержитЗначение равно Ложь).
2. Применимо только для прямоугольных областей.
 
 
   Мутабор
 
11 - 11.04.14 - 13:51
Останови отладчиком п посмотри значение области..
   AlexToo
 
12 - 11.04.14 - 13:54
(10) воу воу воу ВСЕМ ПЯТНИЦЫ ПОСОНЫ!!! вы меня спасли прям)) спасибо помогло)))
   AlexToo
 
13 - 11.04.14 - 13:56
P/S чайники счастливы))


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует