Dynamic Field in note-internal/external

Hilfe zu Znuny Problemen aller Art
Locked
vielhak
Znuny newbie
Posts: 3
Joined: 18 Feb 2017, 18:45
Znuny Version: 5.0.16

Dynamic Field in note-internal/external

Post by vielhak »

Hallo zusammen,

ich habe ein Dynamisches Feld für "Article" angelegt und im der Ansicht Frontend::Agent::Ticket::ViewNote auch freigeschaltet. Das Feld wird auch angezeigt; die Daten, die ich eintrage, finde ich auch in dynamic_field_values in der MySQL DB; aber ich bekomme die Daten weder in der Artikelübersicht angezeigt (das wäre mir noch egal) noch sind die Daten in einem Event auslesbar; der $Article{DynamicField_XY} ist vorhanden(!) aber immer undef
Obwohl dort mit

Code: Select all

    my %Article = $TicketObject->ArticleGet(
                ArticleID     => $Param{Data}->{ArticleID},
                DynamicFields => 1,
            );
zugeriffen wird.
Interessanterweise funktioniert das gleich Feld in den Artikelvarianten Telefonanruf oder Email problemlos (auch im Event richtig auslesbar).
Behandelt das OTRS die Artikel vom Type note-(in|ex)ternal anders bzgl. der dynamischen Felder?
vielhak
Znuny newbie
Posts: 3
Joined: 18 Feb 2017, 18:45
Znuny Version: 5.0.16

Re: Dynamic Field in note-internal/external

Post by vielhak »

Hmm... das Problem scheint wohl zu sein, dass nach einer "note-internal" Erzeugung im anschließenden Event-Trigger "TicketAccountTime" die Dynamischen Felder für den Article tatsächlich noch nicht gesetzt sind.
Hat jemand eine Idee, warum das so ist? Muss ich einen "späteren" Trigger nehmen? Ich brauche das zum Verbuchen der Zeiten + Zusatzinfos aus einem dynamischen Feld.
vielhak
Znuny newbie
Posts: 3
Joined: 18 Feb 2017, 18:45
Znuny Version: 5.0.16

Re: Dynamic Field in note-internal/external

Post by vielhak »

Tatsächlich ist es so:
Hier die Reihenfolge der Events:

Code: Select all

Feb 20 10:56:33 localhost OTRS-CGI-66[30791]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event HistoryAdd 2017011766000017  -
Feb 20 10:56:33 localhost OTRS-CGI-66[30791]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event TicketFlagDelete 2017011766000017  -
Feb 20 10:56:33 localhost OTRS-CGI-66[30791]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event TicketFlagSet 2017011766000017  -
Feb 20 10:56:33 localhost OTRS-CGI-66[30791]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event ArticleFlagSet 2017011766000017  -
Feb 20 10:56:33 localhost OTRS-CGI-66[30791]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event ArticleCreate 2017011766000017  -
Feb 20 10:56:33 localhost OTRS-CGI-66[30791]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event ArticleSend 2017011766000017  -
Feb 20 10:56:33 localhost OTRS-CGI-66[30791]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event HistoryAdd 2017011766000017  -
Feb 20 10:56:33 localhost OTRS-CGI-66[30791]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event TicketAccountTime 2017011766000017  -
Feb 20 10:56:34 localhost OTRS-CGI-66[30791]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event ArticleDynamicFieldUpdate 2017011766000017  1
Hinter der Ticketnummer gebe ich hier den Wert meines dyn. Felds (Checkbox) aus. Erst *NACH* dem TicketAccountTime wird der Wert gesetzt. Das ist ziemlich suboptimal für meine Zwecke... zumal es bei TicketCreate anders läuft:

Code: Select all

Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event HistoryAdd 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event HistoryAdd 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event HistoryAdd 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event TicketCreate 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event HistoryAdd 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event TicketFlagSet 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event ArticleFlagSet 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event ArticleCreate 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event NotificationNewTicket 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event ArticleDynamicFieldUpdate 2017022066000018  0
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event HistoryAdd 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event TicketOwnerUpdate 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event HistoryAdd 2017022066000018  -
Feb 20 10:52:07 localhost OTRS-CGI-66[30734]: [Notice][Kernel::System::Ticket::Event::EventModulePostIPD::Run]   Event TicketAccountTime 2017022066000018  0
Ich werde dann meinen Trigger wohl auf einen Mix aus "ArticleDynamicFieldUpdate" und "TicketAccountTime" (bei TicketCreate hat man die AccountedTime erst hier zur Verfügung und nicht schon beim ArticleDynamicFieldUpdate) umbauen müssen :( Unschön... vllt hat hier ja noch jemand eine Idee!?
Locked