|
![]() |
#1 |
Участник
|
На самом деле интересно, молодец Алексей. Не знал, что можно в передаваемый args пихать свои.
Это уже не так нужно с CoC, но все равно занятно. |
|
![]() |
#2 |
Участник
|
А еще caller() есть.
И в строку параметров можно положить какой-нибудь объект в сериализованном виде. |
|
![]() |
#3 |
Banned
|
Напротив, именно при chain of command это особенно и нужно: как убрать участок кода, который вам не нужен? Вся суть extensions заключается в том, что каждое ISV только добавляет функционал, но как тогда избавиться от излишнего? Пример из практики: прямая поставка в intercompany автоматически разносит накладную в двух компаниях, но что если хотим разнести одну позже из-за условий перехода права собственности DAP?
|
|
|
За это сообщение автора поблагодарили: mazzy (2), wojzeh (1). |
![]() |
#4 |
Участник
|
Цитата:
выбрать другую систему. ======================== так на рынке существует много форумных движков. для пользователей они различаются в основном внешним видом и почти не различаются по пользовательскому функционалу. почти все современные форумные движки предоставляют extensions в том или ином виде, под тем или иным названием. для программистов форумные движки отличаются именно системой хуков - что и в какой момент можно перехватить, с какой детализацией и с какой степенью удобства. повторюсь: extensions - не изобретение майкрософт. это очень старая технология. грабли хорошо известны. |
|
![]() |
#5 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
![]() |
#6 |
Участник
|
это оффтопик и в некотором смысле троллинг. я ж не продажами занимаюсь: что клиент купил, то и ставим. тут нечего обсуждать, мне, по крайней мере.
Цитата:
- подписка на события; - подписка на публичные методы до и после с различными перверсиями и девиациями; - динамическое перекрытие методов form control; что ещё?
__________________
Felix nihil admirari |
|
![]() |
#7 |
Участник
|
Цитата:
точно также как понимаю и покупателей систем. вот наглядный пример, как я сам был на месте покупателя Потенциально новая версия форума. Подсмотреть, обсудить. система экстеншенов формного движка - один из криетриев. не самый важный конечно. но ощутимый. Цитата:
Сообщение от wojzeh
![]() технически говоря, это и не технология, а подход, но давай поставим вопрос шире: какие приёмы нам доступны в новой парадигме?
- подписка на события; - подписка на публичные методы до и после с различными перверсиями и девиациями; - динамическое перекрытие методов form control; что ещё? только давай в другой ветке? Как правильно вести разработку в условиях, когда часть кода закрыта от изменения - Sys-слой в аксапте, закрытые codeunit в навике, extensions в MS CRM здесь все-таки тема D365: passing through public method by means of Pre- and Post-event handlers |
|
![]() |
#8 |
Участник
|
опять офтоп!
Цитата:
Сообщение от mazzy
![]() отлично ставишь вопрос.
только давай в другой ветке? Как правильно вести разработку в условиях, когда часть кода закрыта от изменения - Sys-слой в аксапте, закрытые codeunit в навике, extensions в MS CRM здесь все-таки тема D365: passing through public method by means of Pre- and Post-event handlers
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#9 |
Участник
|
|
|
![]() |
#10 |
Участник
|
Дык, я и оверлею.
Aleksey_M не ругается вслух, конечно. А мог бы... |
|
![]() |
#11 |
Участник
|
Цитата:
Продублировать то, что надо от default company (я не знаю функционала) - сделать свое поле которое ведет себя так же только в тех местах когда надо Последний раз редактировалось belugin; 04.10.2017 в 15:41. |
|
![]() |
#12 |
Banned
|
Именно. И это может оказаться очень дорого. В моем примере с intercompany мы сначала пошли именно таким путем: сделать так, чтобы обычная цепочка стала работать как прямая поставка. И тут мы начали обрастать доработками и доработками доработок: копировать адрес доставки. Копировать условия Incoterms. Копировать имя. Модифицировать отчеты. В понедельник решили, наконец, остановиться и подумать еще раз в свете того, что все это в системе уже есть.
|
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#13 |
Участник
|
Цитата:
Сообщение от EVGL
![]() Именно. И это может оказаться очень дорого. В моем примере с intercompany мы сначала пошли именно таким путем: сделать так, чтобы обычная цепочка стала работать как прямая поставка. И тут мы начали обрастать доработками и доработками доработок: копировать адрес доставки. Копировать условия Incoterms. Копировать имя. Модифицировать отчеты. В понедельник решили, наконец, остановиться и подумать еще раз в свете того, что все это в системе уже есть.
хотя вру, конечно же, уже дублировал! например, приватный метод на форме, который делает marking для строк.
__________________
Felix nihil admirari |
|
![]() |
#14 |
Участник
|
Цитата:
Сообщение от EVGL
![]() Напротив, именно при chain of command это особенно и нужно: как убрать участок кода, который вам не нужен? Вся суть extensions заключается в том, что каждое ISV только добавляет функционал, но как тогда избавиться от излишнего? Пример из практики: прямая поставка в intercompany автоматически разносит накладную в двух компаниях, но что если хотим разнести одну позже из-за условий перехода права собственности DAP?
спасибо
__________________
Felix nihil admirari |
|
![]() |
#15 |
Участник
|
Цитата:
X++: FormControlCancelableSuperEventArgs ce = _e as FormControlCancelableSuperEventArgs;
//cancel super() to prevent error.
ce.CancelSuperCall();
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: EVGL (5), ax_mct (3). |
![]() |
#16 |
Участник
|
Цитата:
как бы ты предложил решить подобную задачу?
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: EVGL (10), kashperuk (5). |
Теги |
chain of command, extensions |
|
|