[РЕШЕНО] Поиск не заданного значения.

Moderator: DenisBY

Post Reply
Bloodice
OTRS newbie
Posts: 17
Joined: 13 Jan 2011, 09:01
OTRS Version?: 3.0.4

[РЕШЕНО] Поиск не заданного значения.

Post by Bloodice » 26 May 2011, 11:01

Необходимо осуществить поиск по не заданному значению.
Есть FreeTime, необходимо найти все заявки где данное значение не заданно.
Last edited by Bloodice on 05 Jun 2011, 12:30, edited 1 time in total.

yuri0001
OTRS ninja
Posts: 631
Joined: 17 Mar 2011, 14:40
OTRS Version?: 5.0.6
Real Name: Yuri Kolesnikov
Location: Russia

Re: Поиск не заданного значения.

Post by yuri0001 » 26 May 2011, 14:29

А у Вас включен как атрибут поиска этот элемент в Ticket::Frontend::AgentTicketSearch###Defaults###TicketFreeTime"n" в SysConfig in Ticket -> Frontend::Agent::Ticket::ViewSearch?
Best regards Yuri Kolesnikov
OTRS 5.0.14, ITSM 5.0.14
SUSE 13.2, MariaDB 10.0.22(productive)
OTRS 5.0.14, ITSM 5.0.14(test)

Bloodice
OTRS newbie
Posts: 17
Joined: 13 Jan 2011, 09:01
OTRS Version?: 3.0.4

Re: Поиск не заданного значения.

Post by Bloodice » 27 May 2011, 02:05

Выключено.
То есть задать значение по умолчанию и искать его? Поэкспериментируем.

Bloodice
OTRS newbie
Posts: 17
Joined: 13 Jan 2011, 09:01
OTRS Version?: 3.0.4

Re: Поиск не заданного значения.

Post by Bloodice » 27 May 2011, 02:32

Хм, похоже я что то не так понял. Похоже этот параметр делает так что бы freetime было сразу включено при поиске, не пойму чем это может помочь.

yuri0001
OTRS ninja
Posts: 631
Joined: 17 Mar 2011, 14:40
OTRS Version?: 5.0.6
Real Name: Yuri Kolesnikov
Location: Russia

Re: Поиск не заданного значения.

Post by yuri0001 » 27 May 2011, 06:05

Эти параметры задают наличие атрибута в списке атрибутов для поиска, как я понимаю, это первое, и второе - можно задать умалчиваемое значение для поиска. Кроме того в определении полей, можно задать умалчиваемое значение, скажем "пробел". Затем при поиске и искать заявки со значением поля - "пробел" - это, наверное и будет означать не назначенное значение. Для атрибутов типа "Дата/время" можно выбрать какое-то допустимое по формату, но не по смыслу значение. Тогда это и будет не назначенное значение по которому можно искать заявки у которых оно не заполнялось, если я правильно понял Ваш вопрос. :?
Best regards Yuri Kolesnikov
OTRS 5.0.14, ITSM 5.0.14
SUSE 13.2, MariaDB 10.0.22(productive)
OTRS 5.0.14, ITSM 5.0.14(test)

Bloodice
OTRS newbie
Posts: 17
Joined: 13 Jan 2011, 09:01
OTRS Version?: 3.0.4

Re: Поиск не заданного значения.

Post by Bloodice » 27 May 2011, 08:19

Не понятно как задать значение по умолчанию для времени.
Ерунда получается. Такое бы нормально прокатило с FreeText. Для времени совершенно не подходит.

Единственное что пока приходит на ум, это задать не Time, а Text, но тогда появляются другие проблемы (нельзя выбрать диапазон как вариант).

Жду другие предложения.

yuri0001
OTRS ninja
Posts: 631
Joined: 17 Mar 2011, 14:40
OTRS Version?: 5.0.6
Real Name: Yuri Kolesnikov
Location: Russia

Re: Поиск не заданного значения.

Post by yuri0001 » 27 May 2011, 09:50

Bloodice wrote:Не понятно как задать значение по умолчанию для времени.
Ерунда получается. Такое бы нормально прокатило с FreeText. Для времени совершенно не подходит.
Жду другие предложения.
Задать максимально или минимально возможное время, которое в здравом уме не должно быть в системе, но принимается как правильная дата и/или время
Best regards Yuri Kolesnikov
OTRS 5.0.14, ITSM 5.0.14
SUSE 13.2, MariaDB 10.0.22(productive)
OTRS 5.0.14, ITSM 5.0.14(test)

alexus
OTRS superhero
Posts: 274
Joined: 20 Sep 2010, 16:54
OTRS Version?: ITSM 5.0.14
Real Name: Alexey Yusov
Company: Radiant System
Location: Prague
Contact:

Re: Поиск не заданного значения.

Post by alexus » 27 May 2011, 22:07

Можно сделать поле FreeTime обязательным для заполнения. Тогда и искать ничего не придется :lol: .
Alexey Yusov

Production: OTRS ITSM 5.0.14 on CentOS 7 x64 Linux with MySQL 5.7
Tested: OTRS ITSM 5.0.14
Radiant System OTRS Intergrator
Stay tuned on our Facebook
Get OTRS Professional Services - Consulting, Implementation, Training, Development, Support!

Bloodice
OTRS newbie
Posts: 17
Joined: 13 Jan 2011, 09:01
OTRS Version?: 3.0.4

Re: Поиск не заданного значения.

Post by Bloodice » 28 May 2011, 04:52

Не нравится мне этот "кривой" метод. Может, кто разработчикам написать, что бы поиск проапгрейдили (у самого не очень хороший английский)? Нужно добавить checkbox "Значение не задано".

alexus
OTRS superhero
Posts: 274
Joined: 20 Sep 2010, 16:54
OTRS Version?: ITSM 5.0.14
Real Name: Alexey Yusov
Company: Radiant System
Location: Prague
Contact:

Re: Поиск не заданного значения.

Post by alexus » 02 Jun 2011, 00:06

Согласен отчасти про "кривизну". Но если вы ввели это значение, то зачем его оставлять пустым :-o? Объясните смысл этого поля для вашего случая.
Alexey Yusov

Production: OTRS ITSM 5.0.14 on CentOS 7 x64 Linux with MySQL 5.7
Tested: OTRS ITSM 5.0.14
Radiant System OTRS Intergrator
Stay tuned on our Facebook
Get OTRS Professional Services - Consulting, Implementation, Training, Development, Support!

Bloodice
OTRS newbie
Posts: 17
Joined: 13 Jan 2011, 09:01
OTRS Version?: 3.0.4

Re: Поиск не заданного значения.

Post by Bloodice » 02 Jun 2011, 04:29

Значение задается не везде, а только в определенных случаях. И заносятся эти данные существенно позже того как тикет закрыт.
То есть задаются параметры поиска, что бы выделить только определенную группу. Эту группу нужно отработать, выставив определенную дату (у меня случай когда нужно пометить, что по заявке сделаны выплаты (когда), соответственно поиск по Null означает отображение заявок по которым выплаты не произведены).
Last edited by Bloodice on 03 Jun 2011, 01:57, edited 1 time in total.

Bloodice
OTRS newbie
Posts: 17
Joined: 13 Jan 2011, 09:01
OTRS Version?: 3.0.4

Re: Поиск не заданного значения.

Post by Bloodice » 02 Jun 2011, 09:06

Накодил сам, пришлось не в одном месте код дописывать, но все работает отлично. Как соберусь с силами попробую выложить код.

Bloodice
OTRS newbie
Posts: 17
Joined: 13 Jan 2011, 09:01
OTRS Version?: 3.0.4

Re: Поиск не заданного значения.

Post by Bloodice » 05 Jun 2011, 12:30

Kernel/Output/HTML/Standard/AgentTicketSearch.dtl

Находим

Code: Select all

$Data{"TicketFreeTime1Start"} $Text{"and"} $Data{"TicketFreeTime1Stop"}
Добовляем перед

Code: Select all

<input type="checkbox" name="TicketFreeTime1Null" value="true"/>
Далее по аналогии для остальных, меняем только цифру

Kernel/System/Ticket.pm

Между

Code: Select all

for my $Number ( 1 .. 6 ) {

# get free time older than xxxx-xx-xx xx:xx date
вставляем

Code: Select all

        if ( $Param{ 'TicketFreeTime' . $Number . 'Null' } ) {
            $SQLExt .= " AND st.freetime$Number is Null ";
            next;
        }
Kernel/Modules/AgentTicketSearch.pm

Находим

Code: Select all

    # get search string params (get submitted params)
    else {
        for (
            qw(
Дописываем

TicketFreeTime1Null и тд


Kernel/System/Stats/Dynamic/TicketAccountedTime.pm

Code: Select all

sub _AllowedTicketSearchAttributes {
    my $Self = shift;

    my @Attributes = qw(
Дописываем

TicketFreeTime1Null и тд

Все это можно вынести в Custom

Post Reply