|   |   | 
| 
 | Открытие нескольких форм через COMОбъект | ☑ | ||
|---|---|---|---|---|
| 0
    
        КВА 14.02.18✎ 13:26 | 
        Добрый день, прошу подсказать. Хочу сделать COMОбъект соединение из одной базы в другу, так что бы при нажатии на кнопку открывалась форма обработки. И таких вызовов может быть несколько, значит и несколько форм открытых. Встрял на том что любую форму открывает только модально. через операторы: 
 ОткрытьМодально(); или DoModal(); Врезультате модальное окно блокирует последующие нажатие кнопки для инициализации еще одного окна. Ниже код. Если ВременноеХранилище= Неопределено Тогда БазаИсточник=Новый COMОбъект("V83.Application"); БазаИсточник.Connect("File=""D:\Кочеров\ИнфБазы\Бух(демо)"";Usr=""Любимов (администратор)"";"); БазаИсточник.visible=false; Структура = New Структура("Объект", БазаИсточник); ВременноеХранилище = ПоместитьВоВременноеХранилище(Структура,Новый УникальныйИдентификатор()); Иначе БазаИсточник=ПолучитьИзВременногоХранилища(ВременноеХранилище).Объект; КонецЕсли; Документ = БазаИсточник.Справочники.Контрагенты; Документ.ПолучитьФормуСписка().ОткрытьМодально();//Открыть(); | |||
| 1
    
        Cool_Profi 14.02.18✎ 13:27 | 
        Совсем дурная идея. КОМ не для этого изобретался     | |||
| 2
    
        КВА 14.02.18✎ 13:31 | 
        Согласен, но вот хотелось понять можно ли это реализовать, и почему открытие только модальное. Читал про актив сервер, не нашел ответа...     | |||
| 3
    
        КВА 14.02.18✎ 13:34 | 
        Поначалу подключался из 3.0 к базе 2.0 Думал может может из за того что вызов из управляемых форм. Потом тоже самое проделал и с однотипными базами. Открытие только модальное (     | |||
| 4
    
        Адинэснег 14.02.18✎ 13:52 | 
        *буэ*     | |||
| 5
    
        Alex87r 14.02.18✎ 13:55 | 
        (0) Зачем тебе открывать несколько форм в другой базе? Может быть по другому сделать     | |||
| 6
    
        КВА 14.02.18✎ 14:05 | 
        (5)Смысл вот в чем, есть самописные программы, Менеджер работает в оной базе №1, ему звонят на телефон, он берет трубку, далее идет поиск звонящего в другой базе №2, далее от условия если звонящий клиент, открывается обработка с скучай инфы, регистры, документы, справочники. По мере разговора и заполнения всей этой информации, ему могут звонить еще пару человек.     | |||
| 7
    
        КВА 14.02.18✎ 14:08 | 
        (5) Как организовать вот такую работу? я предложил использовать ctrl + c для соседней базы ))     | |||
| 8
    
        drcrasher 14.02.18✎ 14:09 | 
        (7) какая религия запрещает использовать обмены?     | |||
| 9
    
        КВА 14.02.18✎ 14:10 | 
        (8) Обмен через COMОбъект?     | |||
| 10
    
        КВА 14.02.18✎ 14:17 | 
        (8) То что нарисовать форму, и заполнять данными из другой базы, потом создавть документы, движение по регистрам. Это понятно что будет вернее всего. Вопрос у меня почему не работает открытие формы?     | |||
| 11
    
        Alex87r 14.02.18✎ 15:38 | 
        (10) Просто ком медленно работает. У менеджер на телефоне кто то висит, пока он зайдет в базу.. 
 Сделайте еще одну базу, в которою при помощи обменов будет сваливаться вся нужная информация. | |||
| 12
    
        SSSSS_AAAAA 14.02.18✎ 16:06 | 
        (6) И зачем тут COM? Почему именно СОМ? Просто запустить нужную базу что мешает? Почему надо именно через задний проход?     | |||
| 13
    
        Tateossian 14.02.18✎ 16:10 | 
        Используй Automation, там есть даже свойство Visible. И работай как в родном клиенте.     | |||
| 14
    
        Tateossian 14.02.18✎ 16:11 | 
        Кстати, в Консолидации активно юзается Automation Server, механизмы работы можно там посмотреть.     | |||
| 15
    
        КВА 14.02.18✎ 16:22 | 
        (13) Automation сервер (Automation server)
 Свойства: Visible (Visible) Методы: Connect (Connect) NewObject (NewObject) String (String) Описание: Система 1С:Предприятие может использоваться внешними приложениями в качестве Automation-сервера. При работе в качестве Automation-сервера 1С:Предприятие предоставляет доступ ко всем свойствам и методам своего глобального контекста, а также включение и выключение пользовательского интерфейса (главного окна 1С:Предприятия 8). Кроме того, Automation-сервер 1С:Предприятия имеет дополнительные свойства и методы для выполнения действий, специфичных для работы в режиме Automation. Основное назначение Automation-сервера 1С:Предприятие в управлении приложением 1С:Предприятия 8 из других приложений и выполнение действий аналогичных интерактивным действиям, например, построение отчетов. Для запуска системы 1С:Предприятие в качестве Automation-сервера из внешнего приложения, выполняется следующая последовательность действий: создается COMОбъект с идентификатором V83.Application (для тонкого клиента V83C.Application); | |||
| 16
    
        КВА 14.02.18✎ 16:23 | 
        (13) я же и использую Automation сервер, не?))     | |||
| 17
    
        КВА 14.02.18✎ 16:27 | 
        (11) я соединение планирую сохранять, и последующии вызовы делать через уже созданное. Работает нормально, только монопольно. Не магу открыть несколько форм. В этом и воппос.     | |||
| 18
    
        Tateossian 14.02.18✎ 16:45 | 
        (17) Я затупил, сорян.
 Но БазаИсточник.visible=false; !!!! | |||
| 19
    
        Tateossian 14.02.18✎ 16:49 | 
        (12) В старой бухгалтерии отчеты бухгалтерские были с веселой директивой #Если Клиент ДелаемКарточкуОСВ() #КонецЕсли. А теперь попробуй автоматизировать процесс формирования отчета на сервере безе переписьки отчета.
 Решение очевидное: открывать на сервере клиентское приложение и делать что нужно. | |||
| 20
    
        КВА 14.02.18✎ 17:12 | 
        (18) В точку, разобрался спасибо!     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |