1С и Axapta. Работа с ComObject, переданными из Axapta. #586209


#0 by Dunstan
День добрый господа! Мои коллеги аксаптологи подкинули мне задачку. Суть заключается в том, что в 1С 8.2 передается огбъект аксапты контейнер. Контейнер это конечный набор каких-либо простых объектов. Аксапта возращает ComObject. См. текст программы: //************************************************ Мassiv содержит КомОбъект контейнер. Вот как можно из этого контейнера извлечь его содерживое в 1С. Сам объект container имеет в своем составе методы: conlen(c)          - кол-во элементов контейнера с conpeek(c, n) – получить элемент #n из контейнера с Я думал все просто: прямо в 1С пишешь код КонецЦикла; Но так не работает...:( Может кто занет как быть в этой ситуации...
#1 by Ненавижу 1С
"Но так не работает" предлагается угадать почему ты считаешь, что не работает?
#2 by Ненавижу 1С
1. может не стоит сразу же закрывать соединение? 2. нумерация случайно не с 0 начинается?
#3 by АйЭм
Даже не задумываясь - на смотрел? В свое время из Кацапты в Эксель коннект делался по материалам этого сайта.
#4 by Dunstan
На Axapta.conlen(Massiv) пишет нет такого метода Соединение не закрыто
#5 by Serginio1
А может Это методы массива Massiv? т.е. Massiv.conlen Massiv.conpeek(i)
#6 by Dunstan
Я в аксапте не силен. Но в этих функциях контейнер выступает как аргумент функции. И ,казалось бы, функция глобальная
#7 by Dunstan
А где там конкретно про вызов Кацапты из Ёкселя?
#8 by Serginio1
Посмотри в отладчике. Может это обычный SafeArray
#9 by Ненавижу 1С
пальцем в небо: Massiv[i]
#10 by Dunstan
MaSSIV ОПРЕДЕЛЯЕТСЯ С ТИПОМ cOMoBJECT
#11 by Ненавижу 1С
а правильно писать: conLen
#12 by Serginio1
А какие нибудь поля показывает? Может через ADO или рекордсеты проще будет? Найди обработку, которая через ITypeInfo  показывает все свойства и методы объекта
#13 by Serginio1
Попробуй конструкцию для каждого Если объект поддерживает интерфейс итератор
#14 by Dunstan
НИКАКИХ ПОЛЕЙ НЕ ПОКАЗЫВАЕТ ПРОСТО КОМОБЪЕКТ
#15 by Ненавижу 1С
1. капс-лок выключи 2. что насчет ?
#16 by Dunstan
теже яйца только в профиль
#17 by Serginio1
А вообще пользовательские функции из Акзапты Экспортируютс? Судя по Axapta.CallStaticClassMethod("ComBalanceInterface_AC","Test"); Сроздай две функци которые бы применяли conlen(c) и conpeek(c, n) И вызывай их через Axapta.CallStaticClassMethod
#18 by Dunstan
Правильно, мне дали сосет по поводу делать так как в Экселе. У AxaptaCOMConnector.Axapta3 есть свои объекты. И, в том числе, объект Axapta.Container у которого свои методы,отличные от чисто аксаптивных.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С