Имя: Пароль:
1C
 
OLE на конкретной тачке
0 Эльниньо
 
23.10.10
12:03
Хитромудрые админы пообрубали всё по самое нехочу.
Оля в терминале пашет. На моей локальной - фигвам.
Какую службу надо включить?
1 ДенисЧ
 
23.10.10
12:03
бейцы админам...
2 zak555
 
23.10.10
12:04
почему админ не обрубил 77 ?
3 Эльниньо
 
23.10.10
12:05
(1) Они пожимают плечами. Не первый раз уже - три придурка не могут решить элементарный вопрос. Приходится бросать всё, разбиратся самому и рассказывать им как надо сделать.
4 ДенисЧ
 
23.10.10
12:06
(3) увольнять. Чтобы не обрубали ничего.

А вот "фигавам" - это очень подробное описание ошибки...
5 smaharbA
 
23.10.10
12:10
(0) Марат могу научить регистрировать адинес под усером и только для него
6 Эльниньо
 
23.10.10
12:10
(4) Валится на:
v7 = CreateObject("V77.Application");
7 ДенисЧ
 
23.10.10
12:10
(6) Зайди под админом системы.
Кстати, "валится" - не менее информативное описание ошибки
8 smaharbA
 
23.10.10
12:11
(6) не может создать объект ?
9 ДенисЧ
 
23.10.10
12:11
(8) нет, "валится"...
10 smaharbA
 
23.10.10
12:11
- Доктор почему меня не замечают ?
11 Эльниньо
 
23.10.10
12:12
(5) Давай до кучи.
Знакомый админ с утра сделал подарок - куча вкусняшек типа *.msc
Руки чешутся опробовать, но придётся ждать до понедельника
12 smaharbA
 
23.10.10
12:14
(11)

ОткрытьФорму("Обработка.__Пользовательский_V77OLE");


и все ))
13 Эльниньо
 
23.10.10
12:15
(7) Точно не помню. Что-то типа "Неудачная попытка создания объекта.

Ещё одну бяку словил.
ТИИ выдало 90000 проводок с неверным временем. После ТИИ поплыли все итоги.
Я так понимаю - программа и просто не видела.
14 smaharbA
 
23.10.10
12:16
крайне тупенько пишем в усерский реестр

//*******************************************
Функция Регистрировать(Знач Программа="",Сообщ=0)
   Если ПустоеЗначение(Программа)=1 Тогда
       Попытка
           Шел=СоздатьОбъект("Shell.Explorer");
           Программа=Шел.fullname();
       Исключение
           Стр=КаталогПрограммы()+"1cv7s.exe
           |"+КаталогПрограммы()+"1cv7.exe";
           Для к=1 По СтрКоличествоСтрок(Стр) Цикл
               Если ФС.СуществуетФайл(СтрПолучитьСтроку(Стр,к))=1 Тогда
                   Программа=СтрПолучитьСтроку(Стр,к);
                   к=0;
                   Прервать;
               КонецЕсли;
           КонецЦикла;
           Если к>0 Тогда
               Сообщить("Не найдена "+Программа,"!");
               Возврат 0;
           КонецЕсли;
       КонецПопытки;
   ИначеЕсли ФС.СуществуетФайл(Программа)=0 Тогда
       Сообщить("Не найдена "+Программа,"!");
       Возврат 0;
   КонецЕсли;
   Программа=СтрЗаменить(Программа,"\","\\");
   КаталогПрограммыСтр=СтрЗаменить(КаталогПрограммы(),"\","\\");
   
   
   Стр="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;
   Попытка
       Шел=СоздатьОбъект("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 """+ФайлРег+"""");
       КонецПопытки;
   КонецЕсли;
   Попытка
       БазаОЛЕ=СоздатьОбъект("v77.application");
       БазаОЛЕ="";
       Если Сообщ=1 Тогда
           Сообщить("Удачно зарегистрирован объект v77.application: "+СтрЗаменить(Программа,"\\","\"),"i");
           Сообщить("Файл регистрации: "+ФайлРег,"i");
       КонецЕсли;
       Возв=1;
   Исключение
       Сообщить(ОписаниеОшибки());
       Возв=0;
   КонецПопытки;
   Возврат Возв;
КонецФункции
15 Эльниньо
 
23.10.10
12:17
+(13) и = их
16 smaharbA
 
23.10.10
12:17
какой чутак сделал ники посредине поста - глазавырвать
17 Эльниньо
 
23.10.10
12:21
(14) Спасибо! Сохранил с именем - Ишшо адна фишка Смахарба.ert
18 Эльниньо
 
23.10.10
12:24
+(13) Вопрос:
В TIME пишется _IdToStr(Часы*Минуты*Секунды*1000) с начала суток?
19 Эльниньо
 
23.10.10
12:45
+(18) Млин - запутался
_IdToStr(((Часы*3600)+(Минуты*60)+Секунды)*1000)
20 Torquader
 
23.10.10
14:53
Ещё, быть может, надо службу "Запуск серверных процессов DCOM" включить - я, например, иногда люблю её выключать - тогда никакое OLE вообще корректно не работает - зато вирусов меньше.
21 Эльниньо
 
23.10.10
17:19
Спасибо. Проверю.
22 Mikeware
 
23.10.10
18:11
(19) в дбф - насколько помню время отдельно, символьное, чар(6) - следовательно, _IdToStr((Ч*3600+М*60+С)*10000)
23 Эльниньо
 
23.10.10
18:54
(22) Макс.значение = _IdToStr(((23*3600)+(59*60)+59)*1000) = 1FFTW8

У меня в базе есть значения больше "E00000"!
Это где-то время равное 240 часов, сколько то минут и секунд.

Ппц!
24 Torquader
 
23.10.10
19:33
Там 10000 а не 1000!
25 Эльниньо
 
23.10.10
19:59
(24) Точно?
26 Torquader
 
23.10.10
20:12
Специально для тебя проверил.
   d=CreateObject("Document.ПеремещениеТМЦ");
   d.New();
   d.Write();
   d.SetTime(23,0,0);
   d.Write();
смотрим 1SJOURN.DBF:
TIME=DOYWW0
Расшифровываем:
   t=_StrToId("DOYWW0");
   h=Int(t/10000);
   s=h%60;
   h=Int(h/60);
   m=h%60;
   h=Int(h/60);
   DoMessageBox("t="+String(t)+" h="+String(h)+" m="+String(m)+" s="+String(s));

Получаем:
t=828000000 h=23 m=0 s=0
27 Эльниньо
 
23.10.10
20:41
(26) Проверил. Ты прав.

Ч = 23;
М = 0;
С = 0;
Док.УстановитьВремя(Ч, М, С);
Док.Записать();
Сообщить(_IdToStr(23*3600*10000));
DOYWW0

В 1SJOURN - DOYWW0