Your IP : 172.28.240.42


Current Path : /var/www/html/clients/wiki.e-nk.ru/data/cache/f/
Upload File :
Current File : /var/www/html/clients/wiki.e-nk.ru/data/cache/f/fcc61a1e6d975fdeadfb6a34d24e5935.i

a:46:{i:0;a:3:{i:0;s:14:"document_start";i:1;a:0:{}i:2;i:0;}i:1;a:3:{i:0;s:6:"header";i:1;a:3:{i:0;s:77:"Агент рассылки входящих заданий через Jabber";i:1;i:3;i:2;i:1;}i:2;i:1;}i:2;a:3:{i:0;s:12:"section_open";i:1;a:1:{i:0;i:3;}i:2;i:1;}i:3;a:3:{i:0;s:6:"p_open";i:1;a:0:{}i:2;i:1;}i:4;a:3:{i:0;s:11:"strong_open";i:1;a:0:{}i:2;i:87;}i:5;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:32:"Краткое описание:";}i:2;i:89;}i:6;a:3:{i:0;s:12:"strong_close";i:1;a:0:{}i:2;i:121;}i:7;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:1:" ";}i:2;i:123;}i:8;a:3:{i:0;s:9:"linebreak";i:1;a:0:{}i:2;i:124;}i:9;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:165:"
Скрипт для рассылки уведомлений о новых заданиях через систему мгновенных сообщений Jabber.";}i:2;i:126;}i:10;a:3:{i:0;s:7:"p_close";i:1;a:0:{}i:2;i:291;}i:11;a:3:{i:0;s:6:"p_open";i:1;a:0:{}i:2;i:291;}i:12;a:3:{i:0;s:11:"strong_open";i:1;a:0:{}i:2;i:294;}i:13;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:46:"Подготовительные работы:";}i:2;i:296;}i:14;a:3:{i:0;s:12:"strong_close";i:1;a:0:{}i:2;i:342;}i:15;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:1:" ";}i:2;i:344;}i:16;a:3:{i:0;s:9:"linebreak";i:1;a:0:{}i:2;i:345;}i:17;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:39:"
Скачать и установить";}i:2;i:347;}i:18;a:3:{i:0;s:4:"nest";i:1;a:1:{i:0;a:3:{i:0;a:3:{i:0;s:13:"footnote_open";i:1;a:0:{}i:2;i:386;}i:1;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:53:"На сервер запускающий скрипт";}i:2;i:388;}i:2;a:3:{i:0;s:14:"footnote_close";i:1;a:0:{}i:2;i:441;}}}i:2;i:386;}i:19;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:22:" jabber клиент: ";}i:2;i:443;}i:20;a:3:{i:0;s:12:"externallink";i:1;a:2:{i:0;s:29:"http://www.miranda-ng.org/ru/";i:1;N;}i:2;i:465;}i:21;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:1:" ";}i:2;i:494;}i:22;a:3:{i:0;s:9:"linebreak";i:1;a:0:{}i:2;i:495;}i:23;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:74:"
Скачать и установить plugin CmdLine для Miranda NG: ";}i:2;i:497;}i:24;a:3:{i:0;s:12:"externallink";i:1;a:2:{i:0;s:60:"http://wiki.miranda-ng.org/index.php?title=Plugin:CmdLine/ru";i:1;N;}i:2;i:571;}i:25;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:1:" ";}i:2;i:631;}i:26;a:3:{i:0;s:9:"linebreak";i:1;a:0:{}i:2;i:632;}i:27;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:92:"
Предварительно создать константу в системе Directum: ";}i:2;i:634;}i:28;a:3:{i:0;s:11:"strong_open";i:1;a:0:{}i:2;i:726;}i:29;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:10:"JabberTime";}i:2;i:728;}i:30;a:3:{i:0;s:12:"strong_close";i:1;a:0:{}i:2;i:738;}i:31;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:1:" ";}i:2;i:740;}i:32;a:3:{i:0;s:9:"linebreak";i:1;a:0:{}i:2;i:741;}i:33;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:43:"
В планировщике заданий";}i:2;i:743;}i:34;a:3:{i:0;s:4:"nest";i:1;a:1:{i:0;a:3:{i:0;a:3:{i:0;s:13:"footnote_open";i:1;a:0:{}i:2;i:786;}i:1;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:55:"На сервере запускающий скрипт";}i:2;i:788;}i:2;a:3:{i:0;s:14:"footnote_close";i:1;a:0:{}i:2;i:843;}}}i:2;i:786;}i:35;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:87:": Задать периодичность запуска данного скрипта.";}i:2;i:845;}i:36;a:3:{i:0;s:7:"p_close";i:1;a:0:{}i:2;i:932;}i:37;a:3:{i:0;s:6:"p_open";i:1;a:0:{}i:2;i:932;}i:38;a:3:{i:0;s:11:"strong_open";i:1;a:0:{}i:2;i:934;}i:39;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:13:"Скрипт:";}i:2;i:936;}i:40;a:3:{i:0;s:12:"strong_close";i:1;a:0:{}i:2;i:949;}i:41;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:0:"";}i:2;i:951;}i:42;a:3:{i:0;s:7:"p_close";i:1;a:0:{}i:2;i:957;}i:43;a:3:{i:0;s:4:"code";i:1;a:3:{i:0;s:5763:"
STATE_ACTIVE="Действующая"
// Установить время последнего выполнения сценария 
LastExecTime = Конст("JabberTime";;)
// Установить время последнего выполнения сценария 
CurrDate = Today()
CurrTime = Time()
ExecTime = Format('%s %s'; ArrayOf(CurrDate; CurrTime))
Конст("JabberTime"; ExecTime)
  
// Определить если время последнего выполнения не указано, значит выполняем первый раз.
// Поэтому ничего выполнять не будем, запомним только время выполнения.
// Отключить обработку исключений, чтобы можно было определить, что была ошибка при 
// выполнении и откатить времы выполнения
ExceptionsOff()
FreeException()
if LastExecTime <<>> ""
  // Создать список пользователей и их e-mail адресов
  UserList = CreateList()
  WrkRef = References.РАБ.GetComponent()
  UserReq = WrkRef.DataSet.Requisites("Пользователь")
  ContactReq = WrkRef.DataSet.Requisites("Реквизит")
  Table = WrkRef.DataSet.SQLTableName

  // Определить работников, для которых заведен пользователь в системе 
  WrkRef.AddWhere(Format('%s.%s is not null'; ArrayOf(Table; UserReq.SQLFieldName)))
  WrkRef.Open
  WrkRef.First
  foreach Wrk in WrkRef
    // Пройтись по всем найденным пользователям 
    ContactCode = Wrk.Реквизит
    UserCode = Wrk.Пользователь
    Performers = References.КНТ.GetObjectByCode(ContactCode)
    // Добавить адреса только из действующих записей
    if Performers.Состояние == STATE_ACTIVE 
      PerformerAddress = Performers.Строка2
      UserList.Add(UserCode; PerformerAddress)
    endif
  endforeach      
  // Задать параметры для создания ISB файла 
  SysCode = Application.Connection.SystemInfo.Code
  UserName = Application.Connection.UserName  
  TempFolder = GetTempFolder()
  // Для всех пользователей в списке найти их новые задания и разослать по указанным JID
  iUser = 0                   
  while iUser < UserList.Count
    // Определить пользователя
    User = ServiceFactory.GetUserByCode(UserList.Names(iUser))
    UserCode = UserList.Names(iUser)
    UserNameJID = User.Name 
    // Определить Jabber
    //JID = UserList.Values(iUser)
    JID = UserNameJID&"@jabber.prettl.su"
    if JID <<>> ""
      // Достать все задания, стартованные с момента последнего выполнения сценария
      Search = Searches.CreateNew(ckJob)
      Criteria = Search.SearchCriteria
      CriterionPerformer = Criteria.Add('Performer')
      CriterionPerformer.Add(User.Code)
      
      CriterionDate = Criteria.Add('StartDate')
      CriterionDate.AddSingleValue(LastExecTime; vtGreaterOrEqual)
      CriterionDate.AddRange(LastExecTime; ExecTime)
      SearchResult = Searches.Execute(Search)
      // Пройтись по найденым заданиям
      SearchResult.Reset
      while not SearchResult.Eof
        JobInfo = SearchResult.Value
        Performer = JobInfo.Performer
        Author = JobInfo.Author.FullName
        Subject = JobInfo.Name
        JobKind = JobInfo.JobKind
        JobState = JobInfo.State.Value
        JobFinalDate = JobInfo.DeadLine
        JobID = JobInfo.ID
        TaskID = JobInfo.TaskID
        Task = Tasks.GetObjectByID(TaskID)
        // Снять блокировку с задачи
        if Task.GlobalLock.LockedByThis 
          Task.GlobalLock.UnlockObject
        endif
        File = Format('%s%s.isb'; ArrayOf(TempFolder; JobID))
        if (not JobInfo.IsRead) and (JobState <> wsAborted) and (((JobState <> wsDone) 
            and ((JobKind = jkJob) or (JobKind = jkControlJob))) or (JobKind = jkNotice))
          if JobKind = jkNotice
            JobKind = 'Уведомление от'  
            x=CreateHyperlink(JobID;"Уведомление")
          else
            if JobKind = jkControlJob
              JobKind = 'Задание-контроль от'
              x=CreateHyperlink(JobID;"Задание-контроль")
            else
              JobKind = 'Задание от'
              x=CreateHyperlink(JobID;"Задание")
            endif
          endif
          Params = ArrayOf(JobKind; Author; Subject; Trim(JobInfo.State.Name))
          Tema = Format("%s %s. %s. %s"; Params)
          // Достать текст по текущей задаче
          Text = Task.GetFullText(true)
          // Создать файл-ссылку на задание
          FileName = JobID
   
          str="C:\Program Files\Miranda NG\MimCmd.exe message "
          
          //delete--
          //JID="warpinterdictor@jabber.prettl.su"
          //delete--
          
          cmd_line=str&JID&' '&'"'&Tema&' Ссылка: '&x&'"'
          ExecuteProcess(cmd_line)
          ФайлУдалить(File)
        endif
        SearchResult.Next      
      endwhile
      
      // Удалить ссылки на созданные объекты 
      SearchResult = NIL
      CriterionPerformer = NIL
      CriterionDate = NIL
      Criteria = NIL
      Search = NIL
    endif
    // Увеличить счетчик 
    iUser = iUser + 1
  endwhile
  
  ExceptionsOn()    
endif
";i:1;N;i:2;N;}i:2;i:957;}i:44;a:3:{i:0;s:13:"section_close";i:1;a:0:{}i:2;i:6728;}i:45;a:3:{i:0;s:12:"document_end";i:1;a:0:{}i:2;i:6728;}}