Goodmorning everyone,
I'll explain my problem. I'm trying to create a button to insert into a generic Page (suppose for example that of the articles) that I will need to do "massive" operations on them; for example, I would like to select some articles by pre-filtering them, (eg select all articles starting with * 1234) and apply changes on one (or more) fields of them (eg change the description field to all articles starting with * 1234).
I have reached the point where I can select the desired table and the field to modify, but when I try to make changes to the value of the field in question, I receive errors but I do not understand why ["The Item does not exist. Identification fields and value: No. = ']. I adhered to the guides of the Community, even sifting through the web I always found the same procedure to perform, very very similar to the following (the following code is the one that I really implemented!)
Fields.RESET;
Fields.SETRANGE (TableNo, 27);
Fields.SETRANGE (Enabled, TRUE);
IF PAGE.RUNMODAL (PAGE :: "Field List", Fields) = ACTION :: LookupOK THEN BEGIN
SelectedField: = Fields.FieldName;
FieldNumber: = Fields. "No.";
RecRef.OPEN (27);
FldRef: = RecRef.FIELD (FieldNumber);
IF FldRef.ACTIVE THEN
BEGIN
FldRef.VALUE: = 12345678;
RecRef.MODIFY;
END;
END;
SelectedField and FieldNumber are text fields, while RecRef and FldRef are respectively of RecordRef and FieldRef.
Could someone please explain to me politely what error I am committing? Many thanks in advance
0
Answers
You know you can modify all records within a filter range with MODIFYALL if you drop recordreferences? Just asking, because you set a fixed filter for table 27 on the fields table.
Is the user supposed to just select a field of one specific table to modify? Where does the new value of that field come from? Where do the filters for that table come from?
."Where does the new value of that field come from" : until now I can set this value "statically" in my code, later I will think about how to handle dynamically.
."Where do the filters for that table come from" : the filters come from the request page of the report
Let's say that as first step I will be happy to be able to modify the value of a field of some records "manually", I will explain better: I can insert the values manually in my code, so this means that I will pass the "field number" manually, the table number manually, the FieldRef VALUE manually etc etc. The only thing that I want to achieve as first step is to "get/obtain" the value filtered in the request page, inside my code
I'm not using a filter command because that's what the DataItem is for. The item record in the OnAfterGetRecord trigger is already filtered, we just "copy" it to the RecRef variable.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!