Mass Create is Randomly Creating Records for Records not Listed in Object

  • 1
  • Problem
  • Updated 7 months ago
  • (Edited)
Recently, I updated to 11.2.18 and a couple of Mass Create pages I was using quit working so flawlessly.  I rebuilt them to have no snippets and 2 of 3 are working even better than before.  But the one page is having some random issues.  This month out of the 800 people that created children records on a particular page using a mass create button 2 employees who clicked the button created 100's of records that had to be cleaned up. Basically, a child record was created for each Account they had permission to view. Typically the wizard just creates children records for the Parameter ID of the page in question.  I have no idea why it created one for every Account they had access to.  Both employees work in different geographic areas with no contact with each other and the clients they could see were different. So the error it feels very random. 100s of uses with no issues, but for 2 users a big issue.  I was thinking it might be web browser related but can't pin that down.   For 3 years I have had no issues and in the last month, I have had multiple issues.  Would anything have switched in the recent updates that would break this code? Here is the snippet I borrowed from the Community and tweaked for my use:


 var params = arguments[0];    var step = params.step;
    var $ = skuid.$;
    // Get references to our three important Models
    var models = skuid.model.map();
    var support = models.ProgressSupportIDs;
    var DataTemplate = models.DataTemplate;
    var newdatarows = models.NewData;
    // Use the values specified in our DataTemplate record
    // to set conditions on our newdatarows model.
    // That way, when we auto-generate new Support Data records,
    // these conditions will be used to prepopulate each new Support Data record.
    var proto = DataTemplate.getFirstRow();
    var monthCondition = newdatarows.getConditionByName('Month');
    newdatarows.setCondition(monthCondition,DataTemplate.getFieldValue(proto,'Month__c'));
    // Now, auto-generate a new Monthly Support Data record 
    // for each Support on this Progress Report.
    $.each(support.data,function(){
       var row = newdatarows.createRow({
            additionalConditions: [
                { field: 'Progress_Support__c', value: this.Id, operator: '=', nameFieldValue: this.Name }
            ]
        });
    });
    // We're good to go - navigate our wizard to Step 2
    step.navigate('step3');

On a side note. I could do this whole mass create process with clicks and no code, like I did with the other 2 pages, if I could figure out how to Select All Rows in Table (like delete all rows but just select all rows). The other 2 solutions require the end users to select the rows they want children for and then click the Mass Actions button and it works amazingly.  However, on this page I don't want to trust the end user to select which rows get children. I just want to create a child record for all parents in the table. Any thoughts?
Photo of Rich Slack

Rich Slack

  • 4,316 Points 4k badge 2x thumb

Posted 7 months ago

  • 1
Photo of Zach McElrath

Zach McElrath, Employee

  • 54,054 Points 50k badge 2x thumb
Does the Model that you are creating new rows in (newdatarows in the example you provided above) have Record Types? There was a change in Millau I think, can't remember the exact release, which required us to make the "createRow" method return asynchronously if the object you were creating rows in has Record Types. Not sure if it's related --- but wanted to check just in case.
Photo of Rich Slack

Rich Slack

  • 4,316 Points 4k badge 2x thumb
The model does not have record types.