Имя: Пароль:
1C
1C 7.7
v7: Проблема с OLE на Win2003 R2 x64 SP2. Где собака порылась?
0 mad hatter
 
04.09.11
20:35
в куске кода:

V7=СоздатьОбъект("V77S.Application");
   Подключение=V7.Initialize(V7.RMTrade,"/d"+СокрЛП(Константа.ПутьКБазеОле)+" /N"+СокрЛП(Константа.ПользовательПодключенияОле)+" /p"+СокрЛП(Константа.ПарольПодключенияОле),"NO_SPLASH_SHOW");
   
Если Подключение=0 Тогда
   V7=0;
   Возврат "";
КонецЕсли;
   
Нач=ТекущаяДата()-30;
Кон=ТекущаяДата();
   
Запрос=V7.СоздатьОбъект("Запрос");
   ТекстЗапроса="
   | ....

на строке "Запрос=V7.СоздатьОбъект("Запрос");" вылетает с ошибкой:
"Запрос=V7.СоздатьОбъект("Запрос");
{Глобальный модуль(15)}: Поле агрегатного объекта не обнаружено (СоздатьОбъект)"

не могу паять...
1 mad hatter
 
04.09.11
20:43
тьху, затупил.. это неверный кусок кода
естественно там вот так:

Запрос=V7.CreateObject("Запрос");

и ошибка соответственно выглядит так:

"Запрос=V7.CreateObject("Запрос");
{Глобальный модуль(15)}: Поле агрегатного объекта не обнаружено (CreateObject)"
2 Doomer
 
04.09.11
20:53
(1) А как объявлена переменная V7 не хотите показать?
3 mad hatter
 
04.09.11
21:01
(2) она явно не объявляется..
V7=СоздатьОбъект("V77S.Application"); - это её инициализация

..эта программка везде работает, в т.ч. и на серверах с похожим окружением.. а тут напрочь отказывается.. шайтан арба! ))))
4 vudo
 
04.09.11
21:24
Как устанавливал 1C на 64х? Ведь родной инсталятор не пашет...
Ответ: В реестре объекты не прописаны, а значит и методы!
5 Темный Эльф
 
04.09.11
21:29
(4)Объект-то у него как-то создался
6 vudo
 
04.09.11
21:33
(5) Ну а объект "Запрос" - нет! Потому и спросил как он ее (1с) ставил?
7 mad hatter
 
04.09.11
21:47
(4) при запуске 1С сама в реестр прописывается

программа "установлена" естественно копированием

на других компуперах, с точно такой же оп.системой (2003 х64), всио работает!
8 vudo
 
04.09.11
21:53
(7) Прикинь, а в этот раз не прописалось... Реестр проверь! И загрузи ветки реестра выгруженые из любой 32х, с установленной 1С "естейственным путем" , да хоть и XP...
9 skunk
 
04.09.11
21:55
(8)чушь ... был бы облом в другом месте
10 skunk
 
04.09.11
21:56
(0)у пользователя 1С ... которым подключаешься есть в правах возможность работы по оле?
11 vudo
 
04.09.11
21:57
(9) В каком? Мне например очень даже помогло на Server 2008(x64)! И уже 2-й год проблем никаких...
12 mad hatter
 
04.09.11
21:58
(10) щас гляну.. но он точно "администратор/администратор"
13 skunk
 
04.09.11
21:58
(11)V7=СоздатьОбъект("V77S.Application");
14 skunk
 
04.09.11
21:59
(12)администратор системы тут не о чем
15 andrewks
 
04.09.11
22:01
что именно возвращается в Подключение ?
16 vudo
 
04.09.11
22:03
(13) читай (1)
Поле агрегатного объекта не обнаружено (CreateObject)

Из-за чего еще может быть, кроме как в реестре не вся инфа или нету прав на чтение к ветке реестра?

Повторяю: было похожее решил как в (8)
17 NS
 
04.09.11
22:03
(16) Или из-за того что V7=0.
18 NS
 
04.09.11
22:04
А V7 может быть равно нулю, потому что либо есть процесс под этим пользователем, либо база требует монопольного входа (если база дбф)
19 NS
 
04.09.11
22:05
Хотя там возврат... Чудеса.
20 mad hatter
 
04.09.11
22:06
(10) спасибо!!! заработала)))..

в конфе прав на OLE нет.. по этому раньше всегда галочку "отключить контроль прав" ставили.. я совсем об этом забыл ))
21 mad hatter
 
04.09.11
22:07
(16) гражданин, Вы зря ветки реестра перетаскиваете!.. больше так не делайте..
22 vudo
 
04.09.11
22:07
(20) Опа! Совсем неожиданно! :)
23 vudo
 
04.09.11
22:08
(21) А почему, собственно? Ведь помогает.
24 mad hatter
 
04.09.11
22:10
(23) одно неверное движение и можно "попасть" )))
25 andrewks
 
04.09.11
22:11
(24) трус?
26 NS
 
04.09.11
22:11
(24)  Так можно ведь всегда обратно удалить.
27 vudo
 
04.09.11
22:11
(24)Победителей не судят!(с)
28 skunk
 
04.09.11
22:16
посмотри внематочно ...

V7=СоздатьОбъект("V77S.Application"); - проходит ... значит пользователь виндовс олешный объект видит и права на его использование есть

Подключение=V7.Initialize(V7.RMTrade,"/d"+СокрЛПЕсли ... Подключение=0 Тогда ...

это тоже проходит значит база 1С ... она незанята ... пользователю 1С существует ...

обламывает только тут: Запрос=V7.СоздатьОбъект("Запрос");
а это значит ... что у пользователя 1С нет прав на работу по оле именно с текущей базой 1С
29 skunk
 
04.09.11
22:17
(28) ... это для vudo
30 vudo
 
04.09.11
22:23
(29) Да ладно! Разобрался сам - МОЛОДЕЦ! Было у меня желание тебе помочь, пользуясь своим опытом, но не помог - проблема была в другом... Твоя база и твоя ответственность. Хренового и опасного я тебе точно не советовал. Так что... :)
31 vudo
 
04.09.11
22:24
(30)... это для  skunk
32 skunk
 
04.09.11
22:24
(30)я не топикастер
33 vudo
 
04.09.11
22:26
(32)Тьфу ты точно! Прости брат! Пошел я спать, а то мозги уже совсем засраны...