ТабличноеПоле в 8.1

Allexei

Well-known member
02.05.2008
322
1
#1
Подскажите как добавить с автозаполнением строку в ТабличноеПоле расположенное на форме внешнего отчета.Корлонки создал а вот добавить строки еще незнаю как.И подскажите еще как в таблице значений изменить одну из зпаписей, типа как в 7:
ТабЗнач.ПолучитьСтрокуПоНомеру(НомерСтроки);
ТабЗнач.Колонка1= НовоеЗначение;
Буду очень благодарен :)
 
K

KSergei

#2
// Получить текущую строку табличного поля.
СтрокаТаблицы = ЭлементыФормы.ТабличноеПоле.ТекущаяСтрока;
// Ввести значения в ячейки строки.
СтрокаТаблицы.Контрагент = Контрагент;
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#3
ну во-первых стоит посмотреть синтакс помощник ибо в восьмерке таковой имеется:
ТаблицаЗначений (ValueTable)
Получить (Get)
Синтаксис:
Получить(<Индекс>)
Параметры:
<Индекс> (обязательный)
Тип: Число. Индекс строки.
Возвращаемое значение:
Тип: СтрокаТаблицыЗначений.
Описание:
Получает значение по индексу. Работает аналогично оператору [].
Примечание:
Применяется в случаях, когда использование оператора [] невозможно.
Например
Код:
Стр = ТабЗнач.Получить(НомерСтроки);
Стр.Колонка1= НовоеЗначение;
 

Allexei

Well-known member
02.05.2008
322
1
#4
KSergei ваш вариант не проходит.Превожу код дословно:

Код:
Процедура ПриОткрытии()	
ЭлементыФормы.тбпВсеФирмы.Колонки.Добавить("Фирма");
ЭлементыФормы.тбпВсеФирмы.Колонки.Добавить("Тип");
Запрос= Новый Запрос("Выбрать 
|Ссылка как Организация
|Из
|Справочник.Организации");
Выборка= Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ЭлементыФормы.тбпВсеФирмы.ДобавитьСтроку();
СтрокаТаблицы= ЭлементыФормы.тбпВсеФирмы.ТекущаяСтрока; 
СтрокаТаблицы.Фирма = Выборка.Организация;
КонецЦикла;
КонецПроцедуры
В оконцове 1С выдает окно "Сохранение ошибки" и происходит выход из программы. А у переменной "СтрокаТаблицы" тип "Неопределенно"
 
K

KSergei

#5
Allexei попробуй как то так :)

ТабличноеПоле1.Колонки.Добавить("Фирма");
ТабличноеПоле1.Колонки.Добавить("Тип");
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();

Запрос= Новый Запрос("Выбрать
|Ссылка как Организация
|Из
|Справочник.Организации");

Выборка = Запрос.Выполнить().Выбрать();

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

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#6
а что собственно нужно сделать-то? ведь результат запроса можно сразу в таблицу значений отправить. это раз а два - совсем непонятно зачем нужна вот эта строка - ЭлементыФормы.тбпВсеФирмы.ДобавитьСтроку();
можно ж сразу так сделать СтрокаТаблицы= ЭлементыФормы.тбпВсеФирмы.ДобавитьСтроку();
 

Allexei

Well-known member
02.05.2008
322
1
#7
KSergei ОГРОМНОЕ СПАСИБО!!!!А то я уже 2 часа мучаюсь!!!Заработало!!!
 
K

KSergei

#8
Allexei можно конечно программно колонки и не создавать. гораздо проще создать их прямо в табличном поле и выгрузить результат запроса