К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Нюансы СОМ соединения

Гость
0 - 14.03.2016 - 09:34
Тащим данные из УТ 10.3 в БП 3.0. Перенос запускается из торговли и пишет в БП. Создаются документы без проблем, а вот получить объект для изменения не дает. Я знаю что объекты не ходят ЧЕРЕЗ СОМ но внутри то должен быть доступ?


Гость
1 - 14.03.2016 - 09:36
То есть почему не срабатывает такой код:

V8 = Новый COMObject("V83.Application");
БазаП = V8.Connect("File="""+Путь+""";"+"Usr=""" + СокрЛП(ИмяПользователя)
+ """;Pwd=""" + СокрЛП(Пароль) + """;");

Пров = V8.Документы.РеализацияТоваровУслуг;
Если Пров.НайтиПоНомеру(НОмерДок,ДатаДок)=Пров.ПустаяСс ылка() ТОгда
Док = Пров.ПолучитьОбъект();
КонецЕсли;
Гость
2 - 14.03.2016 - 10:06
Приподниму
Гость
3 - 14.03.2016 - 11:01
"Я знаю что объекты не ходят ЧЕРЕЗ СОМ"
Док = Пров.ПолучитьОбъект(); - А это что?

Пиши модуль внутри БП, который и будет работать с объектами БП, не вынося их наружу. Задание модулю через реквизиты простых типов: строка, число, дата.

Вообще-то, для задач вида "Тащим данные" предусмотрен файловый обмен. И не стоит выпендриваться.
4 - 14.03.2016 - 11:21
2(3) Через COM можно работать и с объектами, главное. оставаться в объекте вызванной базы и команды отдавать через Вычислить() и т.п. Я так работал из внешних программ на c#.
Гость
5 - 14.03.2016 - 11:22
(0) ещё вариант из БП вызывать, и данные через ком получать
Гость
6 - 14.03.2016 - 14:15
4-bma1 > Одно дело найти ссылку на документ, убедится, что док с нужными реквизитами ("номер") существует, другое дело - получить объект. Ссылку - запросто: УникальныйИдентификатор(), храни (строкой) где хошь, передавай (строкой) как хошь.
А разворачивай в родной среде. А то сдохнет.
Гость
7 - 14.03.2016 - 14:42
Ну собственно так я и думал. Просто казалось что ПРОВ внутри среды и работают все директивы.
8 - 14.03.2016 - 15:03
2(6) а я как раз с объектами и работал. Создавал их извне. Геморроя было много, но работало.
Гость
9 - 14.03.2016 - 16:18
8-bma1 > И это было в 8.3? Толстый клиент?
Гость
10 - 15.03.2016 - 10:08
8-bma1 > может все же просто "командами извне", а объекты были все "внутри"?
Такой метод хорош для элементарных объектов.
А когда в реквизитах справочники, перечисления, и табличные части то трудозатраты бессмыслены
Гость
11 - 15.03.2016 - 21:22
Я сейчас полный бред напишу...

А если так:

Пров.Док = Пров.ПолучитьОбъект?

Не?
Гость
12 - 15.03.2016 - 21:23
EvalExpr еще никто не отменял тоже.


К списку вопросов






Copyright ©, Все права защищены