Имя: Пароль:
1C
1С v8
Необходимо открыть карточку контрагента из другой базы
0 bienvenu
 
30.10.13
18:39
Ребята, подскажите пожалуйста, кто сталкивался. Необходимо из базы А открыть соответствующего контрагента из базы Б. Пишу следущее для примера:

Путь = "D:\1C_Base\ЛокальнаяДляПроб";
Пароль = "";
Пользователь = "Англичанин";
    
V82 = Новый COMОбъект("V82c.Application");
    
Попытка
Открытие = V82.Connect("File=" + Путь + ";Usr=" + Пользователь + ";Pwd=" + Пароль + ";");
Исключение
    Предупреждение("База данных не открыта!!!");
    Возврат;
КонецПопытки;    
    
    ЗначениеОтбора = Новый Структура("Наименование", "Созданный1");    
    ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
    Форма = V82.ПолучитьФорму("Справочник.Номенклатура.ФормаОбъекта", ПараметрыВыбора);
    Форма.открыть();

Ругается на 2 параметр метода "ПолучитьФорму()" - как установить отбор на форму из другой базы, тобишь из базы Б ? Спасибо.
1 Wobland
 
30.10.13
18:40
не взлетит
2 Сисой
 
30.10.13
18:44
Бред какой-то. Почему нельзя сначала найти объект, затем открыть его форму.
3 fisher
 
30.10.13
18:44
"иш чиво зодумол" (с)
(1) +1
4 Ksandr
 
30.10.13
18:44
Если изменять объект из другой базы не планируется можно за час на вебсервисе такое накидать
5 mrDSide
 
30.10.13
18:45
(0) Ну так-то "ПолучитьФорму()" совсем не к месту)))
6 bienvenu
 
30.10.13
18:47
Ок. а посоветуйте что к месту ? Как мне открыть форму элемента справочника в другой базе ?
7 mrDSide
 
30.10.13
18:48
(0) но если уж прям надо и именно так, то:
Объект = Справочники.Номенклатура.СоздатьОбъект();
ЗаполнитьЗначенияСвойств(Объект,V8.Справочники.Номенклатура.НайтиПоРеквизиту("Наименование","Шляпа такае-то"));
Объект.ПолучитьФорму().Открыть();
8 mrDSide
 
30.10.13
18:54
(7)
* ЗаполнитьЗначенияСвойств(Объект,V8.Справочники.Номенклатура.НайтиПоРеквизиту("Наименование","Шляпа такае-то"),,"Ссылка")
9 Михаил Козлов
 
30.10.13
19:18
(8) А зачем создавать объект и заполнять его? Почему не найти объект и открыть форму:
V8.Справочники.Контрагенты.Найти (как-то: по коду, наименованию, реквизиту).ПолучитьФорму().ОткрытьМодально();
10 mrDSide
 
30.10.13
20:07
(9) Потому как в модуле внешнего соединения нельзя использовать этот метод.
11 mrDSide
 
30.10.13
20:09
(10) Вы же будете применять метод для COM-объекта, а не для текущего приложения. Или я ошибаюсь?
12 Михаил Козлов
 
30.10.13
20:30
(10) Вроде в (0) речь шла про аппликейшн?
13 Михаил Козлов
 
30.10.13
20:32
(7) Если объект создается в текущем приложении, то ЗаполнитьЗначенияСвойств не сработает (только для примитивных типов).
14 bienvenu
 
31.10.13
12:27
(7) ну задача не в создании нового элемента справочника, а в получении элемента справочника по параметрам поиска.
15 ЧессМастер
 
31.10.13
12:35
(0) зачем в базе открытой по СОМ открывать форму ??? ее там кто увидит ?

если вам надо открыть элемент и что-то с ним сделать это делается очень просто
16 bienvenu
 
31.10.13
14:33
(15) Пользователь увидит - эта форма сразу же активизируется. А, пожалуйста, набросьте как-так очень просто ?
17 Михаил Козлов
 
31.10.13
15:23
(16) В (9) написано. А сам элемент, который нужно показать ищите, например, запросом.
18 smaharbA
 
31.10.13
15:25
есть способ взаимодействия двух открытых интерактивно баз без конектора и сервера автоматизации - вызвать любую форму и выполнить любую (почти) процедуру/функцию, без вк.
19 smaharbA
 
31.10.13
15:27
20 thezos
 
31.10.13
15:30
в консолидации это работает прекрасно, смотрите пример там
21 bienvenu
 
31.10.13
18:21
Всем спасибо. Так и не нашел для себя ответа на вопрос ...
22 Alex11
 
31.10.13
18:49
Ну к примеру такой вариант. Создай общую форму, можем тупо ее скопировать из справочника. Далее через COM соединение находи нужный те элемент, тянешь от туда нужную инфу и пихаешь это в общую форму, далее открыть и усе.
23 Михаил Козлов
 
31.10.13
18:52
(21) Неясно, что Вам непонятно: показываю документы (как в (9)) по COM при сверке данных в БП и УТ.
24 kiruha
 
31.10.13
19:05
(0)
Через Web, Не ?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.