Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Есть такая WSH

Здравствуйте, comp.

Есть интепретатор программа 1С:Предприятие :)

Например такой VBS макрос запускает 1С

Dim v7
Set v7 = CreateObject("V77.Application")
Запускаем
result = v7.Initialize(v7.RMTrade, "/DE:\anton1C\_MDDorab\ДОРАБ\Погорелов /UC:\Temp
/NАдминов", "")
И вызываем глобальную функцию
result = v7.EvalExpr("ОЛЕ()")

Вопрос как подключится к уже запущенному процессу? Один товарищ послал
на такое слово как DCOM ... Роюсь, только жаль времени не хватает.

Заранее спасибо.

Ответить   Антон Горячун Thu, 24 Feb 2005 10:39:06 +0200 (#322102)

 

Ответы:

Вы писали

На вскидку сказать не берусь, но может быть сначала для этого нужно получить
объект активного приложения 1С, это должно делаться при помощи метода GetObject("V77.Application").
Дальше все по тому же шаблону. Если что не так, сильно не бейте ;)

И жизнь его как современная песня - короткая, и содержание хреновое.

Номер выпуска : 4061
Возраст листа : 523 (дней)
Количество подписчиков : 529
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/322876
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Fri, 25 Feb 2005 03:15:16 +0300 (#322876)

 

Здравствуйте, gena.

Вы писали 25 февраля 2005 г., 2:15:16:

Есть такая функция :).

Пробую так не работает ...

//Код
On Error Resume Next
strComputer = "Anton"
strProcsToKill = "1cv7s.exe"
Set wbemObjectSet = _
GetObject("winmgmts://" & strComputer)'.InstancesOf("Win32_Process")
For Each Proc In wbemObjectSet.ExecQuery("SELECT * FROM Win32_Process WHERE Name
= '1cv7s.exe'")
WScript.Echo Proc.ProcessID & ": " & Proc.Name
Proc.ExternalEvent("МояПроцедура()")
Next

//Ошибка, если заремить первую строчку ... "Объект не поддерживает данное свойство
или метод ..."

Не работает ... Умом понимаю, что делаю не правильно ... А сказать не
могу :(((

Посоветовали поставить NCron, сказали в нем есть крутая фича именно
для этого дела.

Ответить   Антон Горячун Mon, 28 Feb 2005 10:16:15 +0200 (#325374)

 

Name

Чтобы найти в чем ошибка, разбей операторы по одному строку. Тогда проще узнать
какой объект и какое свойство или метод не поддерживает. а ты впихал Set wbemObjectSet
= _

И почему ты в GetObject передаешь "winmgmts://" & strComputer, а не 1С77.Application?
Про NCron ничего не знаю :(

Номер выпуска : 4087
Возраст листа : 528 (дней)
Количество подписчиков : 527
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/325513
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Wed, 02 Mar 2005 02:40:44 +0300 (#325513)

 

Здравствуйте, gena.

Вы писали 2 марта 2005 г., 1:40:44:

свойство

узнать

wbemObjectSet

Proc.ExternalEvent("МояПроцедура()") а именно на ".ExternalEvent("МояПроцедура()")"
Пробовал также через ".Eval()" и ".EvalExp()" - болт ...

То есть умом я понимаю что только получил доступ к процессу
"Win32_Process", но скажем так я "не заполз" в него.

Скажем так если работать с OLE скрипт выглядит где то так:
Set v = CreateObject("V77s.Application")
start = v.Initialize (v.RMTrade,"/D\\ForWork\Base_v7_files\ /NПавел /P","NO_SPLASH_SHOW")
Result = v.EvalExpr("МояГлобальнаяПроцедура()")
Или
BoolResult = v.ExecuteBatch("ПроцедураРегл1();ПроцедураРегл2()")

Потому что я не знаю, запущен ли 1С на компе или нет ...

Смысл задачи состоит в чем пройтись по РС домена, дать по рукам юзерам
не закрывшим 1С ... Задача решена в большей части средствами самой 1С,
но есть желание лучше изучить WSH и по этому пытаюсь решить эту
проблему таким способом.

nnCron - планировщик под винду, со своим внутренним языком
программирования, в нем есть возможность записать макрос, как в Ёхеле
только под Вынь :), синтаксис похож на VBS :)

Ответить   Антон Горячун Wed, 2 Mar 2005 10:26:24 +0200 (#326040)

 

Вы писали

когда пользуешь GetObject он возвращает либо дескриптор запущенного приложения,
либо выдает ошибку, по обработке которой можно выйти из процедуры или выполнить
другие нужные действия. не понимаю зачем в процессы лезть (без обид)

спасибо за инфу. если можно дай ссылку на архив. заранее спасибо

С уважением,
gena

Номер выпуска : 4099
Возраст листа : 529 (дней)
Количество подписчиков : 525
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/326219
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Thu, 03 Mar 2005 02:23:17 +0300 (#326219)

 

Здравствуйте, gena.

Вы писали 3 марта 2005 г., 1:23:17:

Какие обиды, если я чайник в этом (в свое время увлекся билиардом, еще
в институте, так меня учил один человек, так вот я многое узнал о своих
руках, глазах и т.д., но сейчас партия с кия не проблема :) ) ... Просто не знаю
как получить
доступ к процессу в доке нашел такой путь. К сожалению по доке (MSDN)
такой возможности нет :(, но один человек посоветал поработать и
поизучать такие веши как СОМ и DCOM ... Сейчас роюсь в бумаге :)

Есть дома могу принести и переслать если надо.

Ответить   Антон Горячун Thu, 3 Mar 2005 10:01:53 +0200 (#326773)

 

Вы писали

Буду благодарен безмерно.

Ты мне все таки скажи, с GetObject("1C77.Application")не получается?

С уважением Gena.

Уж полночь близится, а близости все нет...

Номер выпуска : 4108
Возраст листа : 530 (дней)
Количество подписчиков : 523
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/327024
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Fri, 04 Mar 2005 02:07:36 +0300 (#327024)

 

Привет Антон,

Thursday, February 24, 2005, 11:39:06 AM, вы писали:

/UC:\Temp/NАдминов", "")

Могу посоветовать написать внешнюю компоненту.
В ней-то и можно получить указатель на текущую (вызвавшею её) 1С.
Сам писал - инфы достаточно, но заморочек полно. Если надо информация пиши на
e-mail

Афоризм напоследок: Столько дел, что и работой занятся некогда...
Winamp глаголит: Scorpions - Always Somewhere
27 февраля 2005 г. 12:01:23

Просто студент
Eugene mailto:rav***@o*****.ru

Номер выпуска : 4066
Возраст листа : 525 (дней)
Количество подписчиков : 529
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/323608
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Sun, 27 Feb 2005 12:05:07 +0300 (#323608)