Имя: Пароль:
1C
1С v8
Ошибка работы с данными при подключение к 77 из 8.2.15 сервер
0 alexei366
 
07.04.12
23:50
есть сервер на MSSQL2008 R2, стоит там 8.2.15 , есть идентичные базы 77 по конфе. При выполнении обработки из 8 : она подключается к 1 базе (выполняет запрос и тд), затем в цикле ко второй базе,но там возникают 2 процесса 1с77, один из них жрет 25 процентов проца, и на этом всё встает, ни каких ошибок не видно. Если из цикла удалить первую базу то вылетает ошибка - Произошла исключительная ситуация (1С:Предприятие): Неудачная попытка создания объекта (Запрос): 0 . Служба сервера запущена под пользователем со всеми необходимыми правами, запускал её из под себя - не помогает. Если же создать файловую версию конфы 8.2.15 на этом же компе и запустить обработку (получается всё выполняется на клиенте, но из под того же пользователя и использует такие же ресурсы компа как еслиб запустили обработку на сервере), то все работает как часы т.е подключается к первой затем ко второй выполняя там запросы и выдает итог. Я замучился, не пойму что не так, обработка должна запускаться из реглам задания. 1с77 файловая, серверная машина 2008 R2 64 бит, 8.2.15 32 битная стоит и сервер 1с тоже 32 бита, SQLSERVER 64 битный.
1 aspirator23
 
08.04.12
11:06
Подключение к разным базам нужно делать разными объектами.
После отключения от базы - объект удалять.
2 alexei366
 
08.04.12
12:49
Я подключаюсь при помощи База1с77 = Новый COMОбъект("V1CEnterprise.Application"), естественно в цикле я везде навтыкал где только мог База1с77 = Неопределено. Смысл то в том что при выполнении процедуры на клиенте все хорошо , а если процедура выполняется на сервере то всё зависает на второй базе хотя тотже комп и тотже юзер
3 aspirator23
 
08.04.12
18:00
(2) Уверен что серверу удается подключиться к 77?
Попробуй чтобы сервер без цикла, просто подключился хотя бы к одной 77, выполнил задачу и отключился.
4 alexei366
 
08.04.12
21:25
Пробывал, убирал из цикла первую, и всё равно вторая выдаёт ошибку Произошла исключительная ситуация (1С:Предприятие): Неудачная попытка создания объекта (Запрос): 0. А вот если сначало по первой цикл пройдётся, тогда на второй возникает два процесса , первый 0% жрёт , а второй 25% проца и зависает на этом выполнение обработки, но когда вырубаю 0% процесс то вроде отглючивает и возращается снова этаже ошибка. Но блин почему тоже самое на клиенте работает без проблем. А объект запрос в 77 тоже как процесс отображается?
5 alexei366
 
08.04.12
22:25
и вообще нужно ли както закрывать объекты 77, или = Неопределенно достаточно
6 alexei366
 
08.04.12
22:28
а насчет подключения то да, навтыкал Сообщить("1") в разных местах, инициализацию проходит последние сообщение перед созданием объекта запрос - но это только относительно второй базы 1с77
7 hhhh
 
08.04.12
23:09
(6) ну удалите эти Сообщить("1") . Ведь и ежу понятно, пока эти сообщить висят в памяти, объект 77 не закроется у вас. Хоть вы сто раз пишите Неопределено.
8 alexei366
 
09.04.12
01:15
hhhh подскажи тогда ежу, почему на клиенте все гуд а на сервере нет
9 IamAlexy
 
09.04.12
01:19
во
пользуясь случаем уточню:

у меня в 8.2 по идее должно регламентное задание цеплятся к 7ке и дергать оттуда данные.
но при попытке покключения получаю ошибку "класс не зарегистрирован"
причем локально - работает - видимо проблемы у пользователя под которым сервис 1С сервера работает...

как поправить?
10 alexei366
 
09.04.12
02:06
у тя локально с какого компа работает
11 alexei366
 
09.04.12
03:10
короче некорректно 1с77 установил, в реестре пользователя нифига нету, или нет того чего нужно. Типо чтото того гдето в нете раздобыл (также на 64 сервак ставил)

&НаКлиенте
Процедура ЗаписьВРеестр1с7К(Команда)
   Вып = 0;
   Программа = ПутьДоБазы;
   КаталогПрограммы = Логин;
   Файл = Новый Файл(Программа);
   Если Файл.Существует() Тогда
       Сообщить("Прог");
       Вып = 1;
   КонецЕсли;
   Файл = Новый Файл(КаталогПрограммы);
   Если Файл.Существует() Тогда
       Сообщить("Прог");
       Вып = 1;
   КонецЕсли;

   Если Вып = 1 Тогда
   
   Программа=СтрЗаменить(Программа,"\","\\");
   КаталогПрограммыСтр=СтрЗаменить(КаталогПрограммы,"\","\\");
   
   
   Стр="REGEDIT4
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}]
   |@=""V1CEnterprise.Application""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\InprocHandler32]
   |@=""ole32.dll""
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\LocalServer32]
   |
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\ProgID]
   |@=""V1CEnterprise.Application""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}]
   |@=""V77.AccountOperPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\ProgID]
   |@=""V77.AccountOperPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}]
   |@=""V77.AccountPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\ProgID]
   |@=""V77.AccountPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}]
   |@=""V77.AccountRangePropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\ProgID]
   |@=""V77.AccountRangePropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}]
   |@=""V77.AdminPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\ProgID]
   |@=""V77.AdminPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}]
   |@=""V77.Application""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\ProgID]
   |@=""V77.Application""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}]
   |@=""V77.BasicPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\ProgID]
   |@=""V77.BasicPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}]
   |@=""V77.GeneralPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\ProgID]
   |@=""V77.GeneralPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}]
   |@=""V77.InterfacePropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\ProgID]
   |@=""V77.InterfacePropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}]
   |@=""V77.ModulePropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\ProgID]
   |@=""V77.ModulePropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}]
   |@=""V77.SalaryPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\ProgID]
   |@=""V77.SalaryPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}]
   |@=""V77.SrcTemplatePropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\ProgID]
   |@=""V77.SrcTemplatePropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}]
   |@=""V77.TextPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\ProgID]
   |@=""V77.TextPropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}]
   |@=""V77.TradePropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\HelpDir]
   |@="""+КаталогПрограммыСтр+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\ProgID]
   |@=""V77.TradePropPage""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}]
   |@=""V77S.Application""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\InprocHandler32]
   |@=""ole32.dll""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\LocalServer32]
   |@="""+Программа+"""
   |
   |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\ProgID]
   |@=""V77S.Application""
   |";
   ФайлРег=КаталогВременныхФайлов()+"v7.application+.reg";
   Текст=Новый ТекстовыйДокумент;
   Текст.ДобавитьСтроку(Стр);
   Текст.Записать(ФайлРег);
   Возв=0;
   Попытка
       Шел=Новый COMОбъект("WScript.Shell");
       СпКлючей=Новый СписокЗначений;
       Ветка="";
       Для к=1 По Текст.КоличествоСтрок() Цикл
           Стр=Текст.ПолучитьСтроку(к);
           Стр=СтрЗаменить(Стр,"\\","\");
           Если Найти(Стр,"HKEY_CURRENT_USER")>0 Тогда
               Ветка=Стр+"\";
               Ветка=СтрЗаменить(Ветка,"[","");
               Ветка=СтрЗаменить(Ветка,"]","");
           ИначеЕсли (Найти(Стр,"=")>0) и (Найти(Ветка,"HKEY_CURRENT_USER")>0) Тогда
               Стр=СтрЗаменить(Стр,"=","" "");
               Стр=СтрЗаменить(Стр,"@","");
               Стр=СтрЗаменить(Стр,"""","");
               СпКлючей.Добавить(СтрПолучитьСтроку(Стр,2),СтрЗаменить(Ветка,"HKEY_CURRENT_USER","HKCU")+СтрПолучитьСтроку(Стр,1));
           КонецЕсли;
       КонецЦикла;
       Для к=1 По СпКлючей.Количество() Цикл
           Ключ="";
           Значение=СпКлючей.Получить(к,Ключ);
           Шел.RegWrite(Ключ,Значение);
       КонецЦикла;
       Возв=1;
   Исключение
   КонецПопытки;
   Если Возв=0 Тогда
       Попытка
           Шел.Run("cmd /c start """" /wait regedit /s """+ФайлРег+"""",0,-1);
       Исключение
           КомандаСистемы("cmd /c start """" /min /wait regedit /s """+ФайлРег+"""");
       КонецПопытки;
   КонецЕсли;
   Попытка
       БазаОЛЕ=Новый COMОбъект("v77.application");
       БазаОЛЕ="";
    //   Если Сообщ=1 Тогда
           Сообщить("Удачно зарегистрирован объект v77.application: "+СтрЗаменить(Программа,"\\","\"),"i");
           Сообщить("Файл регистрации: "+ФайлРег,"i");
   //    КонецЕсли;
       Возв=1;
   Исключение
       Сообщить(ОписаниеОшибки());
       Возв=0;
   КонецПопытки;
   Сообщить(Возв);

   КонецЕсли;    
КонецПроцедуры
12 alexei366
 
09.04.12
09:25
Так народ тема не закрыта это я  IamAlexy отвечал