Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Power Basic

Страница: 1 |

 

  Вопрос: ВК для 1С:Предприятия? Добавлено: 18.11.05 04:23  

Автор вопроса:  Sergij | Web-сайт: www.poffsbc.narod.ru/
Все равно когда нить разберусь...
Может делал кто на PB внешнюю компоненту для 1С:Предприятия? Пример, или общее направление подскажите? Есть дока по технологии внешних компонент, три примера - VB(у меня получилось) , VC++, Дельфа.

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #1 Добавлено: 18.11.05 13:44
Если внешняя компонента это обычная DLL, то конечно можно написать ее на PB, вопрос только в механизмах взаимодействия с 1С

Ответить

Номер ответа: 2
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #2
Добавлено: 18.11.05 14:14
что-таки на PB, сразу бы на asm ;) rtfm

Ответить

Номер ответа: 3
Автор ответа:
 Sergij



Вопросов: 11
Ответов: 65
 Web-сайт: www.poffsbc.narod.ru/
 Профиль | | #3
Добавлено: 18.11.05 20:19
не понял, к чему это ты.

Ответить

Номер ответа: 4
Автор ответа:
 Sergij



Вопросов: 11
Ответов: 65
 Web-сайт: www.poffsbc.narod.ru/
 Профиль | | #4
Добавлено: 18.11.05 20:21
Выдержка из доки по созданию ВК...

Внешняя компонента -программный модуль, расширяющий функциональность 1С:Предприятия. Внешние компоненты являются OLE серверами и вследствие этого могут быть написаны с использованием произвольных инструментов разработки программ, поддерживающих создание OLE объектов.

Возможности внешней компоненты:

расширение встроенного языка 1С:Предприятия (добавление новых агрегатных объектов);
добавление страницы свойств в параметры 1С:Предприятия;
сохранение параметров внешней компоненты через механизмы сохранения параметров 1С:Предприятия;
создание дополнительных окон в окне 1С:Предприятия (версия 2.0);
доступ к функциям 1С:Предприятия через OLE Automation (версия 2.0);
вызов процедуры обработки событий, контролируемых внешней компонентой;
доступ к строке состояния 1С:Предприятия.

....

Ответить

Номер ответа: 5
Автор ответа:
 Sergij



Вопросов: 11
Ответов: 65
 Web-сайт: www.poffsbc.narod.ru/
 Профиль | | #5
Добавлено: 18.11.05 20:29
...
Разработка внешней компоненты

Создание 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 и предназначен для инициализации объекта и завершения работы с объектом.

HRESULT Init(IDispatch *pBackConnection)
Параметры:

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С.

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 19.11.05 00:49
Постараюсь ответить на любые вопросы по 1С.

Где взять на халяву? :)

Ответить

Номер ответа: 7
Автор ответа:
 Sergij



Вопросов: 11
Ответов: 65
 Web-сайт: www.poffsbc.narod.ru/
 Профиль | | #7
Добавлено: 19.11.05 01:22
у меня есть наверное большая часть того, что расспространяется на Украине - разработка и внедрение 1С мой хлеб и хоби. Раньше диски с 1С:Предприятием продавались по 2$ в любом магазине дисков. Недавно на Петровке (Киев книжный рынок, люблю я его) спросил у продавцов есть ли, говорят есть, просто на прилавках не лежит, но по 10$ 7-ка, 20$ 8 -ка. А вообще иногда где нить в переходе где софт на раскладках продают можно найти и сейчас за 2$, правда не совсем свежие версии. И еще: В едонке есть все, что нет в Инете, просто искать и качать не удобно, помню сливал там первый релиз 8-ки через 7 дней после официального выхода :-).

Ответить

Номер ответа: 8
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #8
Добавлено: 19.11.05 07:13
Я уже кидал ссылку на мануал по внешним компонентам.
http://www.vbnet.ru/forum/show.aspx?id=78442

OLE-сервер вроде можно создать на PB, даже на wasm.ru пример в теме обсуждения PB код приводили. Но тему эту ненароком прибили совсем, так что искать прийдётся самому.

Постараюсь ответить на любые вопросы по 1С.

 Не буду утомлять тебя разнообразием. Где скачать 8-ку? Мануалов по ней у меня дохрена, а вот самой нету.

Ответить

Номер ответа: 9
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #9
Добавлено: 19.11.05 07:23
И примеры кстати тамже есть
http://www.sharemation.com/~sparku/extcomp/

Ответить

Номер ответа: 10
Автор ответа:
 Sergij



Вопросов: 11
Ответов: 65
 Web-сайт: www.poffsbc.narod.ru/
 Профиль | | #10
Добавлено: 19.11.05 11:12
Еще раз, в Едонке искать надо. Программа (8-ка) не проблема - проблема ключ защиты.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам