Имя: Пароль:
1C
1С v8
Передача ТЗ в Запрос через com-соединение
0 Alamo-10
 
21.05.14
17:00
Реально вообще это сделать? Делаю вот так

КвалифСтроки = БазаУТ.NewObject("КвалификаторыСтроки", 36);
    ДопустимыеТипыСтрока = БазаУТ.NewObject("ОписаниеТипов", "Строка", КвалифСтроки);
    
    КвалифЧисла = БазаУТ.NewObject("КвалификаторыЧисла", 15, 3);
    ДопустимыеТипыЧисло = БазаУТ.NewObject("ОписаниеТипов", "Число", КвалифЧисла);
    
    ТаблицаПараметровУТ = БазаУТ.NewObject("ТаблицаЗначений");
    ТаблицаПараметровУТ.Колонки.Добавить("УИД_УТ", ДопустимыеТипыСтрока);
    ТаблицаПараметровУТ.Колонки.Добавить("КоличествоИсточник", ДопустимыеТипыЧисло);
    ТаблицаПараметровУТ = ОстаткиБП;
                                                                        
    ЗапросОстаткиУТ = БазаУТ.NewObject("Запрос");
    ЗапросОстаткиУТ.Текст =
    "ВЫБРАТЬ
    |    ОстаткиБП.КоличествоИсточник,
    |    ОстаткиБП.УИД_УТ
    |ПОМЕСТИТЬ ВТ_ОстаткиБП
    |ИЗ
    |    &ОстаткиБП КАК ОстаткиБП
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВТ_ОстаткиБП.КоличествоИсточник,
    |    ВТ_ОстаткиБП.УИД_УТ
    |ИЗ
    |    ВТ_ОстаткиБП КАК ВТ_ОстаткиБП";
        
    ЗапросОстаткиУТ.УстановитьПараметр("ОстаткиБП", ТаблицаПараметровУТ);
    
    Результат = ЗапросОстаткиУТ.Выполнить().Выгрузить();




Запрос в процессе отладки упростил, по сути он ничего сейчас не делает, но проблема в другом. В процессе выполнения получаю вот такой месседж от платформы:

Произошла исключительная ситуация... Неверные параметры "ОстаткиБП"

Как мне правильно передать ТЗ в параметр запроса?
1 ДенисЧ
 
21.05.14
17:02
ТаблицаПараметровУТ = БазаУТ.NewObject("ТаблицаЗначений");
//создали ТЗ
    ТаблицаПараметровУТ = ОстаткиБП;
//и тут же её затёрли другим объектом...
2 Wobland
 
21.05.14
17:02
страдал, пыхтел, упирался
>ТаблицаПараметровУТ = БазаУТ.NewObject("ТаблицаЗначений");
а потом бабах:
>ТаблицаПараметровУТ = ОстаткиБП;

красавец, чо
3 Wobland
 
21.05.14
17:03
(1) дай пядь ;)
4 ДенисЧ
 
21.05.14
17:03
(3) А длань не хочешь? :-)
5 Wobland
 
21.05.14
17:03
(3) или пять? наверное, пять
6 Alamo-10
 
21.05.14
17:07
Ок. А как тогда мне правильно эту таблицу значений заполнить?

Запрос.Выполнить().Выгрузить()

Так можно?
7 ДенисЧ
 
21.05.14
17:08
(6) Для каждого... добавить().... ЗаполнитьЗначенияСвойств()
8 Alamo-10
 
21.05.14
17:17
Таки-да! Работает. Спасибо, ребятки)
9 Serginio1
 
21.05.14
17:38
Ну можешь еще через сериализацию Десериализацию ТЗ.
v8: Таблицу-COM объект вставить в запрос