I can duplicate this at will.
It goes like this (in all examples below, assume additional fields for valid strCompanyAccount, strLogin and strPassword, also assume that my actual code syntax is correct with all proper quotes and so on):
I use MethodAPIInsert to insert a record into the Customer table, with the following field/values:
Name = Daria Test1
FirstName = Daria
CompanyName = MyCompany
BillAddressAddr1 = "1 Main St".
I then (in the same code, immediately afterwards) use MethodAPISelect_XML with the following field/values
strTable = Customer
strFields = Name, FirstName, CompanyName, BillAddressAddr1
strWhereClause = "FirstName = 'Daria'"
strGroupByClause, strHaving and strOrderBy are empty.
IOW I pull all records where the first name is Daria.
It returns the following. This is correct.
<Record>
<Name>Daria Test1</Name>
<FirstName>Daria</FirstName>
<CompanyName>TheCompany</CompanyName>
<BillAddressAddr1>1 Main St</BillAddressAddr1>
</Record>
NOW I take the same code and change the insert field values as follows:
Name = Daria Test2
BillAddressAddr1 = "2 Main St".
other fields stay the same as they were.
I then run all this again (which does another insert and select, so there should now be two records with first name of Daria).
What it gives me is this:
<Record>
<Name>Daria Test1</Name>
<FirstName>Daria</FirstName>
<CompanyName>TheCompany</CompanyName>
<BillAddressAddr1 />
</Record>
<Record>
<Name>Daria Test2</Name>
<FirstName>Daria</FirstName>
<CompanyName>TheCompany</CompanyName>
<BillAddressAddr1>2 Main St</BillAddressAddr1>
</Record>
Take a good look at the first record. What happened to the address?
This repeats - if I add a 3rd record, it keeps its address but the 2nd record loses it.
If I now go into Method CRM and look at the records I created (any of them), the address is missing. And, having done so, if I now do just a select using the API function, the address is gone from all the records.
Is there something special about Addr1 that it should not be used?
Please advise...