Friday, September 9, 2016

This table method can be used to reset fields values to their default. We don't want to use clear() because for TempDB clear can remove the link between table on TempDB and Ax buffer.
public void resetFields()
{
    SysDictTable dictTable  = SysDictTable::newTableId(this.TableId);
    Set fields              = dictTable.fields();
    SetEnumerator setEnum   = fields.getEnumerator();
    SysDictField dictField;

    while(setEnum.moveNext())
    {
        dictField = setEnum.current();
        if(!dictField.isSystem())
            this.(dictField.id()) = nullValueFromType(dictField.baseType());
    }
}

No comments:

Post a Comment