Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 16:39

[Delphi] V83.ComConnector vs V83.Application

Автор Jenstel, 26 мая 2014, 21:04

0 Пользователей и 1 гость просматривают эту тему.

Jenstel

Доброго времени суток. Подскажите, почему при соединении с базой 1С с помощью 'V83.ComConnector' любые операции выполняются значительно дольше, чем при подключении с помощью 'V83.Application'.

Com:=CreateOleObject('V83.ComConnector') as IV8ComConnector;
CN:= Com.Connect ('File="ХХХ";usr=ХХХ;pwd=ХХХ');
PP := CN.Документы.ПлатежноеПоручение.СоздатьДокумент();
PP.ПеречислениеВБюджет := true;
PP.КодБК := Duty.КодБК;
PP.ВидПеречисленияВБюджет := Duty;
PP.Контрагент := Customer;
PP.Заполнить(Duty);
PP.СчетОрганизации := Account;
PP.Ответственный := User;
PP.СуммаДокумента := '100.00';
PP.НазначениеПлатежа := Destination;
PP.Записать;


Сделал лог с временем каждой операции. Дольше всех выполняются:
PP.Заполнить(Duty); ~ 2 секунды
PP.Записать; ~ 4 секунды

Помогите разобраться.

cska-fanat-kz

в модуле внешнего соединения создайте экспортный метод, который будет выполнять все действия со стороны 1с, а в дельфе только готовьте данные для отправки в этот метод.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Jenstel

Цитата: cska-fanat-kz от 27 мая 2014, 05:08в модуле внешнего соединения создайте экспортный метод, который будет выполнять все действия со стороны 1с, а в дельфе только готовьте данные для отправки в этот метод.

А можно пример?

cska-fanat-kz

ну вот этот код (с небольшой доработкой!)

PP := CN.Документы.ПлатежноеПоручение.СоздатьДокумент();
PP.ПеречислениеВБюджет := true;
PP.КодБК := Duty.КодБК;
PP.ВидПеречисленияВБюджет := Duty;
PP.Контрагент := Customer;
PP.Заполнить(Duty);
PP.СчетОрганизации := Account;
PP.Ответственный := User;
PP.СуммаДокумента := '100.00';
PP.НазначениеПлатежа := Destination;
PP.Записать;

тока пишете на стороне 1С. а в параметры загоняете нужные данные из Дельфи...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Jenstel

Цитата: cska-fanat-kz от 27 мая 2014, 11:09
ну вот этот код (с небольшой доработкой!)

PP := CN.Документы.ПлатежноеПоручение.СоздатьДокумент();
PP.ПеречислениеВБюджет := true;
PP.КодБК := Duty.КодБК;
PP.ВидПеречисленияВБюджет := Duty;
PP.Контрагент := Customer;
PP.Заполнить(Duty);
PP.СчетОрганизации := Account;
PP.Ответственный := User;
PP.СуммаДокумента := '100.00';
PP.НазначениеПлатежа := Destination;
PP.Записать;

тока пишете на стороне 1С. а в параметры загоняете нужные данные из Дельфи...

Про то, что писать на стороне 1С я понял. Вопрос в том, где именно хранить сам код (изменений в нашу конфигурацию вносить нельзя).
Было предложение насчет команды Выполнить(), в которую и подсовывать уже готовый текст скрипта, но этот метод не работает с V83.ComConnector.

cska-fanat-kz

Так уже привык работать в базах не на поддержке... )
:dfbsdfbsdf:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск