|
![]() |
#1 |
Участник
|
Проклят кем?
![]() Идея sysoperation конечно изначальна была хороша, но никто не стал ее развивать. Т.е. сейчас RunBase это единственный способ писать расширяемые классы(с PU22 даже обещают через CoC). Расширения DataContract недоступны. Плюс иногда нужны доп. возможности, к примеру внутри класса управлять задачами, создавая подзадачи |
|
|
За это сообщение автора поблагодарили: Logger (3), wojzeh (1). |
![]() |
#2 |
Участник
|
Цитата:
Сообщение от trud
![]() Проклят кем?
![]() Идея sysoperation конечно изначальна была хороша, но никто не стал ее развивать. Т.е. сейчас RunBase это единственный способ писать расширяемые классы(с PU22 даже обещают через CoC). Расширения DataContract недоступны. Плюс иногда нужны доп. возможности, к примеру внутри класса управлять задачами, создавая подзадачи и что, в этой связи в d365 всё переделано взад на runbase?
__________________
Felix nihil admirari |
|
![]() |
#3 |
Banned
|
|
|
![]() |
#4 |
Участник
|
и опять выпустят фетву против runbase? нам-то чо делать: крестик снимать или...?
__________________
Felix nihil admirari |
|
![]() |
#5 |
Участник
|
Мне кажется, подобно тому, как начинающие разработчики в прежних версиях упускали, где (на сервере или на клиенте) в какой момент времени будет выполняться тот или иной метод их наследника RunBase, сейчас дискутирующие упускают то, кто будет писать исходный класс на основе SysOperation или RunBase - и кто потом будет его расширять
![]()
Цитата:
Цитата:
![]() ![]() Цитата:
![]() Последний раз редактировалось gl00mie; 13.01.2019 в 20:57. |
|
|
За это сообщение автора поблагодарили: ta_and (4). |
![]() |
#6 |
Участник
|
Цитата:
Сообщение от gl00mie
![]() Для USR-разработчиков, по-моему, SysOperation предпочтительнее, потому что позволяет более четко отделить сервис от контракта и UI для интерактивного ввода параметров, что способствует повторному использованию сервисных операций в тех местах, которые изначально не предполагались.
Это на мой взгляд фундаментальный баг, о котором многие забывают(или не знают) Например первая ссылка по запросу Post purchase order through code Ax2012 выдает следующий фрагмент кода(что отлично работало в 2009, когда класс был наследником от RunBase), который может прекратить работать в любом момент - из за того что юзер под которым это запускается может разнести PO из интерфейса со спец. параметрами(типа проверки кредитного лимита) X++: static void postPurchaseOrder(Args _args) { PurchTable purchTable = PurchTable::find(); PurchFormLetter purchFormLetter; purchFormLetter = PurchFormLetter::construct(DocumentStatus::PurchaseOrder); purchFormLetter.update(purchTable, , systemDateGet(), PurchUpdate::All); } |
|
![]() |
#7 |
Участник
|
Цитата:
Контракт распаковывает контроллер. Который это делает в методе unpack. Контракт - это такой же класс как и все, просто размеченный атрибутами. |
|
![]() |
#8 |
Участник
|
Цитата:
Хотя может это и кривизна конкретной реализации PurchFormLetter, но недавно мы много дней потеряли на поиски этой баги, когда у некоторых пользователей подставлялись старые значения при запуске разноски из кода Я что-то подумал что это баг всего фрамеворка, но возможно стоит еще поизучать вопрос Последний раз редактировалось trud; 14.01.2019 в 13:39. |
|
|
За это сообщение автора поблагодарили: gl00mie (5). |
![]() |
#9 |
Участник
|
Цитата:
Расширение контракт классов - хорошее прекимущество, особенно когда закроют полностью app suite. А то приходится такой велосипед городить чтобы добавить новые атрибуты в sys operation, просто капец. Не думаю, опять же, что будут хаять опять runBase, если его так прокачали, как описали выше ( новая сессия, что несомненно круто!) |
|
Теги |
runbase, sysoperation framework |
|
|