Прежде всего, вы должны рассмотреть декларации местоположения и адреса ЦАП:
Местоположение:
[Serializable]
public class Location : IBqlTable, IPaymentTypeDetailMaster, ILocation
{
.
.
Адрес:
[Serializable]
public class Address : IBqlTable, IAddressBase, IValidatedAddress, IPXSelectable
{
.
.
.
, как вы можете видеть издекларации, оба они реализуют IBqlTable, так что это означает, что Location и Address живут как отдельные объекты в Acumatica.Следующий sql в вашей базе данных покажет вам, что обе таблицы имеют свою собственную жизнь:
select top 10 * from Location
select top 10 * from Address
вы увидите разные результаты.Это также означает, что вы не можете использовать одно расширение DAC для одной и той же таблицы, но вам понадобятся расширения.А также вам нужно будет добавить два столбца для таблицы местоположений и адресов.
Еще один момент, к которому следует быть осторожным, есть разница между ЦАП - CR.Address и CRAddress.
Взгляните на объявление CRAddress:
[Serializable]
public class CRAddress : IBqlTable, IAddress, IAddressBase, IValidatedAddress
{
.
.
.
Как видно из объявления, сущность CRAddress является третьей таблицей.Если предположить все это, вы либо добавите один и тот же столбец дважды к расширениям Location и Address DAC, либо в качестве другого варианта вы можете создать таблицу CertificationDates, в которой даты сертификатов будут в качестве одного из столбцов, а в обоих расширениях - ID.для CertificationDates в качестве внешнего ключа.