Имя: Пароль:
1C
1С v8
Обработка результата запроса в 7.7., полученного через com-соединение из 8.3
,
0 Glavkomnn
 
17.04.20
04:27
Господа здравствуйте
Возникла неоьходимость реализовать такое извращение, как из 7.7 через com-объект 8.3 подключиться из 7.7 и выполнить в базе 1С 8 запрос и вернуть его в 7.7. Примерно так:

                 ТекЗапрос = v8.NewObject("Запрос");
             Текзапрос.УстановитьПараметр("Код2","%"+"Код 2"+"%");
             Текзапрос.УстановитьПараметр("Наименование","%"+ док.Продукция.Код+"%");
             Сообщить("Ищем продукцию"+док.Продукция.Код);
            
             ТекЗапрос.Текст = "ВЫБРАТЬ
             |    НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка
             |ИЗ
             |    Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
             |ГДЕ
             |    НоменклатураДополнительныеРеквизиты.Свойство.Наименование ПОДОБНО &Код2
             |    И НоменклатураДополнительныеРеквизиты.Значение ПОДОБНО &Наименование";
             Запр = ТекЗапрос.Выполнить().Выгрузить();


Не поверите, но "Запр" на стороне 7.7. никак не хочет обрабатываться
Код "Запр[0].Ссылка" - ругается при запуске обработки в 7.7. и требует его заменить
Запр.Следующий() при выбрать ругается на "агрегатное состояние" и бла бла

Как обработать на стороне 7.7. результат запроса из com-объекта 8? Идей уже нет( Подскажите пжлсь
1 Chameleon1980
 
17.04.20
05:13
выборка. ссылка
2 Chameleon1980
 
17.04.20
05:14
ты сначала отладь в 8ке
3 Glavkomnn
 
17.04.20
05:23
(2) в восьмерке все хорошо, Выборка.Ссылка не работает. ".Следующий()" не срабатывает в 7.7  (ругается на значение агрегатного типа
4 Chameleon1980
 
17.04.20
05:37
запр это тз ужн
5 Chameleon1980
 
17.04.20
05:38
ппрелет с выгрузить
6 hhhh
 
17.04.20
06:39
(3) Запр - это же таблица значений, какой нахрен у таблицы значений Следующий.
7 Glavkomnn
 
17.04.20
18:39
(6) читайте внимательней, Ни Вырбать() и Выгрузить() дальше семерка читать и раскладывать не умеет. Уже и Запр[0] и Запр.Следующий() - не взлетает
8 Glavkomnn
 
17.04.20
18:40
(4) это типа отв?
9 H A D G E H O G s
 
17.04.20
18:49
(8) COM объекты не общаются через []. Используй Индекс()
10 H A D G E H O G s
 
17.04.20
18:50
Запр.Индекс(0).Ссылка
11 Serginio1
 
17.04.20
19:57
12 Serginio1
 
17.04.20
20:00
Можно использовать внешние отчеты. Где делать всю обработку результатов а в 7 возвращать серализованную строку или таблицу еще чего уже готовое к употреблению
13 hhhh
 
17.04.20
20:33
(7) значит надо Получить()
14 Serginio1
 
17.04.20
21:06
15 Сияющий в темноте
 
17.04.20
22:03
ну,там не в методе дело,а в значении Boolean.
делается через MsScritControl вставка на VbScript,где уже в 1с можно идти смело.
и там выборка из массиаов работает.

единственное,что не работает в VbScript,это количество-он не рпзличает методв и поля и при запросе ставит и флаг метода и флаг запроса свойства.
16 mikecool
 
17.04.20
22:24
а кстати, в 77 можно получить ссылку, как в 8? и что будет в результате?
17 Сияющий в темноте
 
17.04.20
23:05
тоже что и в 8,как бы значение,но без возможности изменения.
но там нельзя обьект из ссылки создать-только создать обьект и спозиционироваться на ссылке.
18 Glavkomnn
 
19.04.20
14:48
(10) Запр.Индекс(0).Ссылка - несоответствие параметров 1
Эта бестолковая 7.7 не понимает параметр "0" в индексе...
19 pechkin
 
19.04.20
15:34
Не индекс а получить
20 Сияющий в темноте
 
19.04.20
18:06
запрос.Получить(0).Ссылка должно работать