Показать сообщение отдельно
Старый 16.03.2018, 13:19   #1  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
377 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Плагины, транзакции, автонумерация
Платформа Dynamics 365.

Колхозю автонумерацию (готовые решения просьба не предлагать ).

Есть сущность "Нумератор", хранящая актуальный номер + сущность "Правило нумерации", задающее некие настройки.

Помниться был такой способ создания автонумерации, когда делаешь плагин, в нем сначала обновляешь какое то мусорное поле записи нумератора, потому считываешь номер и обновляешь его новым значением. Плагины выполняются в транзакции, поэтому после первого "мусорного" обновления запись нумератора блокируется и это не дает номерам задваиваться при одновременной попытке получения номера.

Сделал плагин на Post-RetrieveMultiple для сущности "Правило нумерации", в котором делаю все вышеописанное со связанной записью "Нумератор", но при тестировании получаю задвоенные номера.

Чего то я не понимаю... Либо я не в Лондоне, либо Эйфелева башня не в Лондоне... Почему номера задваиваются?.. Может плагины на запрос данных (вроде Retrieve и RetrieveMultiple) не выполняются в транзакции? Это было бы конечно логично, что информации про это я как то не нашел.
__________________
Моё: Cайт - Код - Dynamics365 Tools