web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics NAV (Archived)

Modify massive values

(0) ShareShare
ReportReport
Posted on by

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

*This post is locked for comments

I have the same question (0)
  • Verified answer
    Hannes Holst Profile Picture
    5,767 on at

    Hi,

    You must select a record for the RecRef.
    In your code, you are trying to modify data of a RecRef which does not link to an existing record.
    See below:

    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);
    RecRef.SETVIEW(OriginalRecord.GETVIEW); // set your filter here or iterate over all records
    IF RecRef.FINDSET THEN
      REPEAT
        FldRef: = RecRef.FIELD (FieldNumber);
        IF FldRef.ACTIVE THEN
          BEGIN
            FldRef.VALUE: = 12345678;
            RecRef.MODIFY;
          END;
      UNTIL RecRef.NEXT = 0;


  • Suggested answer
    4BzSoftware Profile Picture
    6,073 on at

    Hi Mark,

    You can modify massive values of any tables via our tool Universal Excel Import Export at Mibuso:

    mibuso.com/.../universal-excel-import-export

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics NAV (Archived)

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans