|
Подключение к внешней файловой базе | ☑ | ||
---|---|---|---|---|
0
Csar
03.02.15
✎
20:21
|
Добрый вечер.
У меня вопрос из двух частей, но с общей шапкой. Каким методом лучше всего подключаться из файловой 1С8.3 Бухгалтерия 3.0 к другой аналогичной в следующих случаях: 1) Требуется лишь получить во внешней базе запросом информацию по определенным документам. В своей базе выполнить ряд действий. 2) Требуется лишь получить во внешней базе запросом информацию по определенным документам. В своей базе выполнить ряд действий. Передать во внешнюю базу информацию из текущей базы и создать документы там. |
|||
1
AHuk87
03.02.15
✎
20:30
|
я бы через COMОбъект сделал сделал
|
|||
2
nordbox
03.02.15
✎
20:33
|
если базы удаленно друг от друга то обормоткой
если на одном компе/сети в офисе COM |
|||
3
Csar
03.02.15
✎
20:44
|
(1) (2) а какой именно метод? 8.3 комконнектор или через адодб?
|
|||
4
Csar
03.02.15
✎
20:47
|
+ (3) или 8.3 апликэйшн
|
|||
5
ShoGUN
03.02.15
✎
20:50
|
(3) Через ADODB ты по первости опухнешь данные их другой базы добывать, да и не нужно это. COMConnector в самый раз, но есть нюансы.
Книга знаний: Охота на Com-ов |
|||
6
Csar
03.02.15
✎
21:02
|
(5) я с COMConnector работал и с ADODB. Понял, что ADODB гораздо быстрее работает, в частности устанавливает подключение. Плюс с COMConnector были трудности с созданием документов во внешней базе.
|
|||
7
Csar
03.02.15
✎
21:06
|
(5) спасибо за ссылку, изучаю.
|
|||
8
shuhard
03.02.15
✎
21:07
|
(6) к файловой 8.Х нет ADODB и обсуждение бессмысленно
|
|||
9
Csar
03.02.15
✎
21:09
|
(8) Ясно, я только с серверными базами работал по удаленке.
Выходит, что остается лишь ComConnector и Application? |
|||
10
ShoGUN
03.02.15
✎
21:11
|
(9) Забудь про Application, если тебе не нужно интерфейсом манипулировать(в 99% случаев это так). Он очень медленный.
|
|||
11
ShoGUN
03.02.15
✎
21:12
|
+(10) Насчёт проблем с созданием документов - озвучьте, пожалуйста, не сталкивался никогда ни с какими проблемами. Разумеется, надо понимать, что и как в КОМ-соединении работает.
|
|||
12
Csar
03.02.15
✎
21:16
|
(11) К сожалению уже не помню, т.к. было 2 года назад уже. Может это из-за того, что только начинал работать и не было опыта. А вот скульными подключениями через ADO в последнее время пользовался. Спасибо большое за советы. Значит использую V83.COMConnector!
|
|||
13
Провинциальный 1сник
03.02.15
✎
21:16
|
(9) Application для твоих задач избыточно. COM самое то. Главное не забыть учесть представление чисел через COM с плавающей точкой, а то можно получить потерю точности при передаче.. Вообще рекомендую все нецелые числа через COM прогонять в сериализованном в строку виде, тогда искажений не будет.
|
|||
14
Csar
03.02.15
✎
21:20
|
(13) Спасибо, ценный совет.
|
|||
15
Csar
03.02.15
✎
22:11
|
Подскажите, пожалуйста, как запомнить существующее подключение, что бы второй раз заново не подключаться к базе?
Я создал глобальную переменную Соединения к базе и проверяю ее на Неопределено. По идее после первого подключения к внешней базе она далжная иметь тип COMОбъект, а не Неопределено и так и получается, но стоит мне нажать кнопку Обновить (процедура получения данных из Внешней базы), как мое Соединение становится Неопределено и приходится заново переподключаться к базе. |
|||
16
ShoGUN
03.02.15
✎
22:17
|
(15) Управляемое приложение? Сервер - stateless, так что:
Книга знаний: Хранение COM Объектов на Сервере ТонкогоКлиента |
|||
17
Csar
03.02.15
✎
22:22
|
(16) Супер! Спасибо. А как вы находите в книге знаний раздел по OLE? Я не вижу там вообще веток.
|
|||
18
ShoGUN
03.02.15
✎
22:24
|
(17) Я просто знаю, что искать :)
|
|||
19
ShoGUN
03.02.15
✎
22:28
|
(17) Да, и в примере Application. Не перепутай, тебе надо не COMConnector в хранилище запихивать, а конкретное подключение(возвращаемое методом Connect). Вроде ты в курсе, судя по (15), ну на всякий случай.
|
|||
20
Csar
03.02.15
✎
22:36
|
(19) Нарисовал вот что:
Попытка
В результате ошибка: {Форма.Форма.Форма(84)}: Ошибка при вызове метода контекста (ПоместитьВоВременноеХранилище) Объект.ВнешняяБазаСоединение = ПоместитьВоВременноеХранилище(ВнешняяБаза, Новый УникальныйИдентификатор()); по причине: Переданное значение не может быть помещено во временное хранилище Переданное значение не может быть помещено во временное хранилище |
|||
21
Csar
03.02.15
✎
22:38
|
+ (20) у меня Объект.ВнешняяБазаСоединение = реквизит типа Строка. Код выполняется с директивой #НаСервере.
|
|||
22
ShoGUN
03.02.15
✎
22:45
|
(20) Тьфу ты, оно только в 8.2 работало :(
|
|||
23
ShoGUN
03.02.15
✎
22:51
|
+(22) Можно через общий модуль с повторно возвращаемыми значениями v8: Повторное использование возвращаемых значений
Либо через COM+, но готовая компонента не уверен, что есть. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |