|
![]() |
#1 |
Участник
|
X++: SysLastValue sysLastValue; ; ttsbegin; delete_from sysLastValue where sysLastValue.UserId == #UserIdTo; while select sysLastValue where sysLastValue.UserId == #UserIdFrom { sysLastValue.UserId = #UserIdTo; sysLastValue.insert(); } ttscommit; Последний раз редактировалось Dark Light; 15.06.2012 в 10:14. |
|
|
За это сообщение автора поблагодарили: Deepoint (1). |
![]() |
#2 |
Участник
|
В конечном итоге механизм по переносу настроек + избранного от одного пользователя другому приобрел вид:
X++: server static void UserFavoritesAndSettingsTransfer(Args _args) { SysPersonalization FromSysPersonalization; SysPersonalization ToSysPersonalization; UserId FromUserId='FromUser';// от кого UserId ToUserId='ToUser'; // кому SysLastValue sysLastValue; ; ttsbegin; // Удаляем Избранное пользователю ToUserId while select forupdate ToSysPersonalization where ToSysPersonalization.ElementType==UtilElementType::UserMenu && ToSysPersonalization.UserId==ToUserId { ToSysPersonalization.doDelete(); } // Дублируем избранное while select FromSysPersonalization where FromSysPersonalization.UserId==FromUserId && FromSysPersonalization.ElementType==UtilElementType::UserMenu { ToSysPersonalization.data(FromSysPersonalization); ToSysPersonalization.UserId=ToUserId; ToSysPersonalization.doInsert(); } // Удаляем настройки у ToUserId delete_from sysLastValue where sysLastValue.UserId == ToUserId; // пишем настойки пользователю ToUserId такие же как у FromUserId while select sysLastValue where sysLastValue.UserId == FromUserId { sysLastValue.UserId = ToUserId; sysLastValue.insert(); } ttscommit; } |
|
|
За это сообщение автора поблагодарили: Pustik (1). |
![]() |
#3 |
Участник
|
Deepoint, спасибо!
|
|
Теги |
перенос данных, перенос настроек пользователя |
|
|