8.х Как вернуть структуру в 1С из ActiveX компонента

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Ivan093, 29 июн 2007.

  1. TopicStarter Overlay
    Ivan093
    Offline

    Ivan093

    Регистрация:
    29 июн 2007
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Пишу ActiveX компоненту для 1C 8.0(8.1), в компоненте есть метод MyMethod, который возвращает структуру вида int Param1, int Param2. Эта структура прекрасно читается, например, в VBS (Excel). А вот 1С 8.0 при попытке выполнить такой код ругается -- {Форма.Форма(57)}: Ошибка при вызове метода контекста (getDbStat): Типы не совпадают (-1)

    Вот код:
    Результат = Компонента.MyMethod();
    Сообщить(Результат.Param1);

    Вопрос: как нужно передавать и читать в 1С структуры и массивы из внешних компонент?
  2. 1010011010
    Offline

    1010011010 [1cworld]

    Регистрация:
    1 авг 2006
    Сообщения:
    582
    Симпатии:
    0
    Баллы:
    26
    тоесть передается массив к примеру - [2][2]?
  3. TopicStarter Overlay
    Ivan093
    Offline

    Ivan093

    Регистрация:
    29 июн 2007
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Ну как вариант многомерный массив. Или структура с полями разных типов. Мне тут подсказали на одном форуме, что в таком случае надо возвращать com-объект, у которого будут свои проперти и методы...
  4. dend
    Offline

    dend Опытный в 1С

    Регистрация:
    9 апр 2007
    Сообщения:
    175
    Симпатии:
    0
    Баллы:
    26
    Если ты вызываешь функцию в своей компоненте и она возвращает массив, то в 1С ты получишь comobject. Чтобы тебе обработать этот объект, тебе нужно в твоей ВК написать функции и процедуры для обработки этого comobject и преобразования его в элементарные типы, которые можно передавать (строка, число, дата)
    Вк не писал, но по идее должно быть так...

Поделиться этой страницей