30. Januar 2013 12:47
PROCEDURE CustGetRecordLinks@1000000000(CustomerNo@1000000002 : Code[20];VAR recXML@1000000000 : XMLport 50001;VAR totalrec@1000000001 : Integer;VAR mytotal@1000000003 : Integer);
BEGIN
cust.SETRANGE("No.",CustomerNo);
IF cust.FINDFIRST THEN
mytotal:=cust.COUNT;
IF mytotal >0 THEN
BEGIN
rer.GETTABLE(cust);
recordlink.SETCURRENTKEY("Record ID");
recordlink.SETRANGE("Record ID",rer.RECORDID);
totalrec:=recordlink.COUNT;
recXML.SETTABLEVIEW(recordlink);
END;
END;
30. Januar 2013 13:36
IF CustmerNo <> '' THEN
...
else
nix;
30. Januar 2013 14:22
30. Januar 2013 14:55
PROCEDURE CustGetRecordLinks@1000000000(CustomerNo@1000000002 : Code[20];VAR recXML@1000000000 : XMLport 50001;VAR totalrec@1000000001 : Integer;VAR mytotal@1000000003 : Integer);
BEGIN
cust.SETRANGE("No.",CustomerNo);
IF cust.FINDFIRST THEN
mytotal:=cust.COUNT;
IF mytotal >0 THEN
BEGIN
rer.GETTABLE(cust);
recordlink.SETCURRENTKEY("Record ID");
recordlink.SETRANGE("Record ID",rer.RECORDID);
totalrec:=recordlink.COUNT;
recXML.SETTABLEVIEW(recordlink);
END
ELSE
BEGIN
recordlink.SETRANGE("Link ID", -1);
recXML.SETTABLEVIEW(recordlink);
END;
END;
30. Januar 2013 16:14
PROCEDURE CustGetRecordLinks@1000000000(CustomerNo@1000000002 : Code[20];VAR recXML@1000000000 : XMLport 50001;VAR totalrec@1000000001 : Integer;VAR mytotal@1000000003 : Integer);
BEGIN
cust.SETRANGE("No.",CustomerNo);
IF cust.FINDFIRST THEN
mytotal:=cust.COUNT; //<< Einrückung
IF mytotal >0 THEN
BEGIN
rer.GETTABLE(cust);
recordlink.SETCURRENTKEY("Record ID");
recordlink.SETRANGE("Record ID",rer.RECORDID);
totalrec:=recordlink.COUNT;
recXML.SETTABLEVIEW(recordlink);
END;
END;
PROCEDURE CustGetRecordLinks@1000000000(CustomerNo@1000000002 : Code[20];VAR recXML@1000000000 : XMLport 50001;VAR totalrec@1000000001 : Integer;VAR mytotal@1000000003 : Integer);
BEGIN
If cust.get(CustomerNo) THEN
BEGIN
mytotal += 1; // bzw := 1. Wobei ich den Sinn davon nicht verstehe
rer.GETTABLE(cust);
recordlink.SETCURRENTKEY("Record ID");
recordlink.SETRANGE("Record ID",rer.RECORDID);
totalrec:=recordlink.COUNT;
recXML.SETTABLEVIEW(recordlink);
END;
END;
30. Januar 2013 16:37
PROCEDURE CustGetRecordLinks@1000000000(VAR recXML@1000000000 : XMLport 50001);
BEGIN
END;
30. Januar 2013 16:43
30. Januar 2013 17:06
31. Januar 2013 10:54
vsnase hat geschrieben:Hi Jan,
es funktioniert ja, nur man muss halt wirklich sicherstellen, dass im Falle eines Fehlers (z. B. falsche Kundennummer) auch wirklich (fast) nichts zurückgeliefert wird. Ich habe bei meinen ersten Versuchen nicht schlecht geschaut, als statt 0 Datensätzen plötzlich 1000 (=alle) da standen. Wenn dass dann bei einem Smartphone unterwegs passiert will ich nicht im Büro sein, wenn die Anwender anrufen.
Komplex ist das nicht zum Kunden/Auftrag/Artikel ... werden die Links abgerufen und neue bei Bedarf hinzugefügt. Dien neuen dazu gehen nicht über den XMLPort, sondern eine eigene Funktion.
Volker
31. Januar 2013 11:12
31. Januar 2013 11:57
List<Customer_Filter> filterArray = new List<Customer_Filter>();
Customer_Filter nameFilter = new Customer_Filter();
nameFilter.Field = Customer_Fields.Name;
nameFilter.Criteria = "C*";
filterArray.Add(nameFilter);
31. Januar 2013 12:10
nameFilter.Criteria = "Customer: " & CustomerNo
31. Januar 2013 12:57
vsnase hat geschrieben:Hi Jan,
ich nochmal.
Das heißt aber ich muss für meinen Filter auf "Record Link" den Filter zusammensetzen:
- Code:
nameFilter.Criteria = "Customer: " & CustomerNo
oder kann ich RecordLinkWS.Record_ID = cust.key übergeben?
Volker