#0
by Jenstel
Доброго времени суток. Подскажите, почему при соединении с базой 1С с помощью 'V83.ComConnector' любые операции выполняются значительно дольше, чем при подключении с помощью 'V83.Application', например даже одна строка Con1C.Документы.ПлатежноеПоручение.СоздатьДокумент; выполняется 5-6 секунд, но если подключение через 'V83.Application', то она выполняется практически моментально.
#3
by Jenstel
я в курсе, поэтому и сбит с толку вот полный код, висит на событии нажатия кнопки Подскажите, в чем может быть проблема. После нажатия на кнопку приложение "подвисает" на 5-6 секунд (кнопка в нажатом состоянии), но стоит соединиться как V83.Application и это все происходит моментально.
#8
by Jenstel
Еще есть разница в запуске: из компилятора Delphi тайминги как написал выше, а если запускать уже скомпилированный exe - выполнение занимает 1,5-2 секунды. С 'V83.Application' - вся операция занимает 57 миллисекунд Платформа - 8.3.4.482
#12
by Jenstel
Да хоть какой. Я первым подумал на разрядность и возможные косяки. Для чистоты эксперимента перенес исходник на виртуальную машину c WinXP и попробовал скомпилировать и запустить там. Все идентично. Куда копать, ума не приложу.
#13
by DmitrO
Ну ты не ответил на вопрос-то.. Приведенное время по ComConnector на какой разрядности приложения? И что значит на "хоть какой", если собрать exe 64-битный тоже работает?
#18
by alex007ag
Как его притупить немного? :) Я импортировал библиотеку V83_TLB, может не стоило этого делать?
#19
by alex007ag
эта библиотека позволит применить ранее связывание, но только для самого коннектора, а не для полученного им соединения, там полюбому будет позднее.. так что это не повлияет никак. Я не знаю особенностей компилятора, может он зачем-то маршалит вызовы собственными силами, хотя именно комконнектору это не нужно, т.к. это InProc COM сервер. Хотя даже в этом случае что-то велика разница..
#22
by DmitrO
сто лет в Delphi не пишу уже.. только с++ думать, читать, думаю пользователю не так критично 5-6 секунд, пусть пока так работают.. надо дождаться тех кот на Delphi пишут, здесь такие есть..
#23
by Jenstel
Я выделил только самую малую часть кода, которая доолжна выполняться. Полный код более 200 строк, да еще и циклы (синхронизация справочником между базой рабочей программы и 1С, создание документов, создание документов на их основе). Полная процедура с созданием 5 документов длиться 27 секунд, тогда как 'V83.Application' делает это за 4.
#24
by DmitrO
Или попробуй переписать через чистый IDispatch, без понтов делфёвого компилятора: вместо: PP.Записать применять: IDispatch::GetIDsOfNames IDispatch::Invoke
#28
by Jenstel
Для коннектора создал нового юзера (пока с полными правами, база тестовая) Но пробовал и под своим рабочим логином - результат тот же
#29
by Jenstel
А есть возможность сначала собрать текст скрипта, а потом выполнить его целиком в 1С (аналогично SQL execute), а не выполнять построчно каждое действие.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- РАРУС vs ФОРЕС vs AXELOT vs ITOB
- OLE vs xml vs text vs другое
- Есть ли разница в апи V81.ComConnector и V82.ComConnector?
- Проблема с V83.Application
- Глюк v83.ComConnector
- COMОбъект("v83.ComConnector");
- Новый COMОбъект("v83.Application") не закрывается
- Виснет V83.COMConnector .
- V83.ComConnector
- V83.COMConnector, проблема с идентификацией
- V83.COMConnector Не находит Экспортный метод обработки
- SERVER 2008R2 vs 2012R2 vs 2016
В этой группе 1С
- После обновление не запускается служба сервера.
- Получить вариант отчета в процедуре ПриКомпоновкеРезультата
- Как узнать путь к базе (имя базы) программно?
- Апгрейд 32-ух разрядного сервера 1С до 64-ех (USB)
- УПП, Декретницы, правильное оформление документов
- Альфа-Авто 4 Вопрос по ценам номенклатуры
- Обработка: обнуление остатков по счету
- Как запретить создание документа копированием?
- Не запускаются SQL базы после смены IP адреса.
- Явно указать дату в запросе
- бп и зуп, нужна идея по синхронизации подразделений, ситуация такая - бух
- Не работает обмен по COM
- Установлен безопасный режим. Выполнение операции запрещено
- Посоветуйте конфигурацию для мебельного индивидуального производства.
- v7: Поставщик данных и его ПриНажатииКлавиши()
- как убрать разделитель групп в числе?
- Как в заспросе агрегировать значения поля в строку через запятую
- В акт сверки попадает непроведенный документ
- Почему не работает ОбработкаЗаписиНового в форме документа?
- v7: можно ли изменить заголовок окна программы 1с77