Впервые столкнулся с такой ошибкой:
Insert failed. First exception on row 0; first error: MIXED_DML_OPERATION, DML operation on setup object is not permitted after you have updated a non-setup object (or vice versa): GroupMember, original object: Contact: []
Логика такая:
(1) вставляю новый контакт;
(2) вставляю нового Юзера;
(3) включаю нового Юзера в группу через вставку GroupMember записи;
и вот это вставка GroupMember как-то конфликтует с предыдущей вставкой Контакта.
если не вставляю Контакт - то все ОК.
кто-нибудь может объяснить, а в чем собственно проблема
спасибо
Впервые столкнулся с такой ошибкой: [code]Insert failed. First exception on row 0; first error: MIXED_DML_OPERATION, DML operation on setup object is not permitted after you have updated a non-setup object (or vice versa): GroupMember, original object: Contact: [][/code] Логика такая: (1) вставляю новый контакт; (2) вставляю нового Юзера; (3) включаю нового Юзера в группу через вставку GroupMember записи; и вот это вставка GroupMember как-то конфликтует с предыдущей вставкой Контакта. если не вставляю Контакт - то все ОК. кто-нибудь может объяснить, а в чем собственно проблема спасибо
вынеси создание groupmember во future method
вынеси создание groupmember во future method [url=http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_dml_non_mix_sobjects.htm]sObjects That Cannot Be Used Together in DML Operations[/url]
спасибо
[quote="Alex Tsitsura"]sObjects That Cannot Be Used Together in DML Operations[/quote] спасибо
[quote="Den Brown"]MIXED_DML_OPERATION, DML operation on setup object is not permitted after you have updated a non-setup object (or vice versa)[/quote] Одно из странных ограничений Salesforce, которое надо знать. Лучше разберись в этой теме. Будешь часто сталкиваться, если не будешь учитывать этот момент на этапе проектирования.
да, кстати,
есть ли еще какие-то случаи, когда нужно безусловно ставить @future (кроме этого и случая с колаутом)?
да, кстати, есть ли еще какие-то случаи, когда нужно безусловно ставить @future (кроме этого и случая с колаутом)?
[quote="Den Brown"]да, кстати, есть ли еще какие-то случаи, когда нужно безусловно ставить @future (кроме этого и случая с колаутом)?[/quote] Выше это не случай когда надо ставить "обязательно" future - все всего лишь решение. Другое решение архитектурное - избегать таких случаев.