15. November 2018 17:59
IF purchHead.FIND('-') THEN REPEAT
IF purchHead."No." = 'BE552890' THEN
BEGIN
purchLine.SETFILTER(purchLine."Document No.",purchHead."No.");
purchLine.SETFILTER(purchLine.Type,'Artikel');
IF purchLine.FIND('-') THEN
REPEAT
IF purchLine."Document No." = 'BE552890' THEN
BEGIN
purchLine.INIT;
purchLine."Req. Document No.":=purchLine."Document No.";
purchLine.MODIFY;
END;
UNTIL purchLine.NEXT=0;
//purchLine.MODIFY;
END;
UNTIL purchHead.NEXT=0;
15. November 2018 23:25
Purchline.init
16. November 2018 09:42
Purchline.init weglassen
16. November 2018 10:03
Werde vorsichtshalber noch die Felder durch validieren.
16. November 2018 10:13
Wenn Du jetzt wieder alle Felder validierst, werden die Daten in der Einkaufszeile wieder mit den Stammdaten überschrieben, das willst Du doch nicht?
16. November 2018 12:59
IF purchHead.FIND('-') THEN REPEAT
IF purchHead."No." = 'BE552890' THEN
BEGIN
purchLine.SETFILTER(purchLine."Document No.",purchHead."No.");
purchLine.SETFILTER(purchLine.Type,'Artikel');
IF purchLine.FIND('-') THEN
REPEAT
IF purchLine."Document No." = 'BE552890' THEN
BEGIN
purchLine.INIT;
purchLine."Req. Document No.":=purchLine."Document No.";
purchLine.MODIFY;
END;
UNTIL purchLine.NEXT=0;
//purchLine.MODIFY;
END;
UNTIL purchHead.NEXT=0;
IF PurchaseHeader.FINDSET THEN
REPEAT
IF PurchaseHeader."No." = 'BE552890' THEN BEGIN
PurchaseLine.SETFILTER("Document No.",PurchaseHeader."No.");
PurchaseLine.SETFILTER(Type,'Artikel');
PurchaseLine.Modifyall("Req. Document No.",PurchaseLine."Document No.");
END;
UNTIL PurchaseHeader.NEXT=0;
16. November 2018 13:46
IF PurchaseHeader.FINDSET THEN
REPEAT
IF PurchaseHeader."No." = 'BE552890' THEN BEGIN
PurchaseLine.SETFILTER("Document No.",PurchaseHeader."No.");
PurchaseLine.SETFILTER(Type,'Artikel');
PurchaseLine.Modifyall("Req. Document No.",PurchaseHeader."No.");
END;
UNTIL PurchaseHeader.NEXT=0;
16. November 2018 15:00
SetReqDocNo(DocumentNo : Code[20])
WITH PurchaseLine DO BEGIN
SETFILTER("Document No.",DocumentNo);
SETFILTER(Type,Type::Item);
MODIFYALL("Req. Document No.",DocumentNo);
END;
16. November 2018 15:04
16. November 2018 16:34
Es ist immer eine gute Idee den Code nochmal zu refaktorieren auf Einfachheit und Lesbarkeit.
Siehe https://clean-code-developer.de/die-grade/
16. November 2018 17:51
Automatisierung der Korrektheitsprüfung. Wo fängt sie an, wo hört sie auf?
19. November 2018 20:05
Nody3000 hat geschrieben:Erläuterung:
Findset ist Find('xyz') meistens (möglicherweise eben nicht immer) vorzuziehen.
Willst du nur Lesen machst du Findset
Willst du ein Modify machen machst du Findset(True)
Willst du den Primärschlüssel ändern aka. Rename machst du ein Findset(true,true)