#0
by Beginner85
Народ подскажите, пожалуйста, начинающему: В процедуре ОбработкаПроведения документа есть вызов метода ПровестиДокумент самописной на Delphi внешней компоненты глВнешняяКомпонента.ПровестиДокумент(Контекст); Внешняя компонента на Delphi: function TExtendClass.CallAsProc(lMethodNum: Integer; var paParams: PSafeArray{(OleVariant)}): HResult; stdcall; var methMakeActionsDoc: end; ... Вопрос: Как правильно обратиться к контексту документа, чтобы сформировать движения по регистру резервы?
#1
by зевака
может быть несколько причин: - как создаётся соединение - как оно используется В простых случаях можно копировать код 1С в Delphi, и всё работает. Однако, когда от примеров переходим к работе возникают нюансы: 1) объект внешнего соединения потоконебезопасен. 2) не рекомендовал бы его передавать из потока в поток вообще.
#2
by Beginner85
> В простых случаях можно копировать код 1С в Delphi, и всё работает Поподробнее, пожалуйста, как можно копировать код 1С в Delphi. При проведении нужно проанализировать итоги по регистру резервы, на их основании заполнить несколько периодических реквизитов(привязанных к документу) справочников и сделать движения по этому регистру. И все это сказано мне сделать во внешней компоненте 8-( А соединение создаю вот так: ....
#3
by Иде я
А зачем для этого внешняя компонента своя ? SQL запросы через ADO или еще какую нибудь компоненту
#4
by зевака
поподрорбнее... в 1С мы пишем: Справочники.Контрагенты.Найти... берём и копируем это в Delphi: v8.Справочники.Контрагенты.Найти... В 1С всё выполняется в контексте приложения, а в дельфях этот контекст требуется присобачить. И вся разница. Вот "живой" фрагмент кода:
#5
by Beginner85
> v8 := factory.createV8(infoBase); Это, наверное, специфично для восьмерки, а я пока еще на 7.7 ваяю Используя objGB := OleVariant(pConn).AppDispatch я получаю контекст приложения, но мне то нужно получить контекст проводимого документа и для этого я его передаю параметром в ПровестиДокумент(Контекст), в Delphi я этот параметр принимаю по ТСВК как IDispatch - таким образом, я понимаю, я могу обращаться к контексту модуля в Delphi так же как, например, идет обращение к контексту модуля документа в процедуре глСписаниеПартийТМЦ(Конт,ТаблНоменклатуры,...) Торговли и Склада 9.2 через переменную Конт
#7
by зевака
factory - это мой объект (connection factory), управляющий соединением и предоставляющий дополнительные удобства. Но работает это всё действительно с 8-кой. Соответственно, все мои реплики теряют актуальность.
#8
by Beginner85
Все равно спасибо - может скоро пригодится to all: Может подскажет кто - что делать то - башку уже сломал []8-^[ ]
#14
by Beginner85
Да - можно. Для типа OleVariant to all: Всем спасибо Оказыватся, 1С не любит чтобы в ВК было обращение через 2 и более точек, вот так все получилось:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Рассылка сообщений из 1С. Как реализовать?
- Кассовая смена
- Просмотр записей регистра сведений
- ТиС. Контрагенты. Форма списка. Телефоны
- Тис . Как вывести остатки по конкретному складу?
- драйвер для сканера штрих-кодов CipherLAb 1000
- выбор подчиненного документа
- А как обновляется справочник "Банки" с web-сайта "Бизнес-консалтинг"?
- DBF->SQL работать стала намного медленней
- v8:Бухгатерия - как настроить Соответствия счетов БУ и НУ
- Странность с кассой АМФ-100Ф
- подача Beep на удаленном компьютере
- Наценка при возврате(перемещении) товара из розничного склада в оптовый
- Номер операции..... где? как?
- Экспорт справочников из Бизнес Пака
- ЗиК Отпуск дополнительный по травме за счет ФСС НС
- Какие весы лучше купить чтоб работали с 1С ?
- Выгрузка данных УСН -> Бухгалтерия
- префикс документов в бухгалтерии....
- Недостатки V8