Как работает функция Match of Acumatica

Как работает функция Match в Acumatica? Например, я не могу понять, что делает следующий код (это код из coderepository.xml). Почему в первом случае мы не упоминаем стол, а во втором упоминаем стол.

 1. Search<InventoryItem.inventoryID,
        Where<Match<Current<AccessInfo.userName>>>>


  2. Search2<APInvoice.refNbr, 
        InnerJoin<Vendor, On<APInvoice.vendorID, Equal<Vendor.bAccountID>>>,
        Where<APInvoice.docType, Equal<APInvoiceType.invoice>,
        And<APInvoice.vendorID, Equal<Current<FAService.vendorID>>,
        And<Match<Vendor, Current<AccessInfo.userName>>>>>

person Yuriy Zaletskyy    schedule 16.06.2015    source источник


Ответы (1)


Match используется для фильтрации записей на основе имеющихся групп ограничений. Группы ограничений используются для обеспечения безопасности на уровне строк; например, вы можете использовать это, чтобы ограничить некоторых пользователей определенными продуктами, конкретными клиентами или конкретными поставщиками. Внутренняя реализация довольно сложна и зависит от поля битовой маски, называемого GroupMask. Хотя он используется для нескольких конкретных типов сущностей, его можно расширить для работы с настраиваемыми сущностями.

В руководстве пользователя Acumatica есть целая глава о безопасности на уровне строк, которая должна предоставить вам всю информацию, необходимую для ее настройки.

person Gabriel    schedule 16.06.2015
comment
Да, но я не нашел описания функции Match, несмотря на то, что потратил достаточно времени на руководство и поиск в онлайн-справке Acumatica. - person Yuriy Zaletskyy; 17.06.2015
comment
Могу ли я предоставить вам больше информации о нем? Я буду рад обновить свой ответ более подробной информацией. Сам класс помечен описанием, которое вы должны увидеть через intellisense при его использовании; вам в основном нужно указать имя пользователя и объект, к которому вы применяете ограничения на уровне строки, остальная часть магии происходит за кулисами. - person Gabriel; 17.06.2015