Автор вопроса: Sergij | Web-сайт:www.poffsbc.narod.ru/
Все равно когда нить разберусь...
Может делал кто на PB внешнюю компоненту для 1С:Предприятия? Пример, или общее направление подскажите? Есть дока по технологии внешних компонент, три примера - VB(у меня получилось) , VC++, Дельфа.
Внешняя компонента -программный модуль, расширяющий функциональность 1С:Предприятия. Внешние компоненты являются OLE серверами и вследствие этого могут быть написаны с использованием произвольных инструментов разработки программ, поддерживающих создание OLE объектов.
Возможности внешней компоненты:
расширение встроенного языка 1С:Предприятия (добавление новых агрегатных объектов);
добавление страницы свойств в параметры 1С:Предприятия;
сохранение параметров внешней компоненты через механизмы сохранения параметров 1С:Предприятия;
создание дополнительных окон в окне 1С:Предприятия (версия 2.0);
доступ к функциям 1С:Предприятия через OLE Automation (версия 2.0);
вызов процедуры обработки событий, контролируемых внешней компонентой;
доступ к строке состояния 1С:Предприятия.
Создание OLE-объекта внешней компоненты
При загрузке внешней компоненты функцией ЗагрузитьВнешнююКомпоненту 1С:Предприятие определяет ProgID OLE-объекта компоненты следующим образом:
ProgID имеет вид <Vendor>.<Component>;
в качестве первой части (<Vendor> используется строка "AddIn";
в качестве второй части (<Component> используется строка с ID 100 из таблицы строк компоненты. Cтрока может иметь вид "Name1|Name2|...|NameN", и в этом случае будут созданы все объекты с ProgID вида "AddIn.NameX". Если такая строка отсутствует, то используется имя файла внешней компоненты без расширения.
При использовании функции ПодключитьВнешнююКомпоненту ProgID OLE-объекта компоненты передается в качестве параметра функции и также может представляться строкой вида ProgID1| ProgID2|...|ProgIDX.
Инициализация и выгрузка компоненты
Для инициализации и выгрузки компоненты используется интерфейс IInitDone. Этот интерфейс наследован от IUnknown и предназначен для инициализации объекта и завершения работы с объектом.
pBackConnection указатель на интерфейс 1С:Предприятия.
Возвращаемое значение:
E_FAIL - при инициализации произошла ошибка
S_OK - инициализация прошла успешно
Описание:
При загрузке 1С:Предприятие инициализирует объект компоненты, вызывая метод Init и передавая указатель на IDispatch. Объект не должен вызывать Release этого интерфейса, но может сохранить этот указатель для дальнейшего использования. Все остальные интерфейсы 1С:Предприятия объект может получить, вызвав метод QueryInterface переданного ему интерфейса IDispatch. Объект должен возвратить S_OK, если инициализация прошла успешно, и E_FAIL при возникновении ошибки. Данный метод может использовать интерфейс IErrorLog (см. стр. * ) для вывода информации об ошибках. При этом инициализация считается неудачной, если одна из переданных структур EXCEPINFO имеет поле scode, не равное S_OK. Все переданные в IErrorLog данные обрабатываются при возврате из данного метода. В момент вызова этого метода свойство AppDispatch не определено.
HRESULT Done(void)
Параметры:
отсутствуют
Возвращаемое значение:
S_OK - объект завершил работу
Описание:
1С:Предприятие вызывает этот метод при завершении работы с объектом компоненты. Объект должен возвратить S_OK. Этот метод вызывается независимо от результата инициализации объекта (метод Init).
HRESULT GetInfo(SAFEARRAY **pInfo)
Параметры:
pInfo Двойной указатель на массив структур VARIANT . Память для массива выделяется 1С:Предприятием.
Возвращаемое значение:
S_OK - информация о компоненте возвращена
Описание:
1С:Предприятие вызывает этот метод для получения информации о компоненте. В текущей версии 2.0 компонентной технологии в элемент с индексом 0 необходимо записать версию поддерживаемой компонентной технологии в формате V_I4 - целого числа, при этом старший номер версии записывается в тысячные разряды, младший номер версии - в единицы. Например: версия 3.56 - число 3560. В настоящее время все объекты внешних компонент могут поддерживать версию 1.0 (соответствует числу 1000) или 2.0 (соответствует 2000). Память для pInfo выделяется 1С:Предприятием. Метод должен возвращать S_OK.
Объект внешней компоненты обязан реализовать этот интерфейс. При его отсутствии компонента не будет загружена.
-------------------------------------------
Я понимаю, что для кого то это русский язык, для меня (пока) китайская грамота (в отношении создания ОЛЕ, СОМ). В принципе если растолковать как реализовать подключение и интерфейс , то дальше я разберусь. Кто возмется посмотреть ? Сброшу доку, примеры... обещаю готовую реализацию описать в виде примера и выложить исходник на сайте. Постараюсь ответить на любые вопросы по 1С.
у меня есть наверное большая часть того, что расспространяется на Украине - разработка и внедрение 1С мой хлеб и хоби. Раньше диски с 1С:Предприятием продавались по 2$ в любом магазине дисков. Недавно на Петровке (Киев книжный рынок, люблю я его) спросил у продавцов есть ли, говорят есть, просто на прилавках не лежит, но по 10$ 7-ка, 20$ 8 -ка. А вообще иногда где нить в переходе где софт на раскладках продают можно найти и сейчас за 2$, правда не совсем свежие версии. И еще: В едонке есть все, что нет в Инете, просто искать и качать не удобно, помню сливал там первый релиз 8-ки через 7 дней после официального выхода .
Я уже кидал ссылку на мануал по внешним компонентам.
http://www.vbnet.ru/forum/show.aspx?id=78442
OLE-сервер вроде можно создать на PB, даже на wasm.ru пример в теме обсуждения PB код приводили. Но тему эту ненароком прибили совсем, так что искать прийдётся самому.
Постараюсь ответить на любые вопросы по 1С.
Не буду утомлять тебя разнообразием. Где скачать 8-ку? Мануалов по ней у меня дохрена, а вот самой нету.