Объявление

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

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

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

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

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

    Привет всем!
    Есть группы 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.

  • treviz
    Участник ответил
    Сообщение от yuriy_tula Посмотреть сообщение

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

    Прокомментировать:


  • yuriy_tula
    Участник ответил
    Сообщение от treviz Посмотреть сообщение

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

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

    Прокомментировать:


  • treviz
    Участник ответил
    Сообщение от 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)


    Прокомментировать:


  • yuriy_tula
    Участник ответил
    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.

    Прокомментировать:


  • treviz
    Участник ответил
    Сообщение от 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.

    Прокомментировать:


  • Ann
    Участник ответил
    If objActiveRequest_Real.UserFields("Group").TValue <> ""

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

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

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

    Прокомментировать:


  • Ildar Mingazov
    Участник ответил
    Можете привести текст функции GetGroup?

    Прокомментировать:

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