заодно, копирование групп пользователя (на форме SysUserInfo)
X++:
void clicked()
{
Dialog dlg;
DialogField dfUser, dfUserN;
UserInfo userFrom;
UserGroupList UserGroupList, newUserGroupList;
super();
dlg = new Dialog("From");
dfUser = dlg.addField(typeid(UserId), "From UserID");
dfUserN = dlg.addField(typeid(NetworkAlias), "From NetworkAlias");
if (dlg.run())
{
select firstonly userFrom
where userFrom.Id == dfUser.value();
if (!userFrom)
select firstonly userFrom
where userFrom.networkAlias == dfUserN.value();
if (!userFrom)
throw error("Invalid user!");
ttsbegin;
//delete_from UserGroupList
// where UserGroupList.UserId == UserInfo.Id;
while select UserGroupList
where UserGroupList.UserId == userFrom.Id
{
newUserGroupList.clear();
newUserGroupList.UserId = UserInfo.Id;
newUserGroupList.GroupId = UserGroupList.GroupId;
newUserGroupList.insert();
info(UserInfo.Id + " add " + UserGroupList.GroupId);
}
info("Done");
ttscommit;
}
}