Pull to refresh

Comments 5

Во внешнюю компоненту построенную по технологии COM можно и любые объекты 1С передавать и работать с ними внутри компоненты. Запросы там выполнять, документы проводить. А так же, самое важное — для внешней компоненты COM доступен интерфейс платформы в виде усечённого глобального контекста запущенной конфигурации. Но 1С сказало, что такое использование внешних компонент — дурной моветон :) и родило Native API.
… А в Native API в свою очередь нет никакой возможности обмена с 1С массивами — исключительно примитивными типами. Пришлось в свое время перегонять всю информацию через строку с разделителями. Потом для возврата в 1С реализовали внутренний 1с-вский формат для сериализации и получаемые из компоненты данные одним махом (метод ValueFromStringInternal) превращались уже в объекты платформы.
Тоже стояла такая задача, пока отложили. Но возможно придётся реализовывать :)
Да, из внешней компоненты можно получать указатели IDispatch на любые объекты конфигурации — но это просто использование механизмов OLE Automation.
В приложенном проекте это продемонстрировано на примере вызова из внешней компоненты функций 1С, расположенных в общем модуле и в модуле обработки. Но подходец да, тяжеловатый.
Но подходец да, тяжеловатый.

Это потому что — С++ :)
На делфях код выглядит практически как 1С-ный.
Sign up to leave a comment.

Articles