clone method
Create new object with same filelds values cloneAsCopy - после копирования подменить id объектов и вызвать метод заполнения после копирования
Implementation
NsgDataItem clone({bool cloneAsCopy = false, List<String>? excludeFields}) {
var newItem = getNewObject();
newItem.copyFieldValues(this, cloneAsCopy: cloneAsCopy, excludeFields: excludeFields);
newItem.loadTime = loadTime;
newItem.state = cloneAsCopy ? NsgDataItemState.create : state;
newItem.docState = cloneAsCopy ? NsgDataItemDocState.created : docState;
newItem.storageType = storageType;
// newItem.newTableLogic = newTableLogic;
if (cloneAsCopy) {
newItem.copyRecordFill();
newItem.id = Guid.newGuid();
newItem.state = NsgDataItemState.create;
NsgDataClient.client.addItemsToCache(items: [newItem]);
}
return newItem;
}