Имя: Пароль:
1C
1С v8
Значение не является значением объектного типа (Добавить)
0 DAVI
 
09.10.12
13:45
Добрый день,не могу выгрузить данные с ТСД в 1с. УПП 1.0.20.10,ошибка вылетает. Вот код
Функция ЗагрузитьСтрокуТСД(Идентификатор, ДанныеИзТСД) Экспорт

   Обработка = Неопределено;
   Объект    = Неопределено;
   Результат = ПолучитьОбъектДрайвера(Идентификатор, Обработка, Объект);

   Если НЕ ЗначениеЗаполнено(Результат) Тогда
       ШК         = Неопределено;
       Количество = Неопределено;
       ДанныеИзТСД = Неопределено;
       Результат = Обработка.ЗагрузитьСтроку(Объект, ШК, Количество);
       Если НЕ ЗначениеЗаполнено(Результат) Тогда
           НоваяСтрока = ДанныеИзТСД.Добавить();
           НоваяСтрока.ШК         = ШК;
           НоваяСтрока.Количество = Количество;
       КонецЕсли;

       мОписаниеОшибки = Объект.ОписаниеОшибки;
   Иначе
       мОписаниеОшибки = ПолучитьТекстОшибкиПодключенияТО("ТСД");
   КонецЕсли;

   Возврат Результат;

КонецФункции


помогите
1 Amra
 
09.10.12
13:46
Бугогашеньки
2 Wobland
 
09.10.12
13:46
помогаю. твои ДаныеИзТСД не являются объектом
3 Wobland
 
09.10.12
13:48
Если НЕ ЗначениеЗаполнено(Результат)

скажи это ещё три раза, и до тебя дойдёт ;)
4 DAVI
 
09.10.12
13:48
а как правильно написать,я в 1с недавно,куда копать
5 Wobland
 
09.10.12
13:49
(4) что такое результат? заполнено ли значение этой переменной к моменту возникновения ошибки? а почему?
6 Wobland
 
09.10.12
13:49
пардон, второго присвоения не заметил, сторно
7 DAVI
 
09.10.12
13:51
это не я писал,мне нужно выгрузить данные с ТСД а тут такая хрень
8 чеширский кот
 
09.10.12
13:53
Что находится в переменных "Идентификатор, ДанныеИзТСД" на входе в функцию?
9 DAVI
 
09.10.12
13:56
Идентификатор-номер ТСД,Данные ТСД количество строк выгруженных товаров,в данном случае 27 показывает и выгружено 27
10 чеширский кот
 
09.10.12
13:57
Перепроверь, "Данные ТСД", это не таблица?
11 DAVI
 
09.10.12
13:59
а как проверить?
12 pavelul73
 
09.10.12
14:00
проверь тип ДанныеИзТСД через отладчик
13 DAVI
 
09.10.12
14:01
проверяю отладчиком ставлю мышкой на ДанныеизТСД пишет 27 и все
14 pavelul73
 
09.10.12
14:03
поставь точку остановы, как остановится, нажми ctr+alt+w, появится табло, туда помести ДанныеИЗТСД, покажет тип
15 чеширский кот
 
09.10.12
14:03
Функция ЗагрузитьСтрокуТСД(Идентификатор, ДанныеИзТСД) Экспорт

   Обработка = Неопределено;
   Объект    = Неопределено;
   Результат = ПолучитьОбъектДрайвера(Идентификатор, Обработка, Объект);

   Если НЕ ЗначениеЗаполнено(Результат) Тогда
       ШК         = Неопределено;
       Количество = Неопределено;

       Результат = Обработка.ЗагрузитьСтроку(Объект, ШК, Количество);
       Если НЕ ЗначениеЗаполнено(Результат) Тогда
           НоваяСтрока = ДанныеИзТСД.Добавить();
           НоваяСтрока.ШК         = ШК;
           НоваяСтрока.Количество = Количество;
       КонецЕсли;

       мОписаниеОшибки = Объект.ОписаниеОшибки;
   Иначе
       мОписаниеОшибки = ПолучитьТекстОшибкиПодключенияТО("ТСД");
   КонецЕсли;

   Возврат Результат;

КонецФункции
16 чеширский кот
 
09.10.12
14:08
все правильно, у него должно возвращать только число строк в ТСД,
17 DAVI
 
09.10.12
14:13
сделал как в коде выше все равно так же
18 AndyD
 
09.10.12
14:35
ключевые строки:
ДанныеИзТСД = Неопределено;
....ДанныеИзТСД не изменяется
НоваяСтрока = ДанныеИзТСД.Добавить();
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший