23. Oktober 2014 16:13
23. Oktober 2014 16:35
NAV-0-Mat hat geschrieben:Frage: Gibt es eine Möglichkeit den OnInsert()-Trigger zu umgehen?
23. Oktober 2014 16:36
Ich habe bereits alle Objekte per grep nach einem INSERT(FALSE) durchsucht, ohne Treffer
Item.INIT;
Item."No." := ''; // oder Artikelnummer
Item.INSERT(TRUE);
// restliche Felder zuordnen
Item.MODIFY(TRUE);
23. Oktober 2014 16:45
Natalie hat geschrieben:Was meinst du mit grep?
23. Oktober 2014 17:07
24. Oktober 2014 07:20
Kowa hat geschrieben:… grep ist etwas, was Unix schon konnte, als es Windows noch gar nicht gab .
Natalie hat geschrieben:INSERT per Code, aber ohne INSERT(TRUE).
Natalie hat geschrieben:Suche nach INSERT(FALSE) reicht nicht, du musst auch nach "nur" INSERT suchen, da INSERT = INSERT(FALSE) ist.
Natalie hat geschrieben:Direkteingabe über SQL-Server
Natalie hat geschrieben:Import über Webservices
24. Oktober 2014 07:59
24. Oktober 2014 08:16
fiddi hat geschrieben:prüfst du denn auch im OnModify-Trigger auf Doubletten?
Item_LT.GET("Item No.");
IF Item_LT."Ident Numbers Type" = Item_LT."Ident Numbers Type"::Default THEN
EXIT;
Variant_GT.SETCURRENTKEY("Item No.");
Variant_GT.SETRANGE("Item No.","Item No.");
Variant_GT.SETFILTER(Code,'<>%1',Code);
Variant_GT.SETRANGE(Colour,Colour);
Variant_GT.SETRANGE("Size Run","Size Run");
Variant_GT.SETRANGE(Size,Size);
IF NOT Variant_GT.ISEMPTY THEN
ERROR(Text5079201_G,FIELDCAPTION("Item No."),"Item No.",FIELDCAPTION("Size Run"),"Size Run",
FIELDCAPTION(Colour),Colour,FIELDCAPTION(Size),Size);
24. Oktober 2014 08:30
Dass das INSERT per C/AL-Code ausgeführt wird, aber ohne den TRUE-Parameter. Wie schon vorher besprochen.NAV-0-Mat hat geschrieben:Natalie hat geschrieben:INSERT per Code, aber ohne INSERT(TRUE).
Wie meinst du das?
Es gibt nur ItemVariant.INSERT(TRUE|FALSE) in unserem NAV, aber ja, ich habe auch nach "nur" INSERT gesucht.
NAV-0-Mat hat geschrieben:OnInsert()-Trigger der Tabelle eingebaut, der ganz klar per SETRANGE eingrenzt, und dann auf NOT .ISEMPTY prüft.
24. Oktober 2014 08:35
NAV-0-Mat hat geschrieben:
- Code:
IF Item_LT."Ident Numbers Type" = Item_LT."Ident Numbers Type"::Default THEN
EXIT;
24. Oktober 2014 08:42
24. Oktober 2014 09:35
Natalie hat geschrieben:Kann es sein, dass die Duplette für einen Artikel mit "Ident Numbers Type" = Default aufgetreten ist .....?
Natalie hat geschrieben:Ist Variant_GT lokal oder global definiert? Wenn global, führe vorher ein Variant_GT.RESET durch durch.
m_schneider hat geschrieben:Auch interessant wäre ob die Dublette wirklich exakt identisch ist. Manchmal sind eventuell auch unsichtbare (Leerzeichen z.B.) Zeichen die Ursache.
24. Oktober 2014 09:45
NAV-0-Mat hat geschrieben:Das können wir nicht sagen, da wir diese Option-Feld nicht kennen (durch ext. Dienstleister eingebaut).
Ich habe die Prüfung auf den "Ident Numbers Type" auskommentiert.
War global, ist jetzt lokal, somit brauchen wir keinen RESET?!
Siehe bitte meine Signatur in Blau; hier schließt jeder seinen Beitrag selbstIch denke, nach so viel gutem Feedback, kann der Beitrag erstmal geschlossen werden.