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

Не работает метод ПолучитьОбъект() при COM-соединении для режима клиент-сервер

Автор Iguanodon, 23 авг 2024, 14:46

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

Iguanodon

Здравствуйте.

Устанавливаю COM соединение:

1c = CreateObject( "V83.Application")
1c.Connect("File=<...>")
кв = 1c.Документы.КассовоеВыбытие
Док = кв.Выбрать()
while Док.Следующий()
  if ...
     Док1 = Док.ПолучитьОбъект()
     Платеж = Док1.РасшифровкаПлатежа
     и так далее
     ...
  endif
enddo

Все хорошо, получается

Та же база, только на sql-сервере. Выполняю тот же код, только меняю строку коннекта:
1c.Connect("Srvr=""server""; Ref=""BGU""; Usr=...")

Начинается хорошо, но не выполняется метод: Док1 = Док.ПолучитьОбъект()
Док1 возвращается не объект, а число
Какие могут быть особенности при соединении, если база для режима клиент-сервер ?

Причем работа со справочниками работает одинаково, что для файлового режима, что для клиент-серверного. А с документами не получается.

Iguanodon

Правильно ли я понимаю, что ПолучитьОбъект() для клиент-сервера не работает по причине того, что он предназначен для серверного контекста ?
И как в таком случае использовать его для COM-соединения с 1С ?

antoneus

Ну по идее в той базе, откуда подключаетесь - пофигу должно быть - сервер или клиент - com-объект - он и в Африке com-объект. А если точку останова поставить на строку Док.ПолучитьОбъект() - до получения реквизиты доступны?

Iguanodon

Да, все реквизиты и табличные части доступны. Но мне нужно вызвать ПолучитьОбъект(), чтобы программно вносить изменения в документ. С базой файл-сервера проблем нет, все получается, а с клиент-сервером не работает.

antoneus

Ну хз, если, говорите, со справочниками работает - возможно, глюк платформы. А Док.Ссылка.ПолучитьОбъект() чего возвращает?

Теги:

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

Рейтинг@Mail.ru

Поиск