Объявление

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

Скрипт выбора другого значения

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

  • Скрипт выбора другого значения

    Привет всем!
    Есть группы 2ой и 3ей линии. На данный момент запрос идет на 2 лниию:

    objActiveRequest_Real.UserFields("Group").TValue = GetGroup("fcGroups", objActiveRequest.UserFields("Service").Value, _
    Enterprise.UserFields("Region").Value, "2ndline")

    Хочу дописать чтобы и на 3 линию было. Так как 2 линии может и не быть, к примеру, будет только 3 линия.
    If objActiveRequest_Real.UserFields("Group").TValue <> "" Then objActiveRequest_Real.UserFields("Group").TValue = GetGroup("fcGroups", objActiveRequest.UserFields("Service").Value, _
    Enterprise.UserFields("Region").Value, "2ndline")
    else GetGroup("fcGroups", objActiveRequest.UserFields("Service").Value, _
    Enterprise.UserFields("Region").Value, "3rdline")
    end if
    Не работает. Прошу помогите!
    Последний раз редактировалось treviz; 10-09-2019, 08:54.

  • #2
    Можете привести текст функции GetGroup?
    С уважением, Мингазов Ильдар

    Комментарий


    • #3
      If objActiveRequest_Real.UserFields("Group").TValue <> ""

      вероятнее всего нужно заменить это на

      If NOT objActiveRequest_Real.UserFields("Group").IsNull

      Но алгоритм несколько странный ) Да и желательно посмотреть, что там возвращает GetGroup в случае, если группа не нашлась.

      Комментарий


      • #4
        Сообщение от Ildar Mingazov Посмотреть сообщение
        Можете привести текст функции GetGroup?
        Сообщение от Ann Посмотреть сообщение
        If objActiveRequest_Real.UserFields("Group").TValue <> ""

        вероятнее всего нужно заменить это на

        If NOT objActiveRequest_Real.UserFields("Group").IsNull

        Но алгоритм несколько странный ) Да и желательно посмотреть, что там возвращает GetGroup в случае, если группа не нашлась.

        функция возвращает группу второго уровня если она единственная

        Function GetGroup(folderAlias, Service, Region, SupportLine)
        Set fld = ActiveSession.RequestFolders(folderAlias)
        Set filt1 = fld.MakeFilter
        Set filt2 = fld.MakeFilter
        filt1.UserField("SupportLine") = SupportLine
        filt1.UserField("Regions.Name") = Region
        filt2.UserField("Services.Name") = Service

        filt1.Combine filt2, 1

        Set requests = fld.Search(filt1, False)
        If requests.Count = 1 Then
        For Each req In requests
        Set GetGroup = req
        Exit Function
        Next
        End If
        End Function
        Последний раз редактировалось treviz; 17-09-2019, 14:14.

        Комментарий


        • #5
          Function GetGroup(folderAlias, Service, Region, SupportLine2, SupportLine3)
          Set fld = ActiveSession.RequestFolders(folderAlias)
          Set filt1 = fld.MakeFilter
          filt1.UserField("SupportLine") = SupportLine2
          filt1.UserField("Regions.Name") = Region
          filt1.UserField("Services.Name") = Service

          Set requests = fld.Search(filt1, False)
          If requests.Count = 1 Then
          Set GetGroup = requests.Item(0)
          blGr = 1
          Else

          Set filt1 = fld.MakeFilter
          filt1.UserField("SupportLine") = SupportLine3
          filt1.UserField("Regions.Name") = Region
          filt1.UserField("Services.Name") = Service

          Set requests = fld.Search(filt1, False)
          If requests.Count = 1 Then
          Set GetGroup = requests.Item(0)
          blGr = 1
          End If

          If blGr <> 1 Then
          Set GetGroup = 'присвойте какую нибудь группу, чтобы не вернулось пустое значение
          End If
          End Function

          objActiveRequest_Real.UserFields("Group").TValue = GetGroup("fcGroups", objActiveRequest.UserFields("Service").Value, _
          Enterprise.UserFields("Region").Value, "2ndline", "3rdline")
          Последний раз редактировалось yuriy_tula; 18-09-2019, 11:27.

          Комментарий


          • #6
            Сообщение от yuriy_tula Посмотреть сообщение

            objActiveRequest_Real.UserFields("Group").TValue = GetGroup("fcGroups", objActiveRequest.UserFields("Service").Value, _
            Enterprise.UserFields("Region").Value, "2ndline", "3rdline")
            Здесь выходит ошибка: Invalid parameter count. Expected 4 parameter(s)


            Комментарий


            • #7
              Сообщение от treviz Посмотреть сообщение

              Здесь выходит ошибка: Invalid parameter count. Expected 4 parameter(s)

              Function GetGroup(folderAlias, Service, Region, SupportLine2, SupportLine3).
              Добавьте в функцию параметр SupportLine3

              Комментарий


              • #8
                Сообщение от yuriy_tula Посмотреть сообщение

                Function GetGroup(folderAlias, Service, Region, SupportLine2, SupportLine3).
                Добавьте в функцию параметр SupportLine3
                Все получилось! Оказывается не в том месте закрыл цикл условия. Спасибо!

                Комментарий

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