Имя: Пароль:
1C
1C 7.7
v7: заполнение таблицы значений
0 а кому щас легко
 
23.06.12
20:18
Пытаюсь заполнить строки ТЗ в цикле, не очень получается.

Как можно записать вот это в 1с77:

СтрокаТЗ[ИмяРеквизита] = СпрНоменклатура[ИмяРеквизита];

Ругается на СтрокаТЗ[ИмяРеквизита].
1 SnarkHunter
 
23.06.12
20:21
<ИмяТЗ>.<ИмяКолонки> = спрНоменклатура.<ИмяРеквизита>
2 Rie
 
23.06.12
20:21
(0) Используй УстановитьЗначение и ПолучитьЗначение.
3 Rie
 
23.06.12
20:21
(1) У него ИмяРеквизита, похоже, переменная.
4 SnarkHunter
 
23.06.12
20:23
(3)Поди знай... :-) (с)доктор Быков
5 а кому щас легко
 
23.06.12
20:27
В данный момент ТЗ - это строка таблицы значений

К примеру:
ТЗ.НоваяСтрока();
ТЗ.ИНН = СпрНоменклатура.ИНН;

ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,"ИНН",СпрНоменклатура.ИНН) так наверно не прокатит...
6 SnarkHunter
 
23.06.12
20:29
Приведи свой код полностью, начиная с определения ТЗ, а то как партизан...
7 Rie
 
23.06.12
20:31
(50) А ты попробуй! И удивись результату (если, конечно, таблица значений у тебя корректно создана).
8 а кому щас легко
 
23.06.12
20:33
(6)
ТЗ = СоздатьОбъект ("ТаблицаЗначений");
ТЗ.НоваяКолонка("ИНН");

ТЗ.НоваяСтрока();
ТЗ.ИНН = СпрНоменклатура.ИНН;

Вот мне надо строку
ТЗ.ИНН = СпрНоменклатура.ИНН;

записать типа
ТЗ["ИНН"] = СпрНоменклатура["ИНН"];
9 SnarkHunter
 
23.06.12
20:34
(8)Тогда вариант (5) для тебя...
10 SnarkHunter
 
23.06.12
20:35
Даже вот так:

ТЗ.УстановитьЗначение(ТЗ.НомерСтроки, "ИНН", СпрНоменклатура.ПолучитьАтрибут("ИНН"))
11 а кому щас легко
 
23.06.12
20:37
ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,ИмяРеквизита,К.ПолучитьАтрибут(ИмяРеквизита));        

ух, вроде катит, спасибо.
12 1dvd
 
25.06.12
09:35
>>В данный момент ТЗ - это строка таблицы значений

восьмёрка головного мозга детектед
13 zak555
 
25.06.12
09:40
Процедура УстановитьЗначенияТЗзначениямиСправочника(ТЗ, Спр, ДатаАктуальности = Дата(0))
   Спр.ИспользоватьДату(ДатаАктуальности );
   МетаданныеСправочника = Метаданные.Справочник(Спр.Вид());
   КоличестоРеквизитовУСправочника = МетаданныеСправочника.Реквизит();
   Для н = 1 по КоличестоРеквизитовУСправочника Цикл
           ИмяРеквизита = МетаданныеСправочника.Реквизит(н);
           ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,ИмяРеквизита,Спр.ПолучитьАтрибут(ИмяРеквизита));
   КонецЦикла;
КонецПроцедуры