Объявление

Свернуть
Пока нет объявлений.

OldRequest

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • OldRequest

    Добрый день!

    Может быть кто-нибудь встречался с этой задачей - необходимо в письме выгрузить последние добавленные примечания.
    Реализация преполагалась следующая (скрипт в теле письма):

    Код:
    <%%
    Dim OldSecs, NewSecs
    Dim sec
    Dim NL
    Dim btw, I
    Set NewSecs = ActiveRequest.UserFields("Answers").TValue
    Set OldSecs = OldRequest.UserFields("Answers").TValue
    
    NL = Chr(13) + Chr(10)
    btw = NewSecs.Count - OldSecs.Count
    
    If btw = 1 then 
    	Set sec = NewSecs(NewSecs.Count-1)
    	Output sec.Date &" "& sec.User.Name & NL & NewSecs(NewSecs.Count-1).Text & NL
    ElseIf btw = 0 then Output "Примечаний нет."
    Else 
    	for I = 1 to btw 
    	     Set sec = NewSecs(NewSecs.Count-I)
    	     Output sec.Date &" "& sec.User.Name & NL & NewSecs(NewSecs.Count-I).Text & NL
    	next
    End If
    %%>
    Судя по результату выполнения, результат сравнения старого и нового значений поля Answers всегда 0. Что-то делаю не так?

  • #2
    Re: OldRequest

    К сожалению, в inline-скриптах в шаблонах писем объект OldRequest равен ActiveRequest'у. Я на разных версиях ОТ пытался использовать OldRequest - безуспешно; использовал обходные пути. А вообще стоит обратиться к вендору с этим вопросом.
    С уважением, Сергей Осадчий

    Комментарий


    • #3
      Re: OldRequest

      Добрый день.
      На сколько я понял нужно отправлять последний созданный комментарий в письме.
      Но за один раз в это поле можно внести только одну секцию.
      Следовательно необходимо сделать действие "After Modification" по отправке письма, в условие поставить ""Answers" has changed".
      А в тело сообщения вставить скрипт:
      Код:
      <%%
      Dim NewSecs
      Dim sec
      Dim NL
      
      Set NewSecs = ActiveRequest.UserFields("Answers").TValue
      
      NL = Chr(13) + Chr(10)
      
      Set sec = NewSecs(NewSecs.Count-1)
      Output sec.Date &" "& sec.User.Name & NL & NewSecs(NewSecs.Count-1).Text & NL
      %%>
      И теперь при каждом изменении поля будет отправляться последний последний комментарий.
      С уважением,
      Иванов Владислав

      Комментарий


      • #4
        Re: OldRequest

        По последнему комментарию - да, именно так и реализовано.
        Просто здесь несколько иная ситуация, ну и вопрос относительно использования OldRequest в принципе актуален.

        Спасибо за ответы, будем думать над обходными путями.

        Комментарий


        • #5
          Re: OldRequest

          Вместо OldRequest можно попробовать ActiveSession.GetRequestByUniqueId(ActiveRequest.U niqueId)
          С уважением,
          Иванов Владислав

          Комментарий


          • #6
            Господа, а что, проблема с использованием OldRequest и поныне актуальна?)

            Комментарий


            • #7
              Ну что ж... Тогда как обычно - старое значение приходится извлекать с бубном из истории.

              Комментарий

              Обработка...
              X