Има ли някакъв начин да се определи дали кодът се изпълнява в клиент или в партида работа? Мислех, че ще го използвам curUserId
и проверка на това дали потребителят е този, който използваме за партидни задания, но този подход се провали, ако потребителят някога бъде променен.
Опитвам се да променя update
метод на таблицата VendTable
с диалогов прозорец Да / Не, когато се изпълнява в клиент, но не искам това да се случва, когато кодът работи като партида.
Някакви идеи ?
Отговори:
3 за отговор № 1На вашия клас партида, който се простира runbasebatch
, можеш да използваш this.isInBatch()
, Това ще се върне вярно, ако кодът се изпълнява на партида и невярно, ако не работи в партида. След това можете да преминете това като параметър към други класове. (Бих препоръчал да го направите по този начин).
Една бележка, обаче, не трябва да показвате диалогов прозорец update
метод на VendTable
тъй като никога не трябва да имате взаимодействие с потребителя в дадена транзакция, която предполагам, че ще бъде така.
Ако искате да имате взаимодействие с потребителя при потребителзаписва запис на формуляр, опитайте да презапишете метода за запис на вашите данни. Това ще бъде изпълнено, когато се записва запис (вмъкнат, актуализиран). Тук можете да поискате въвеждане от потребителя. За пример, проверете формуляра за покупка (покупка ds, метод за запис), той трябва да съдържа нещо подобно (пита за копиране на полета от заглавие на ред)