Было бы хорошо отделить вариант CRM от вариант АХ.
В CRM исходный код закрыт. Поэтому разработчики могут только догадываться, как он работает.
Цитата:
Сообщение от
Артем Enot Грунин
Системные механизмы используют множество согласованных обработчиков, логика которых не документирована. На практике, если не подходит стандарт - делаешь рядом что-то свое. Победить и изменить - как правило, себе дороже.
В ранних внедрениях АХ это было знакомо, когда внедренцы не зная стандартную функциональность - самостоятельно писали аналогичную функциональность под конкретного клиента.
В АХ исходный код открыт. Да, нельзя изменить сигнатуры методов, но как минимум код можно прочитать и понять, что он делает. Как максимум - можно его потрассировать на конкретной ситуации и выяснить - виноват алгоритм (ошибка в коде) или сам дурак - поставил галку "Нескладируемая" у группы моделей номенклатуры и думаешь - почему InventTrans не создается
Подходы к разработке могут быть разными в условиях, когда код закрыт от изменения, но открыт на чтение, вплоть до того, что он трассируем - от условий, когда код неизвестен в принципе.
В случае, когда доступ к коду закрыт вообще - подход Артема оправдан. Если доступ открыт - то можно его проанализировать и подумать, как исправлять. Где "врезаться".
Если код открыт, то можно создать какой-нибудь eventHandler на PriceDisc* классе и прикрутить туда метеорологический способ определения цены.
Если код закрыт - то самое простое - залезть в заказ и переопределить место, куда цена приходит уже рассчитанная.