![]() |
#7 |
Участник
|
Когда мы разрабатывали CRM 4, то нам очень не нравилось постоянная публикация формы, и прочее для добавления и редактирования скриптов. Мы делали следующее.
В папку сайта ISV клали файл entitynameonload.js (вместо entityname может быть любой идентификатор) На Onload формы интересующей нас сущности вешали следующий скрипт. X++: include = function (src) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = src+"?"+new Date().toString(); document.getElementsByTagName('head')[0].appendChild(script); } include('/isv/entitynameonload.js'); Здесь даже можно переопределять события OnChange для полей. X++: crmForm.all.new_field.onchange = function ()
{
alert('change new_field');
} Минусы этого подхода: При переносе к клиенты Вы должны перенести и файлы. Не только кастомизацию. Но мне кажется это не настолько существенный минус, как время и нервый программиста. Был интересный случай. одновременно одну форму разрабатывали 2 человека. При публикации этой формы каждый затирал изменения другого. При подобном подходе это невозможно, т.к каждый разрабатывает в отдльном файле. |
|
|
За это сообщение автора поблагодарили: X-Lady (1). |