Мне нужно использовать Атрибуты клиента в Универсальном запросе .Я разрабатываю большинство моих общих запросов, начиная с необработанного SQL в Server Management Studio.Мне гораздо легче найти нужные мне данные таким образом.Тем не менее, я ужасно разбираюсь, как атрибуты связаны с клиентами.Атрибуты добавляются в класс клиента , а затем клиент связывается с классом клиента.Это позволяет любым атрибутам, доступным для этого класса клиента, быть изменяемыми для клиента.
Используя базу данных, я обнаружил следующее:
- Отдельные объекты атрибутов хранятся в
CSAttribute
table - Опции для атрибутов (например, выпадающий список) хранятся в
CSAttributeDetail
таблице - Отдельные экземпляры каждого атрибута хранятся в
CSAnswers
таблице - Существует также таблица
CSAttributeGroup
, которая, как мне кажется, связывает CSAttributeDetail
записей с CSAttribute
записями.
Таким образом, можно ожидать, что таблица CSAnswers
будет иметь ссылку на клиента.ответ прилагается ... но это не так.Эта таблица определяется как:
- CompanyID (PK, int, не нуль)
- RefNoteID (PK, уникальный идентификатор, не ноль)
- AttributeID (PK, nvarchar(10), не нуль)
- Значение (nvarchar (255), ноль)
Чтобы добавить оскорбление в травму, имена таблиц в базе данных не всегда выравниваются 1 к1 к тому, что доступно в общем запросе.Например, многие поля, доступные для ARInvoice
в GI, фактически хранятся в таблице ARRegister
в базе данных.Я подозреваю, что что-то очень похожее происходит с Атрибутами.
Может ли кто-нибудь указать мне правильное направление определения связи Атрибутов с Клиентами как на уровне базы данных, так и на уровне GI?