11. April 2018 18:00
12. April 2018 16:20
IF NOT Cust."No Discount allowed" THEN
[...]
IF Item.Blocked = TRUE THEN
[...]
IF Cust.FINDFIRST THEN
REPEAT
[...]
UNTIL Cust.NEXT = 0;
IF [...] THEN [...] ELSE IF [...] THEN [...] ELSE [...];
12. April 2018 16:27
12. April 2018 20:08
13. April 2018 10:31
Natalie hat geschrieben:Das NAV-Team bei Microsoft hat mal hier welche gesammelt: Reusable Bugs
13. April 2018 10:41
13. April 2018 18:06
With Rec Do
10x Preusocodelines;
With OtherRec DO
Function("No.");
PROCEDURE Function@50000(Parameter) : Bool;
VAR
Record@50000 : Record 50000;
BEGIN
CLEAR(Record);
Rec.SetFilter("No.",'123');
Exit(Rec.IsEmpty);
END;
16. April 2018 09:18
Nody3000 hat geschrieben:WITH DO ist für mich generell ein Antipattern.
LOCAL BeispielFunktion()
WITH Contact DO
IF FINDSET THEN
REPEAT
//....
UNTIL NEXT = 0;
16. April 2018 10:30
16. April 2018 10:41
16. April 2018 11:18
Timo Lässer hat geschrieben:Natürlich ist es praktisch, seinen Programmcode mittels WITH zu kürzen, jedoch birgt es auch seine heimtückischen Gefahren
18. April 2018 14:18
EnterSum(ColNo : Integer;RowNo : Integer;FromRowNo : Integer;FromColNo : Integer;ToRowNo : Integer;ToColNo : Integer;Bold : Boolean;Underline : Boolean;NumberFormat : Text[50])
INIT;
VALIDATE("Row No.",RowNo);
VALIDATE("Column No.",ColNo);
"Cell Value as Text" := '';
Formular := 'XY';
Bold := Bold; <- Hier wurde der Variable selbst der eigene Wert zugewiesen.
Underline := Underline; <- Hier wurde der Variable selbst der eigene Wert zugewiesen.
NumberFormat := NumberFormat; <- Hier wurde der Variable selbst der eigene Wert zugewiesen.
INSERT;
EnterSum(ColNo : Integer;RowNo : Integer;FromRowNo : Integer;FromColNo : Integer;ToRowNo : Integer;ToColNo : Integer;P_Bold : Boolean;P_Underline : Boolean;P_NumberFormat : Text[50])
INIT;
VALIDATE("Row No.",RowNo);
VALIDATE("Column No.",ColNo);
"Cell Value as Text" := '';
Formular := 'XY';
Bold := P_Bold;
Underline := P_Underline;
NumberFormat := P_NumberFormat;
INSERT;
18. April 2018 17:58
Enumerator := XlWrkShtReader.GetEnumerator;
RowCount := XlWrkShtReader.RowCount;
WHILE Enumerator.MoveNext DO BEGIN
CellData := Enumerator.Current;
IF CellData.HasValue THEN BEGIN
VALIDATE("Row No.",CellData.RowNumber);
VALIDATE("Column No.",CellData.ColumnNumber);
ParseCellValue(CellData.Value,CellData.Format);
INSERT;
END;
i := i + 1;
COMMIT;
IF NOT UpdateProgressDialog(ExcelBufferDialogMgt,LastUpdate,i,RowCount) THEN BEGIN
QuitExcel;
ERROR(Text035)
END;
END;
18. April 2018 18:56
IF SalespersonPurchaser.GET(GenJournalLine2."Salespers./Purch. Code") THEN
IF SalespersonPurchaser.VerifySalesPersonPurchaserPrivacyBlocked(SalespersonPurchaser) THEN
ERROR(SalespersonPurchPrivacyBlockErr,GenJournalLine2."Salespers./Purch. Code");
IF SalespersonPurchaser.GET(GenJournalLine2."Salespers./Purch. Code") THEN
IF SalespersonPurchaser.VerifySalesPersonPurchaserPrivacyBlocked THEN
ERROR(SalespersonPurchPrivacyBlockErr,GenJournalLine2."Salespers./Purch. Code");
VerifySalesPersonPurchaserPrivacyBlocked(SalespersonPurchaser2 : Record "Salesperson/Purchaser") : Boolean
BEGIN
IF "Privacy Blocked" THEN
EXIT(TRUE);
EXIT(FALSE);
END;
31. August 2018 12:19
31. August 2018 12:55
31. August 2018 13:00
Nody3000 hat geschrieben:ich sehe mir gerade wieder Code an in dem ganze Records übergeben werden
13. November 2018 16:02
IF STRLEN(INCSTR(GenJnlBatch.Name)) > MAXSTRLEN(GenJnlBatch.Name) THEN
13. November 2018 16:13
13. November 2018 16:32
Natalie hat geschrieben:Der Quelltext fragt ab, ob es unmöglich ist, die Nummer weiter zu erhöhen, ohne dass die Maximallänge überschritten würde.
Warum? Weil (je nach Einrichtung) nach jeder Buchung automatisch ein neuer Buchblattname angelegt wird. Hieß er vorher MEINBB001, dann heißt der neue: MEINBB002, eben weil bei der Erzeugung sehr wohl mit INCSTR gearbeitet wird. Und wenn es vorher MEINBB999 hieß, dann hätten wir nach der Buchung tatsächlich ein Zeichen Zuviel.
13. November 2018 16:43
13. November 2018 16:48
fiddi hat geschrieben:Hallo,
z.B: das Buchblatt: "MIETE2018/01" Wenn man es gebucht hat, weiß man, das man es in dem jeweiligen Monat erledigt hat.
Gruß Fiddi
13. November 2018 17:00
13. November 2018 18:05
Ich hab noch die uralten Versionen am Anfang meiner Laufbahn erlebt und erinnere mich, dass beim Übergang auf 5.00 einige Text Feldlängen von 30 auf 10 gekürzt wurden. Leider hab ich mir nicht gemerkt, welche Felder von welchen Tabellen das waren.
15. November 2022 11:08
Nody3000 hat geschrieben:WITH DO ist für mich generell ein Antipattern. Ich benutze es seit Jahren schon nicht mehr.
With Business Central 2022 release wave 2, the AL:Go! template for creating new AL projects in Visual Studio Code, now enables explicit with statements by default, by adding the NoImplicitWith option to the features property in the generated app.json file.