![]() |
![]() |
|
Подскажите... почему при подключении по Com и последующей выборке | ☑ | ||
---|---|---|---|---|
0
Ivan_495
14.01.14
✎
13:16
|
Подскажите... почему при подключении по Com и последующей выборке результата ОбходРезультатаЗапроса.ПоГруппировкам не срабатывает?
V8=Новый ComОбъект("V82.Application"); ПУть="C:\zup1"; Попытка ОТкрытие=V8.Connect("File="""+Путь+""";Usr=""Администратор"";"); Исключение Сообщить("База данных не открыта!"); V8=0; ОТкрытие=0; Возврат; КонецПопытки; Сообщить("УРА"); // Вставить содержимое обработчика. ЗапросКом =V8.newObject("Запрос"); ЗапросКом.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Сотрудники КАК Сотрудник, | ВложенныйЗапрос.Физ КАК Физ, | ВложенныйЗапрос.Поле1 КАК Поле1, | ВложенныйЗапрос.Поле2 КАК Поле2, | ВложенныйЗапрос.Поле3 КАК Поле3, | ВложенныйЗапрос.Поле4 КАК Поле4, | ВложенныйЗапрос.Поле5 КАК Поле5, | ВложенныйЗапрос.Поле6 КАК Поле6, | ВложенныйЗапрос.Поле7 КАК Поле7, | ВложенныйЗапрос.Поле8 КАК Поле8, | ВложенныйЗапрос.Поле9 КАК Поле9, | ВложенныйЗапрос.Поле10 КАК Поле10, | ВложенныйЗапрос.Объект КАК Объект, | ВложенныйЗапрос.Тип КАК Тип, | ВложенныйЗапрос.Вид КАК Вид |ИЗ | (ВЫБРАТЬ | СотрудникиОрганизаций.Ссылка КАК Сотрудники, | ФизическиеЛица.Ссылка КАК Физ, | КонтактнаяИнформация.Объект КАК Объект, | КонтактнаяИнформация.Тип КАК Тип, | КонтактнаяИнформация.Вид КАК Вид, | КонтактнаяИнформация.Поле1 КАК Поле1, | КонтактнаяИнформация.Поле2 КАК Поле2, | КонтактнаяИнформация.Поле3 КАК Поле3, | КонтактнаяИнформация.Поле4 КАК Поле4, | КонтактнаяИнформация.Поле5 КАК Поле5, | КонтактнаяИнформация.Поле6 КАК Поле6, | КонтактнаяИнформация.Поле7 КАК Поле7, | КонтактнаяИнформация.Поле8 КАК Поле8, | КонтактнаяИнформация.Поле9 КАК Поле9, | КонтактнаяИнформация.Поле10 КАК Поле10, | КонтактнаяИнформация.Комментарий КАК Комментарий, | КонтактнаяИнформация.ЗначениеПоУмолчанию КАК ЗначениеПоУмолчанию, | КонтактнаяИнформация.ТипДома КАК ТипДома, | КонтактнаяИнформация.ТипКорпуса КАК ТипКорпуса, | КонтактнаяИнформация.ТипКвартиры КАК ТипКвартиры | ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО ФизическиеЛица.Ссылка = КонтактнаяИнформация.Объект.Ссылка | ПО СотрудникиОрганизаций.Физлицо = ФизическиеЛица.Ссылка) КАК ВложенныйЗапрос | |УПОРЯДОЧИТЬ ПО | ВложенныйЗапрос.Сотрудники.Наименование |ИТОГИ ПО | Сотрудник, | Физ, | Тип"; ЗапросКом.УстановитьПараметр("дт", '20140114'); Результат = ЗапросКом.Выполнить(); Выборка1 = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); t=0; Пока Выборка1.Следующий() Цикл t=t+1; Сообщить(""+t+" Сотрудник "+Выборка1.Сотрудник.Наименование); Выборка2=Выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока Выборка2.Следующий() цикл Сообщить(" Физ лицо "+ Выборка2.Физ); Выборка3=Выборка2.Выбрать(); Пока Выборка3.Следующий() цикл Сообщить(""+Выборка3.Объект+" "+Выборка3.Тип+" "+Выборка3.Вид+ " "+Выборка3.Поле1+" "+Выборка3.Поле2+" "+Выборка3.Поле3+" "+Выборка3.Поле4+" "+Выборка3.Поле5+" "+Выборка3.Поле6+" "+Выборка3.Поле7+" "+Выборка3.Поле8+" "+Выборка3.Поле9+" "+Выборка3.Поле10); Сообщить("________________________________________________________________________________________________________"); КонецЦикла; КонецЦикла; прервать; КонецЦикла; |
|||
1
zladenuw
14.01.14
✎
13:17
|
Выборка1 = Результат.Выбрать(V8.ОбходРезультатаЗапроса.ПоГруппировкам);
а так ? |
|||
2
Ivan_495
14.01.14
✎
13:17
|
Ошибка
Форма.Форма.Форма(76)}: Ошибка при вызове метода контекста (Выбрать) Результат = ЗапросКом.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); по причине: Произошла исключительная ситуация (1C:Enterprise 8.2.18.109): Несоответствие типов (параметр номер '1') |
|||
3
zladenuw
14.01.14
✎
13:18
|
ну так блин. у тебя запрос СОМ. то ты должен передать обход результата запроса. той базы
|
|||
4
Рэйв
14.01.14
✎
13:18
|
(0)Потому что для твоего запроса местный ОбходРезультатаЗапроса.ПоГруппировкам - неизвестный зверь COMObject.
Надо получать тамошний. |
|||
5
Рэйв
14.01.14
✎
13:19
|
я както выкладывал функцию выполнения произвольного кода на стороне подцепленной СОМ базы
|
|||
6
Рэйв
14.01.14
✎
13:21
|
||||
7
Рэйв
14.01.14
✎
13:23
|
Выполнишь "Ответ=ОбходРезультатаЗапроса.ПоГруппировкам"
Оно вернет тебе тамошний обход, вставишь в параметр при выборке, и заработает |
|||
8
ИС-2
14.01.14
✎
13:23
|
(2) т.к значение имеет тип com думаю.
Попробуй ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(ОбходРезультатаЗапроса.ПоГруппировкам)) |
|||
9
zladenuw
14.01.14
✎
13:25
|
РезультатСОМ = ЗапросСОМ.Выполнить().Выгрузить(СОМСоединение.QueryResultIteration.ByGroupsWithHierarchy);
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |