24.02.2004, 21:01 | #1 |
Участник
|
Извечный вопрос: кодить или параметризовать.
Уважаемый All, автоматизируем управление запасами. Имеется довольно много мелких бизнес-процессов, которые чуть-чуть не ложаться в стандартную функциональность. То есть берется группа журналов, например, "Прибыль-Убыток" и пишется ряд кастомизированных журналов, в каждом из которых создаются дополнительные удобства для пользователя, выводятся дополнительные отчеты, создаются ограничения, и т.д. Вопрос, как это программировать. Подхода вижу 2:
1. В таблице "InventJournalName(названия журналов управления запасами)" создается куча настроек, по одной на каждый кастомизированный журнал. Затем модифицируется код стандартного журнала "InventJournalLossProfit(прибыль/убыток)". При этом в соответствующих местах кода проверяется наличие той или иной настройки и в зависимости от этого скрываются контролы, запрещается редактирование, выводятся кнопки и т.д. 2. Под каждый бизнес-процесс создается новый журнал(форма), код которой во многом повторяет код стандартной формы, но при этом он уже максимально кастомизирован, и никаких настроек нет. Первый путь очень заманчиво выглядит, если надо по быстренькому слабать что-то работающее. Но тут 2 проблемы: - модифицируется стандартный код, кто знает, как это стрельнет при смене версии - обилие настроек, обилие проверок и ветвлений одного алгоритма трудно понимается и отлаживается. - поковырявшись в одном месте, можно затронуть другое, даже и не подозревая. - очень трудно закрыть все дырки в пользовательском интерфейсе, запретить и разрешить только то, что надо запретить или разрешить. Второй метод более надежный. Но тут тоже недостаток - надо много стандартного кода, включая алгоритмы проведения, писать много раз. Кроме того повторять во многом формы, контролы, короче, кода будет в несколько раз больше. Хочу услышать мнение, с точки зрения стратегической. Как правильнее кастомизировать Аксапту. При этом надо учитывать именно качество решения с точки зрения смены версий, передачи проекта другой команде, разрастания объемов проекта. Должнен же быть паттерн на эту тему. Буду очень благодарен за коментарии |
|
24.02.2004, 21:17 | #2 |
Banned
|
Не создавайте новых форм путем копирования сложных системных! Рассмотрим ваши два варианта с точки зрения "подъема кода" на новые версии:
Результат: стоимость поддержки второго варианта вплоть до N раз больше. |
|
24.02.2004, 23:06 | #3 |
Учаснег
|
ushastik,
На твоем месте я бы всеми силами сопротивлялся модификации кода. Вплоть до ультиматумов пользователям "привыкайте работать с тем что есть, а не нравится - ...................". Фишка в том, что чем больше вы накастомизируете сейчас - тем больше времени и денег потратите впоследствии на переход на следующую версию. Все, что написано об Аксапте в части "легкости перехода" - верно процента на 3. В реальности, одна лишняя строчка в одном методе может вам потом стОить несколько сотен баксов... Так что, не первый и не второй способ. Вместо этого - меняйте бизнес-процессы. Поверь старому человеку - это ВЫГОДНЕЕ и ДЕШЕВЛЕ!!!
__________________
Strictly IMHO & nothing personal |
|
25.02.2004, 09:19 | #4 |
Участник
|
2 EVGL:
Понял, спасибо. Меня единственно что смущает - одна форма по сути обслуживает сразу несколько бизнес-процессов, и сам ее код становится все запутанней. Но я учту замечания по поводу смены версий. 2 AKIS: Я это и делаю. Только к сожалению мы - производство, и логистическая цепочка у нас другая, и просто сложнее мы чем Аксапта. Потом у меня есть свое личное мнение - IT отдел должен служить основному бизнесу, а не наоборот. То есть пользователям должно быть удобно. Это экономит время и нервы. То есть должна быть дуракоустойчивость системы. Можно полагаться на должностные инструкции, но я бы предпочел иметь непробиваемое рабочее место для данного бизнес-процесса. Если особенности софта ставить впереди бизнес-процессов, нас могут не понять. Возможно, я перегибаю. |
|
25.02.2004, 09:44 | #5 |
Участник
|
ИМХО: тут народ уже так привык к словам об уникальности предприятия... когда на проверку оказывается, что все стандартно и уже реализовано... просто спрашивающий не нашел... в общем про уникальность и про "больше, чем Аксапта" сходу верится с трудом... хотя это конечно же возможно.
В Аксапте действительно есть вещи, которые хочется добавить. Но журнал ли это? И действительно ли вы натолкнулись именно на них... А так, согласен с предыдущими ораторами. Разве что совет EVGL кодировать все в одной форме мне тоже кажется радикальным. Но навскидку он правильный, поскольку верится с трудом, что у вас суперотличия от стандартного функционала. Скорее, вы не разобрались со стандартом |
|
25.02.2004, 10:02 | #6 |
Участник
|
На сколько я понял задача сводится к показу одной и той же формы, кастомизируемой под разные прикладные задачи. Т.е. фактически отличие только во внешнем виде...
Если это так, то чем не подходят стандартные функции настройки внешнего вида формы для пользователей??? |
|
25.02.2004, 10:39 | #7 |
Участник
|
Цитата:
Изначально опубликовано uvi
На сколько я понял задача сводится к показу одной и той же формы, кастомизируемой под разные прикладные задачи. Т.е. фактически отличие только во внешнем виде... Если это так, то чем не подходят стандартные функции настройки внешнего вида формы для пользователей??? |
|
25.02.2004, 11:48 | #8 |
Участник
|
оффтоп - стильный аватор
Ушастик - очень стильный у вас аватор (картинка для ваших сообщений).
__________________
Уточните значение слов и вы избавите человечество от половины его заблуждений. (Рене Декарт) / Axapta 2.5 |
|
25.02.2004, 13:33 | #9 |
Участник
|
Цитата:
Изначально опубликовано ushastik
Дело не во внешнем виде. Дело в дополнительной функциональности. Которая одним нужна, а другим вредна. Этот вопрос конечно можно решить путем настроек прав доступа на группу пользователей, но как ты организуешь такой доступ: "аналитику можно задать один раз и больше не изменять". Т.е., невозможно принять решение оперируя такими фразами, как "как лучше делать в принципе потомучто что будет потом - я не знаю?", ответ на такой вопрос никогда не найти. И сам вопрос в общем-то глупый. Кстати, ищете ответы на вопросы - смените аватар. Здесь люди знания ищут, а не члены разглядывают. И куда смотрят админы? =\ |
|
25.02.2004, 16:00 | #10 |
Участник
|
некоторые админы проморгали.
Извините, я не вглядывался и не обратил внимания. komar сработал отлично. Письмо с просьбой сменить аватара послано участнику ushastik. Спокойствие. ushastik, надеюсь у вас хватит доброй воли и вы не будете вынуждать применять админпанель. |
|
25.02.2004, 16:37 | #11 |
Участник
|
2 Lsh:
Мне вопрос глупым не кажется, тем более что я получил несколько довольно грамотных ответов. Фактов у меня мало, согласен, поэтому и спрашиваю. Было бы много фактов, я бы сам отвечал. 2 All: За аватар прошу прощения, хотя он мне нравился. |
|
25.02.2004, 17:12 | #12 |
Шаман форума
|
Рискну предположить, что лучше все-таки несколько форм. Доводы такие:
-суперформа будет жутко тормозить, много мелких тормозить не будут -"мучительные поиски" заменяются грамотным документированием разработки -мелкие формы по минимуму отличаются от стандартной, суперформа значительно отличается. Соответственно, обновлять ее труднее. -много одинакового кода писать не надо, есть же копирование, есть же использование стандартных классов -легче разграничивать доступ |
|
26.02.2004, 01:25 | #13 |
Аксакал в отставке
|
Думаю, что прежде всего необходимо классифицировать предполагаемые модификации исходя из предполагаемых путей реализации:
0) организационные меры (инструкции, приказы, СтП, ТПУ и пр.) 1) сокрытие лишних полей и осуществление прочего дизайна форм с настройкой под конкретное АРМ; 2) изменение прототипа система (пересмотр настроек); 3) написание новых журналов; 4) добавление/изменение логики обработки стандартных журналов системы: а) незначительные модификации (например, новое поле); б) значительные модификации (затрагивают функционал других частей системы). Пункты следует применять последовательно и итерационно, начиная с (0), то есть по максимуму решить все пунктами (0), если не получается - то (1) и т.д. Что лучше делать (3) или (4а) - вопрос сложный. Осуществление пункта (4б) лучше делать после согласования со специалистами MBS , а в ряде случаев с другими партнерами/клиентами MBS, желательно под рукой иметь смету в трудовых/денежных измерителях на реализацию (включая документирование) и на дальнейшую поддержку и апгрейд. P.S. Интересно, что у Вас попадает под пункт (4б) ?
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|
26.02.2004, 01:44 | #14 |
Учаснег
|
Цитата:
Потом у меня есть свое личное мнение - IT отдел должен служить основному бизнесу, а не наоборот. То есть пользователям должно быть удобно. Это экономит время и нервы
Даже если вы собираетесь делать все своими силами, не привлекая сторонние компании - у вашего бизнеса наверняка есть для вас задачи поважнее, чем тупое перелопачивание кода. А удобство, я всегда говорю - вопрос субъективный. Мне в России казалось НЕудобным ездить на машине с коробкой-автоматом. В Канаде мне кажется НЕудобной езда с механической коробкой (каковая тут крайняя редкость). Вашим пользователям может быть удобно приходить на работу часам к 10, в пляжных шортах и пить пиво на рабочем месте. И это им ТОЖЕ будет экономить время и беречь их нервы. Готов ваш бизнес пойти им навстречу в этом? Объясните мне, почему "удобство нажимания кнопок" является "оправданным", а пития пива - нет? Все в конце концов дело привычки. Если вы не пойдете на поводу у своих юзеров - через год они и помыслить себе не смогут, как вводили данные "по-старому". С другой стороны, если вы действительно хотите создать неограниченный фронт работ ИТ-отделу на ближайшую и отдаленную перспективу - то самый верный способ это начать все модифицировать. Гарантирую, что вопрос о вашем увольнении за ненадобностью не встанет по крайней мере лет пять
__________________
Strictly IMHO & nothing personal |
|
26.02.2004, 01:48 | #15 |
Учаснег
|
Цитата:
Только к сожалению мы - производство, и логистическая цепочка у нас другая, и просто сложнее мы чем Аксапта.
__________________
Strictly IMHO & nothing personal |
|
26.02.2004, 01:55 | #16 |
Аксакал в отставке
|
AKIS
Доводя твою мысль до конца, можно повторить неоднократно высказанное мнение о предназначения ERP-систем: ERP-система, как система управления предприятием, предназначена для высшего менеджмента, следовательно работа ее должна быть построена таким образом, чтобы оперативно обеспечить "владельцам" системы всю необходимую достоверную информацию о процессах управления на предприятии. То есть проблемы обычных пользователей - это их трудовые обязанности: сказано использовать этот молоток - работай. А далее дискуссии об условиях труда работников предприятия и его достойной оплате не должны касаться внедренцев АСУП. P.S. Надеюсь не исказил смысл?
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|
26.02.2004, 01:59 | #17 |
Аксакал в отставке
|
А может что-нибудь из решений для предприятий легкой промышленности ?
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|
26.02.2004, 05:20 | #18 |
Учаснег
|
Цитата:
Изначально опубликовано Тимур
AKIS P.S. Надеюсь не исказил смысл? Bottom line: Каждый в компании должен делать свое дело. ИТ-департамент занимается информационной инфраструктурой предприятия. Точка. Информационная структура работает (обеспечена техническая возможность ввода, обработки, хранения и вывода данных) - ИТ-департамент справляется со своей задачей. Попытка переложить на ИТ функции HR (создание комфотных условий работы), - а то и просто подменить отделом ИТ работу всей компании ("ваша система - вы в нее данные и вводите..."), - стратегически ошибочна, политически вредна и просто абсурдна.
__________________
Strictly IMHO & nothing personal |
|
26.02.2004, 13:55 | #19 |
Участник
|
Ничего себе.
Вы господа внедренцы получается точно знаете, что нужно клиенту не интересуясь его мнением. Вы считаете что процессы реализванные в Axapte абсолютно оптимальны и непогрешимы. Задача ИТ отдела - оптимизация процессов, а не перепроектирование или реинжиниринг. Это совершенно другие задачи, ими занимаются другие специалисты |
|
26.02.2004, 14:07 | #20 |
Участник
|
Насколько я могу судить, наблюдая картину со стороны, внедрение ИС - это одно, а управленческий консалтинг - это другое. То есть, грубо говоря, определять, куда товар выгружать, как его проверять, куда транспортировать, в каких ящиках хранить, какое оборудование использовать, сколько людей надо, как разделить склад - этим занимается отдельная консалтинговая компания за отдельные деньги. Задача отдела IT - организовать учет этого уже де-факто существующего процесса. Мы можем выступить с предложениями и пожеланиями, но я есть понятие компетенция. И этот вопрос не в компетенции IT-консультантов. Как то мы навешиваем на IT-специалистов задачи, в которых они не соображают. Простите, если глючу
|
|
Теги |
как правильно, настройка, программирование |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|