Имя: Пароль:
1C
1C 7.7
v7: Можно ли узнать как открывается база - по ОЛЕ или Интерактивно?
0 Umka2008
 
05.12.11
16:09
Открываю базу 77 из другой по ОЛЕ. Если при открытии пользователю задаются всякие вопросы (типа Период не открыт) и ждет ответа пользователя, то в ОЛЕ этот диалог не виден. И происходит ожидание, порой минут 20. Нельзя ли обходить эти вопросы - если знать кем открыта БазаОЛЕ?
1 alxbzm
 
05.12.11
16:14
Сделай в общем модуле переменную и заполняй ее в случае открытия по ОЛЕ. Ну и соответственно диалоги надо настроить с учетом этой переменной.
2 Ёпрст
 
05.12.11
16:19
(1) :))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
3 Злопчинский
 
05.12.11
16:23
а как бы открытие периода делать не в монопольном режиме без лишних вопросов...?
4 1Сергей
 
05.12.11
16:26
вроде, никак. Создай пользователя для ОЛЕ и проверяй имя
5 Umka2008
 
05.12.11
16:27
ну то есть нет такого метода типа ВнешнийЗапуск() ?
6 1Сергей
 
05.12.11
16:29
(5) нету
7 DJ Anthon
 
05.12.11
16:31
(2) а скажите, пожалуйста, почему при подключенном формексе база, подключаемая по ОЛЕ, открывается интерактивно (то есть видна), а если нет формекса, то невидимая?
8 DJ Anthon
 
05.12.11
16:33
(3) у меня ночью бэкап делается в час ночи, заодно открывается период. у всех так настроил.
9 1Сергей
 
05.12.11
16:33
ШелСкрипт = СоздатьОбъект("WScript.Shell");
Локатор=СоздатьОбъект("wbemscripting.swbemlocator");
Сервис=Локатор.ConnectServer(Компьютер,"root\cimv2");
Выполнение=ШелСкрипт.Exec("rundll32.exe kernel32,Sleep");
Процесс=Сервис.Get("Win32_Process.Handle="+Выполнение.ProcessID);
ПроцессИД=Процесс.ParentProcessID;
Процесс.Terminate();
Процесс=Сервис.Get("Win32_Process.Handle="+ПроцессИД);
Если Найти(Процесс.CommandLine,"-Embedding")>0 Тогда
  //Это ОЛЕ

Иначе
 Сообщить("Нифига не ОЛЕ");
КонецЕсли;


но начиная с виндуз ХП
© Текущий вход как OLE?
10 vde69
 
05.12.11
16:34
на память не помню, но вроде можно параметры запуска получить и обработать
11 Vladal
 
05.12.11
16:34
(9) smaharbA, как всегда. жжёт.
12 DJ Anthon
 
05.12.11
16:36
(9) кста, я подобным образом хотел предложить, но подумал извращенцем обзовут
13 Mikeware
 
05.12.11
17:02
(3) в SQL - сделано :-)
14 Злопчинский
 
05.12.11
17:10
(8) а как период открываешь? робота запускаешь?
15 Ёпрст
 
05.12.11
17:12
(14) ?
Тупо задание агенту в скуле.
16 Злопчинский
 
05.12.11
18:16
(15) ну... в скуле это круто.. а как вот в дбфе..? в чем принципиальная невозможность..?
17 Ёпрст
 
05.12.11
18:31
(16) ну как бэ, опосля любого update\insert\delete табличек нужно делать переиндексацию их средствами самой 1с-ины, ибо фокс создаст немного "другой" индекс
18 Ёпрст
 
05.12.11
19:00
Чебур, чего ты всяким мусором бздню заполняешь ?
19 Ёпрст
 
05.12.11
19:00
(9) самое плохое, что это тоже обламывается
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший