FormDataSource::write() Method is not fired after creating data using FormDataSource.create() method.

Im using D365, Visual Studio 2017 and Chrome browser.

The situation is as follows

Form_1 has a grid.
The Grids DataSource is ANXTMSCustInvoiceItemTmp

In the form I can open another form, crate some data, which is written into the dataSource ANXTMSCustInvoiceItemTmp after closing, by using the following method
ANXTMSCustInvFreeItemCreateTmp is a inMemoryTable, which is filled and saved inside the second form.

public void fillByCustInvFreeItemCreate(ANXTMSCustInvFreeItemCreateTmp _custInvFreeItemCreate)
	while select _custInvFreeItemCreate
		ANXTMSCustInvoiceItemTmp.CurrencyCode = _custInvFreeItemCreate.CurrencyCode;
		ANXTMSCustInvoiceItemTmp.AmountCur = _custInvFreeItemCreate.AmountTotal;
		ANXTMSCustInvoiceItemTmp.CostTypeId = _custInvFreeItemCreate.CostTypeId;
		ANXTMSCustInvoiceItemTmp.Description = strFmt("%1 %2 je %3%4",_custInvFreeItemCreate.UnitQty,_custInvFreeItemCreate.UnitOfMeasureSymbol,_custInvFreeItemCreate.AmountCur,_custInvFreeItemCreate.CurrencyCode);

So this method reads out the table ANXTMSCustInvFreeItemCreateTmp and adds each line into the FormDataSource and aI can see the new lines in the grid.

I did overwrite the Write() Method of the datasource, just to set a breakpoint.

What I see is:
Having more than one dataset in ANXTMSCustInvFreeItemCreateTmp, from the second turn in the loop, the ANXTMSCustInvoiceItemTmp_DS::write() method is fired when ANXTMSCustInvoiceItemTmp_DS.create(); is called.
This is OK.
As In understand, the Datasource knows, there is another unsaved line, so I have to save it when creating a new line.

This is not the problem.

The grid has a delete function. Using it, the ANXTMSCustInvoiceItemTmp_DS::write() method is fired.
After this point, the behavior changes.
Creating another set of lines, the ANXTMSCustInvoiceItemTmp_DS::write() method is not fired any more, when I create some new lines of dsata.
The resuilt is:
I receive as many new lines in the grid as expected, but all but one are empty and the data of the last read line is in the grid.
So every new data is written in the same dataset of the FormDataSource.

It seems to me, after calling the ANXTMSCustInvoiceItemTmp_DS::write() mehtod from any other source than out of fillByCustInvFreeItemCreate, causes not to fire it from ANXTMSCustInvoiceItemTmp_DS.create();

So what I think I need is a marker in the datasource to get the ANXTMSCustInvoiceItemTmp_DS::write Method fired again.

In another language I used a “UpdatesPenging” Marker, but I don’t find anything like this here.

Calling the write Method inside fillByCustInvFreeItemCreatecauses other trouble like deleting the wrong dataline and ohter unwanted stuff.

Is it a bug in the environment?
Do I need to add some code in the method to make it run, as expected?

thank You in advance for any helpul answer.

kind regards