03.06.2014, 21:36 | #1 |
Участник
|
Сохранение данных на форме.
Подскажите пожалуйста если в двух разных окнах(IE) открыто одно и тоже КП и если в первом окне произвели изменения и сохранили, и потом во втором окне произвели изменения(но уже другие данные изменили) и нажали сохранить, то при сохранении второй формы данные перезатруться(которые были сделаны первым сохранением) или будет предупреждение о том что данные в таблице не соответствую тому что было при открытии окна браузера( то есть не актуальные)?
|
|
03.06.2014, 22:59 | #2 |
Еда - топливо, Одежда - н
|
ничего не произойдет.
данные в БД будут те, которые были внесены во втором окне.
__________________
Все что вам нужно - это мозК Еда - топливо... Одежда - необходимость... |
|
|
За это сообщение автора поблагодарили: TDV (1). |
03.06.2014, 23:17 | #3 |
Участник
|
С CRM недавно работаю в основном как пользователь. Сам я Аксаптер, в Аксапте такое не возможно, система ругнется что данные в таблицах уже не те которые были при последнем прочтении и нужно будет сначала подтянуть из базы, а потом повторно корректировать и сохранять. Хотя это можно обойти программно. Спасибо за ответ!
|
|
03.06.2014, 23:28 | #4 |
Еда - топливо, Одежда - н
|
я знаю, в NAV было так, что запись типа блокировалась как-то в БД, если один работает с ней...
такой же принцип был и для разработчиков в NAV, если кто-то редактирует файл разработки, то остальные не могли туда ничего вносить... Думаю как-то можно это сделать, но это будет ансапрт )))) хз, пусть гуру скажут
__________________
Все что вам нужно - это мозК Еда - топливо... Одежда - необходимость... |
|
04.06.2014, 23:50 | #5 |
Moderator
|
Я думаю, вам проще провести эксперимент. Форма обновляет данные только тех полей, которые были изменены пользователем, а не всех. Если нет пересечений, тогда проблем точно не будет. Если есть, скорее всего победит последнее изменение. Вообще говоря, в базе данных есть поле RowVersion, но, скорее всего, оно используется для каких-то внутренних целей защиты от конкурирующих изменений.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
05.06.2014, 10:19 | #6 |
Участник
|
Думаю тут просто нужны какие то административные меры: использовать тимы или расшаривание.
|
|
03.08.2014, 00:17 | #7 |
Участник
|
Добрый день.
Если нужно фиксировать была изменена запись с момента открытия или нет, можно попробовать добавить скрытое поле даты и заполнять его текущей датой и временем на онлоаде (могут возникнуть проблемы при разных временных настройках у пользователей). В плагине на стадии Pre Update проверять, если поле даты ModifiedOn > даты, которую заполнили на онлоаде, значит запись кто-то уже обновил после открытия формы. ModifiedOn можно взять из PreImage или вытянуть запросом. Как по мне, так кривоватое решение, но как решение может и сгодится. В целом проверить обновлялись какие-то поля не получится, но можно будет узнать, что кто-то внес изменения в запись. P.S. В базе обновляются только те поля, которые изменили на форме + те, которые принудительно передали на обновление в JS или плагине. |
|