Автор Тема: Как заставить Consultant+ автообновляться и отсылать файл  (Прочитано 9074 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dinovasya

  • Постоялец
  • ***
  • Сообщений: 380
  • Рейтинг: -1
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Камские поляны
Как заставить Consultant+ автообновляться и отсылать последний созданный USR файл после обновления на email...

Нашел где-то - сохранил в блокноте.
Как заставить обновляться каждое утро в 2.00?
При этом в папке RECIEVE создается новый файлик- так вот его бы отправить на email...


Option Explicit
Dim objShell, objEmail
Dim strFrom, strTo, strServer, strUsername, strPassword, strFilename, strSubject, strMessage

strFrom = "consultant@kamaprom.ru"
strTo = "updates@gmail.com"
strServer = "gmail.com"
'strUsername = "my login here"
'strPassword = "my password here"
strFilename = "D:\Consultant\RECEIVE\CONS#1_000000.USR"
strSubject = "Отчёт об обновлении"
strMessage = "Это автоматический отчёт об обновлении. Пожалуйста, не отвечайте на это письмо."

' Generate a report
Set objShell = WScript.CreateObject("WScript.Shell")

objShell.CurrentDirectory = "D:\ConsPlus\"
objShell.Run("D:\ConsPlus\cons.exe /adm /usr /base* /yes")

Set objShell = Nothing

' Send it to email
Set objEmail = CreateObject("CDO.Message")

objEmail.From = strFrom
objEmail.To = strTo
objEmail.BodyPart.Charset = "windows-1251"
objEmail.Subject = strSubject
objEmail.TextBody = strMessage
objEmail.AddAttachment strFilename

'objEmail.Configuration.Fields.Item _
'   ("http://schemas.microsoft.com/c...") = 1
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/c...") = 2
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/c...") = strServer
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/c...") = 25
'objEmail.Configuration.Fields.Item _
'   ("http://schemas.microsoft.com/c...") = 1
'objEmail.Configuration.Fields.Item _
'   ("http://schemas.microsoft.com/c...")= strUsername
'objEmail.Configuration.Fields.Item _
'   ("http://schemas.microsoft.com/c...") = strPassword
objEmail.Configuration.Fields.Update

objEmail.Send

Set objEmail = Nothing





Оффлайн october4

  • Ветеран
  • *****
  • Сообщений: 1001
  • Рейтинг: 6
  • Пол: Мужской
  • Амурская мужская шовинистическая свинья
    • Jabber
    • Skype
    • Просмотр профиля
назначенное задание на батник в котором пишешь
а) задание на обновление конс+
б) отправку - blat.exe - отправка email из командной строки
Как жаль, что мне не суждено cтать частью этого большого мира.
Я — человек. На мне стоит клеймо: будильник, офис, пиво и квартира.

Оффлайн shs

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4401
  • Рейтинг: 89
    • Просмотр профиля
    • ShS's blog
  • Откуда: Default city
//////////////////////////////////////////////////////////////////////////// 
// JScript 20091019 shs
// Формирование и отпрака на e-mail отчета "Консультатн+"
//
///////////////////////////////////////////////////////////////////////////
strPath2RootCons = "E:\\Base\\Consultant"; //Абсолютный путь к корневой папке, в которую был установлен "Консультатн+" //"E:\\Base\\Consultant"

strPathFromRootCons = "RECEIVE"; //Относительный путь (относительно папки strPath2RootCons) к папке,
//в которой "Консультант+" создает файл cons*.*

strFileMask = "CONS"; //Регулярное выражение для поиска файла, подлежащего отправке по электронной почте

mailaddrTo =  "manager@mail.ru"; //e-mail, на который будем отправлять письмо


strFileName=GetFileName(strPath2RootCons+"\\"+strPathFromRootCons,strFileMask);
//if (strFileName=="") {
//если файл не существует, то его надо сосздать
//путем запуска CONS.EXE /adm /base*/usr
WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Run(strPath2RootCons+"\\cons.exe /adm /base* /usr /yes", 1, true);
//WshShell.Run("cmd", 1, true);
//WScript.Echo(strPath2RootCons+"\\cons.exe /adm /usr /base* /yes");
// }
//Снова проверяем наличие нужного нам файла (создался ли?)
strFileName=GetFileName(strPath2RootCons+"\\"+strPathFromRootCons,strFileMask);
if (strFileName!="") {
//Если файл найден, то отправляем его адресату
//WScript.Echo(strFileName)
objEmail = WScript.CreateObject("CDO.Message");
objEmail.From = "robot@rtauto.ru";
objEmail.To = mailaddrTo;
objEmail.Subject = "Consultant+";
objEmail.Textbody = "get your file";
objEmail.AddAttachment(strFileName);
//
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2;
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "your_smtp_server_name"
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25;
objEmail.Configuration.Fields.Update();
//
objEmail.Send();
}


//Функция, которая ищет в заданной папке файл, по первым буквам в имени файла, содержащимся в strFileMask
//Если таковой файл находится в заданной папке, то функция вернет его полное имя, иначе - пустую строку
//
function GetFileName(strPath2File, strFileSpec)
{
   var fso = new ActiveXObject("Scripting.FileSystemObject");
   var objFolder = fso.GetFolder(strPath2File);
   var colFiles = new Enumerator (objFolder.Files);
   var strFileName="";
   for(;!colFiles.atEnd();colFiles.moveNext()) {
    //WScript.Echo(fso.GetFileName(colFiles.item()).substr(0,strFileMask.length));
    if (fso.GetFileName(colFiles.item()).substr(0,strFileMask.length).toLowerCase()==strFileMask.toLowerCase()) {
    //WScript.Echo(colFiles.item());
    strFileName=colFiles.item();
    }
   }
   return(strFileName);
}


Оффлайн october4

  • Ветеран
  • *****
  • Сообщений: 1001
  • Рейтинг: 6
  • Пол: Мужской
  • Амурская мужская шовинистическая свинья
    • Jabber
    • Skype
    • Просмотр профиля
блин как сложно

разово ставим блат
blat.exe -install <адрес почтового сервера> <адрес отправителя>

батник в Sheduled Tasks

E:\Base\Consultant\cons.exe /adm /usr /base* /yes
c:\blat\blat.exe -to manager@mail.ru -subject consultantinstall -attach E:\Base\Consultant\RECEIVE\CONS#1_000000.USR
Как жаль, что мне не суждено cтать частью этого большого мира.
Я — человек. На мне стоит клеймо: будильник, офис, пиво и квартира.

Оффлайн dinovasya

  • Постоялец
  • ***
  • Сообщений: 380
  • Рейтинг: -1
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Камские поляны
Но имя файла каждый раз новое и оно генерируется из даты..
А так будет пытаться этот файл отсылать CONS#1_000000.USR  .

Так у тебя самый идеальный и понятнейший ответ. + в репу

Онлайн Morleys

  • Постоялец
  • ***
  • Сообщений: 375
  • Рейтинг: 12
  • Пол: Мужской
  • Мурр... Мяу!
    • morleys.ru
    • Просмотр профиля
  • Откуда: Питер!
Я, простите, поофтоплю, ибо скрипты и всякая автоматизация это молодёжно, задорно и весело, но!!

У меня у двух клиентов лицензионный Конс+, так в базовый пакет входит мальчик-раз-в-неделю в офисе потрепаться часок с бухами и юристками, показать/рассказать новые фичи. А если что-то не так с обновлениями, то они сами мне звонят в тот же день и по коду ошибки рекомендуют либо место освободить, либо шедулер проверить, либо ещё чего...

Может не стоит городить огород на базарной площади?!? ;)

Оффлайн DedMagarbI4

  • Ветеран
  • *****
  • Сообщений: 1921
  • Рейтинг: 12
  • Пол: Мужской
    • Просмотр профиля
Может не стоит городить огород на базарной площади?!?
ну я так понимаю ТС как раз из таких вот "мальчиков". просто ему лень по клиентам ездить вот он и решил автоматизировать процесс.  :trollface:

Оффлайн october4

  • Ветеран
  • *****
  • Сообщений: 1001
  • Рейтинг: 6
  • Пол: Мужской
  • Амурская мужская шовинистическая свинья
    • Jabber
    • Skype
    • Просмотр профиля
dinovasya, если есть система именования то можно использовать %date%
... E:\Base\Consultant\RECEIVE\%date%xxx.USR
Как жаль, что мне не суждено cтать частью этого большого мира.
Я — человек. На мне стоит клеймо: будильник, офис, пиво и квартира.

Оффлайн dinovasya

  • Постоялец
  • ***
  • Сообщений: 380
  • Рейтинг: -1
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Камские поляны
К нам тоже девочка приезжает каждую неделю, заходит ко мне- ставим обновления, забирает файл.. расписываемся..

У меня просто это полчаса занимает, в самое ненужное время. вот и решил у вас поспрашивать.

Спасибо. вот и готовое решение. Каждую неделю полчаса буду курить..  :beer:

Оффлайн dinovasya

  • Постоялец
  • ***
  • Сообщений: 380
  • Рейтинг: -1
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Камские поляны
файл консультант+ создает с таким названием CONS#1_423722.USR
Не пойму- не похоже на дату..

вот нашел ссылку на эту тему
http://shserg.ru/posts/cons-usr-generate-report-send-by-mail/

Оффлайн shs

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4401
  • Рейтинг: 89
    • Просмотр профиля
    • ShS's blog
  • Откуда: Default city
файл консультант+ создает с таким названием CONS#1_423722.USR
Не пойму- не похоже на дату..

вот нашел ссылку на эту тему
http://shserg.ru/posts/cons-usr-generate-report-send-by-mail/

ага, нашел тему в моем бложеке со скриптом, который я тебе уже в этой теме постил  :facepalm2:

Оффлайн dinovasya

  • Постоялец
  • ***
  • Сообщений: 380
  • Рейтинг: -1
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Камские поляны
всё равно не отсылает и не обновляет.. видимо надо статью на твоем бложеке обновить. Тестировал давно свое решение?

Онлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7128
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Я вот если честно не понимаю, что за огород, там же один раз включаешь обновления через интернет, настраиваешь и забываешь воообще...
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.

Оффлайн dinovasya

  • Постоялец
  • ***
  • Сообщений: 380
  • Рейтинг: -1
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Камские поляны
имеешь ввиду это:



Во-первых- не даю эти данные- логин и пароль..
Во-вторых, отчет с файлом на email не шлется так

Оффлайн dinovasya

  • Постоялец
  • ***
  • Сообщений: 380
  • Рейтинг: -1
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Камские поляны

D:\Consultant\RECEIVE\*.USR mpack.exe -s "RSU CONS.USR" -d body.txt -c application/exe -o body.msg "cons.zip" bmail.exe -s mail.example.com -t -f -h -m body.msg del cons.zip del body.msg
не обновляет