我如何通过 Web 服务 API 插入 "Location" 记录,而无需在添加记录后检查 "Same as Main"?

How would I insert a "Location" record through web service API without having "Same as Main" checked after the record is added?

我试图通过网络服务 API 添加一条新的 "Location" 记录,并且该记录确实被添加到 Acumatica 中,但是,当我查看我的记录时,我看到 "Same as Main" "Location Contact" 和 "Location Address" 部分都选中了复选框,当然,所有联系方式和地址信息似乎都与主记录相同,而不是使用我尝试添加的内容。以下是我的部分代码:

CR303010Content CR303010 = context.CR303010GetSchema(); context.CR303010Clear();

            List<Command> cmds = new List<Command>();

            //add header info
            cmds.Add(new Value { Value = "False", LinkedCommand = CR303010.GeneralInfoLocationContactSameAsMain.SameAsMain });
            cmds.Add(new Value { Value = "False", LinkedCommand = CR303010.GeneralInfoLocationAddressSameAsMain.SameAsMain });
            cmds.Add(new Value { Value = location.BusinessAccountID, LinkedCommand = CR303010.LocationSummary.BusinessAccount });
            cmds.Add(new Value { Value = location.ID, LinkedCommand = CR303010.LocationSummary.LocationID });
            cmds.Add(new Value { Value = location.Name, LinkedCommand = CR303010.LocationSummary.LocationName });

            cmds.Add(new Value { Value = location.GeneralContactInfo.Salutation, LinkedCommand = CR303010.GeneralInfoLocationContact.Attention });
            cmds.Add(new Value { Value = location.GeneralContactInfo.CompanyName, LinkedCommand = CR303010.GeneralInfoLocationContact.CompanyName });
            cmds.Add(new Value { Value = location.GeneralContactInfo.Phone1, LinkedCommand = CR303010.GeneralInfoLocationContact.Phone1 });
            cmds.Add(new Value { Value = location.GeneralContactInfo.Phone2, LinkedCommand = CR303010.GeneralInfoLocationContact.Phone2 });
            cmds.Add(new Value { Value = location.GeneralContactInfo.Fax, LinkedCommand = CR303010.GeneralInfoLocationContact.Fax });
            cmds.Add(new Value { Value = location.GeneralContactInfo.Email, LinkedCommand = CR303010.GeneralInfoLocationContact.Email });
            cmds.Add(new Value { Value = location.GeneralContactInfo.Web, LinkedCommand = CR303010.GeneralInfoLocationContact.Web });

            cmds.Add(new Value { Value = location.GeneralAddressInfo.Address1, LinkedCommand = CR303010.GeneralInfoLocationAddress.AddressLine1 });
            cmds.Add(new Value { Value = location.GeneralAddressInfo.Address2, LinkedCommand = CR303010.GeneralInfoLocationAddress.AddressLine2 });
            cmds.Add(new Value { Value = location.GeneralAddressInfo.City, LinkedCommand = CR303010.GeneralInfoLocationAddress.City });
            cmds.Add(new Value { Value = location.GeneralAddressInfo.State, LinkedCommand = CR303010.GeneralInfoLocationAddress.State });
            cmds.Add(new Value { Value = location.GeneralAddressInfo.Country, LinkedCommand = CR303010.GeneralInfoLocationAddress.Country });
            cmds.Add(new Value { Value = location.GeneralAddressInfo.PostalCode, LinkedCommand = CR303010.GeneralInfoLocationAddress.PostalCode });

            cmds.Add(new Value { Value = location.PriceClass, LinkedCommand = CR303010.GeneralInfoLocationSettings.PriceClass });
            cmds.Add(new Value { Value = location.TaxZone, LinkedCommand = CR303010.GeneralInfoLocationSettings.TaxZone });


            cmds.Add(CR303010.Actions.Save);

            CR303010Content[] CR303010content = context.CR303010Submit(cmds.ToArray());

有人可以帮我看看为什么 "cmds.Add(new Value { Value = "False", LinkedCommand = CR303010.GeneralInfoLocationContactSameAsMain.SameAsMain });"根本没用?

谢谢。

我在使用 HOLD 时在销售订单屏幕中也遇到了类似的问题。我怀疑,对于复选框,它与现有值相符。

但是在你的情况下,我们可以看到你提到的复选框默认情况下没有被勾选,所以避免那个命令并提交。

我刚刚发现这实际上是一个无效问题 - 代码实际上可以正常工作,结果证明我们的另一款软件中存在错误,该错误调用了错误的 Web 服务。

我现在关闭这个问题。