Цитата:
Сообщение от
DmitrySincerity
День добрый, уважаемые!
Есть следующая задача-проблема.
Мне нужно с помощью вызова методов X++ (через .NET BC) выполнить примерно следующее: создать Company, создать для нее Domain, "поместить" Company в уже существующий Domain, добавить в созданную Company уже имеющуюся Virtual Company, создать пользователя (роль) для данного Domain с определенными правами (таких ролей может быть несколько, естественно), т.е. настроить RLS. Кто-нибудь делал нечто подобное?
p.s.: Почему это необходимо? нужно минимизировать участие во всем процессе интегратора Dynamics - все это будет происходить по нажатию на кнопку определенным пользователем из ASP.NET приложения.
Заранее спасибо за совет и помощь.
Не думаю, что это правильный подход, но не такой уж он и нереальный, мне кажется.
Сам не делал, но кой-чего для начала подсказать могу - начните с этого:
X++:
static void JobZVVTestCompany(Args _args)
{
DataArea dataArea;
DomainInfo domainInfo;
CompanyDomainList companyDomainList;
VirtualDataAreaList virtualDataAreaList;
;
ttsBegin;
// Обычная компания
dataArea.clear();
dataArea.name = 'ZVVCompany';
dataArea.id = 'ZVV';
dataArea.isVirtual = NoYes::No;
dataArea.insert();
// Виртуальная компания
dataArea.clear();
dataArea.name = 'ZVVVirtualCompany';
dataArea.id = 'ZVT';
dataArea.isVirtual = NoYes::Yes;
dataArea.insert();
// Домен
DomainInfo.name = 'ZVVDomain';
DomainInfo.id = 'ZVVDom';
DomainInfo.insert();
// Домен в компанию
companyDomainList.companyId = 'ZVV';
companyDomainList.domainId = 'ZVVDom';
companyDomainList.insert();
// Компанию в вирт. компанию
virtualDataAreaList.Id = 'ZVV';
virtualDataAreaList.virtualDataArea = 'ZVT';
virtualDataAreaList.insert();
/*
// Ну и так далее по аналогии:
//USERInfo - пользователи
(проблемы - там целая куча неизвестных настроечных полей,
с которыми нужно доразбираться и как-то заполнять,
в том числе зашифрованное поле "пароль",
но правда его можно оставить пустым - прокатывает.
Лучше найти какое-то стандартные механизмы.
)
//USERGroupInfo - группы (роли) (2 поля: Id, Name)
//USERGroupList - Группы по пользователям (2 поля: UserId, GroupId)
//SYSRecordLevelSecurity - RLS
(проблема - сами правила в MEMO-поле.
Лучше найти какое-то стандартные механизмы.
)
Возможно надо ещё какие-то настроечные таблицы заполнять. Придётся пробовать методом тыка и разбираться.
*/
ttsCommit;
}