Имя: Пароль:
1C
1С v8
COMObject в УТ11 клиент сервер.
0 sergeystav
 
13.06.13
18:55
Делаю загрузку  в УТ11 клиент-сервер из 1С77.
Есть функция, в которой возникает проблема,
когда она серверная, то в конструкции:
Открыта = v7.Initialize(v7.RMTrade, "/DF:\Data\77\ /N41 /P", "");
Возникает либо ошибка "Внутренняя ошибка 1С:Предприятия", либо ошибка не появляется,
но база при этом все равно не открывается.
Когда функция на клиенте, то все работает без вопросов. Если базу выгрузить в файловую тоже все работает.
Но мне нужно получить соединение именно на сервере.
Что я делаю не так?

//&НаСервере
&НаКлиенте
Функция Подключить_V7()
       
   Попытка
       v7 = Новый COMObject("V77s.Application");
   Исключение
       ТекстСообщения = Нстр("ru = 'Не удалось произвести подключение к информационной базе. "+ОписаниеОшибки()+"'");
       ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
       Возврат Ложь;
   КонецПопытки;
       
   Открыта = v7.Initialize(v7.RMTrade, "/DF:\Data\77\ /N41 /P", "");
   
   Если НЕ Открыта Тогда
       ТекстСообщения = Нстр("ru = 'Не удалось произвести подключение к информационной базе'");
       ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
       Возврат Ложь;
   КонецЕсли;
   
   Возврат Истина;
КонецФункции

Платформа 8.2.18.102, пробовал 8.2.17.
1 Ковычки
 
13.06.13
19:22
F:\Data\77\ так понимаю сеть ?
2 sergeystav
 
13.06.13
19:27
F:\ это локальный диск
3 Ковычки
 
13.06.13
19:28
тогда запустите 77 от пользователя сервера интерактивно
4 Ковычки
 
13.06.13
19:29
так понимаю у усера 41 нет пароля ?
5 sergeystav
 
13.06.13
19:31
(4) нет
6 Ковычки
 
13.06.13
19:35
запустите интерактивно под пользователем сервера
7 sergeystav
 
13.06.13
19:42
Пробовал, перебрасывал базу на другой диск, давал пароль пользователю семерки, без изменений
Сейчас на строке инициализации функция виснет, пока в диспетчере задач не скинешь процесс 1С77.
8 Ковычки
 
13.06.13
19:43
(7) т.е. интерактивно то же не запускается ?
9 sergeystav
 
13.06.13
19:43
Запускается
10 Ковычки
 
13.06.13
19:44
и список баз есть ?
интерактивно имелось ввиду под пользователем системы под которым запускается служба сервера 1с
11 sergeystav
 
13.06.13
19:45
Семерка НЕ запускается лишь в том случае, когда функция запускается с директивой &НаСервере и только в клиент-серверном варианте
12 sergeystav
 
13.06.13
19:47
Если функция вызывается &НаКлиенте, то все нормуль
13 Ковычки
 
13.06.13
19:47
(11) еще раз переспрошу, может не поняли друг друга

интерактивно под системным пользователем от которого запускается служба 1с8 база 77 нормально запускается ?
14 AlexNew
 
13.06.13
19:47
Com чисто win, где написано, что сервер com обрабатывает?
15 sergeystav
 
13.06.13
19:54
(13) мож и не поняли.
Сейчас я в системе под пользователем "sergey", сервер 1С запущен от "sergey", запускаю 1С77 интерактивно - запускается. Это имелось ввиду?
16 Ковычки
 
13.06.13
19:54
(15) да
17 Ковычки
 
13.06.13
19:55
и оле так понимаю то же отрабатывает в клиенте sergey ?
18 sergeystav
 
13.06.13
19:57
так точно
Если функция вызывается с директивой &НаКлиенте, то все нормуль
19 Ковычки
 
13.06.13
20:05
попытаться модифицировать строку как то так ?

"/DF:\Data\77\ /N41 /P"""" /tf:\temp\ /uf:\temp\"

создав доступный для sergey каталог f:\temp
20 Ковычки
 
13.06.13
20:05
Еще вопрос
"Если базу выгрузить в файловую тоже все работает" - что означает ?
21 sergeystav
 
13.06.13
20:06
А если я получу объект 1С77 на клиенте, то передать его на сервер тоже надежды нет...
22 Ковычки
 
13.06.13
20:09
(21) не знаю, ни разу еще не рабатывал с сервером 1с
пока только 77 и 8 в файловом, пока не перевел на серверный, потому и нет таких задачь как в сабже
23 sergeystav
 
13.06.13
20:09
(20)Если в файловой базе функция вызывается с директивой &НаСервере , то 1С77 инициализируется, а если тоже самое в клиент-серверной, то на строке
Открыта = v7.Initialize(v7.RMTrade, "/DF:\Data\77\ /N41 /P", "");
1С8 впадает в ступор.
24 sergeystav
 
14.06.13
09:55
ап
25 Жан Пердежон
 
14.06.13
10:19
(24) сервер где находится?
26 sergeystav
 
14.06.13
11:53
(25)Сервер на этой же машине где 1С8 и 1С77
27 hhhh
 
14.06.13
12:23
(26) ну так база у вас запустилась походу. Просто вы это не видите на мониторе, но это ведь вам и не надо.
28 sergeystav
 
14.06.13
12:51
на строке
Открыта = v7.Initialize(v7.RMTrade, "/DF:\Data\77\ /N41 /P", "");
может происходить следующее ():
1.либо "Внутренняя ошибка 1С:Предприятия",
2.либо зависает, пока в диспетчере не закроешь процесс 1с77 который запускается при v7 = Новый COMObject("V77s.Application");
3.либо без ошибки, но при этом Открыта = v7.Initialize(v7.RMTrade, "/DF:\Data\77\ /N41 /P", ""); возвращает Ложь