Имя: Пароль:
1C
1С v8
Значение не является значением объектного типа
0 SeregaMW
 
26.06.12
10:02
Из одной ТЗ выбираю нужные строки и хочу в цикле записать их в другую ТЗ, На строку  "Cтр.Номенклатура =     строка.Номенклатура;" ругается.
Причем если я в начале не объявляю переменную Стр, то дальше он ругается мол переменная не определенна. тип обоих строк "Строка" Помогите разобраться в чем проблема.
Стр = "";
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Ячейка",  ЭлементыФормы.Ячейки.Значение);
НайденныеСтроки = НоменТЗ.НайтиСтроки(ПараметрыОтбора);
ТЗП = Новый ТаблицаЗначений;
ТЗП.Колонки.Добавить("ИдТовара");
ТЗП.Колонки.Добавить("КоличествоПлан");
ТЗП.Колонки.Добавить("КоличествоФакт");
ТЗП.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("Строка"));
ТЗП.Колонки.Добавить("НоменклатураКод");
ТЗП.Колонки.Добавить("НоменклатураМаркаНаименование");
ТЗП.Колонки.Добавить("Номер");
ТЗП.Колонки.Добавить("Ссылка");
ТЗП.Колонки.Добавить("Ячейка");
ТЗП.Колонки.Добавить("Я");

Для каждого строка из НайденныеСтроки Цикл
Если (Строка.Номенклатура =NULL) или (Строка.Номенклатура =Неопределено) или (Строка.Номенклатура ="")  тогда
   продолжить;
КонецЕсли;
Стр = ТЗП.Добавить();
Cтр.Номенклатура =     строка.Номенклатура;
Стр.ИдТовара = строка.ИдТовара;
Стр.КоличествоПлан = строка.КоличествоПлан;
Стр.КоличествоФакт = строка.КоличествоФакт;
Стр.НоменклатураКод = строка.НоменклатураКод;
Стр.НоменклатураМаркаНаименование =       строка.НоменклатураМаркаНаименование;
Стр.Номер =       строка.Номер;
Стр.Ссылка =       строка.Ссылка;
Стр.Ячейка =       строка.Ячейка;
КонецЦикла;
1 SeregaMW
 
26.06.12
10:04
(0)Причем проблема только с строкой стр.Номенклатура если ее удалить все работает корректно
2 aleks-id
 
26.06.12
10:05
делай запросом
3 Ненавижу 1С
 
гуру
26.06.12
10:05
Стр = ТЗП.Добавить();
Cтр.Номенклатура =     строка.Номенклатура;

Все ли буквы С в русской раскладке набраны?
4 aleks-id
 
26.06.12
10:06
а за использование зарезервированных слов в качестве названий переменных я убивал в детстве из рогатки.
5 фросия
 
26.06.12
10:06
а "строка" -  не зарезервированное слово?
6 Ненавижу 1С
 
гуру
26.06.12
10:07
(4) Строка незарезевированное слово в 8.х
7 aleks-id
 
26.06.12
10:08
(6) ну хорошо. за использование зарезервированных имен процедур и функций в качестве переменных ;)
8 Ненавижу 1С
 
гуру
26.06.12
10:10
(7) зарезервированных имен процедур - это что за заверь?
я знаю именно понятие wiki:Зарезервированное_слово
9 SeregaMW
 
26.06.12
10:11
Причем если убираю объявление колонки Номенклатура тогда 1С не требует объявлять Стр = "";
Мне кажется что в этом и зарыта ошибка.
10 SeregaMW
 
26.06.12
10:13
Если пишу так

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


Для каждого строка1 из НайденныеСтроки Цикл
Если (Строка1.Номенклатура =NULL) или (Строка1.Номенклатура =Неопределено) или (Строка1.Номенклатура ="")  тогда
   продолжить;
КонецЕсли;
Стр = ТЗП.Добавить();
// Cтр.Номенклатура =     строка1.Номенклатура;
Стр.ИдТовара = строка1.ИдТовара;
Стр.КоличествоПлан = строка1.КоличествоПлан;
Стр.КоличествоФакт = строка1.КоличествоФакт;
Стр.НоменклатураКод = строка1.НоменклатураКод;
Стр.НоменклатураМаркаНаименование =       строка1.НоменклатураМаркаНаименование;
Стр.Номер =       строка1.Номер;
Стр.Ссылка =       строка1.Ссылка;
Стр.Ячейка =       строка1.Ячейка;
КонецЦикла;
КонецЕсли;    
Ошибка {Форма.ФормаОтчета.Форма(133,2)}: Переменная не определена (Cтр)
11 aleks-id
 
26.06.12
10:14
(8) не тупи
12 ssh2006
 
26.06.12
10:16
(0) В (0) у тебя две Стр. Одна начинается с С в латинской раскладке
13 Ненавижу 1С
 
гуру
26.06.12
10:16
(10) что скажешь на (3)?
(11) сам не тупи
14 ssh2006
 
26.06.12
10:18
Здесь с русской С - Стр = ""
Здесь с латинской - Cтр.Номенклатура =     строка.Номенклатура;
15 SeregaMW
 
26.06.12
10:18
(12) Ты прав! Спасибо!
(10) Всегда прокатывало слово строка, но на всякий изменил на строка1
16 Ненавижу 1С
 
гуру
26.06.12
10:20
(15) какой же ты п и д о р а с! я же написал это в (3)
17 ssh2006
 
26.06.12
10:20
))))