21.03.2012, 08:58 | #1 |
MCTS
|
Создание нового журнала
Здравствуйте. Необходимо создать новый журнал в аксапте. Так же, как и обычные с Названием, с Шапкой, Строками, проверкой/разноской итд. Причем он не завязан ни к модулю номенклатур, ни к модулю ГК. Проводок там создаваться не будет. Tutorial-ы в 2009 аксапте сделаны по одному из этих модулей. Подскажите, пожалуйста, с чего начать, куда смотреть в этом вопросе?
|
|
21.03.2012, 09:01 | #2 |
Ищущий знания...
|
Цитата:
Сообщение от Eldar9x
Здравствуйте. Необходимо создать новый журнал в аксапте. Так же, как и обычные с Названием, с Шапкой, Строками, проверкой/разноской итд. Причем он не завязан ни к модулю номенклатур, ни к модулю ГК. Проводок там создаваться не будет. Tutorial-ы в 2009 аксапте сделаны по одному из этих модулей. Подскажите, пожалуйста, с чего начать, куда смотреть в этом вопросе?
Вообще все журналы сделаны примерно по одному виду. Я бы сделал по аналогии с InventJournalTable (хотя конечно, повторюсь, все зависит от бизнес назначения журнала).
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.03.2012, 09:05 | #3 |
MCTS
|
Это для отдельно живущего самодельного транспортного модуля. Там есть свои таблицы, в которых при разноске и будут происходить изменения. Вот в том то и дело, я сейчас ума не приложу, с чего хотя бы начать сейчас...
|
|
21.03.2012, 09:13 | #4 |
Участник
|
Цитата:
— А у вас нет такой же, но с пелра… перламутровыми пуговицами?
— К сожалению, нет. — Нет? Будем искать. X++: //class TutorialJournalCheckPost extends JournalCheckPostLedger class myTutorialJournalCheckPost extends JournalCheckPost { } |
|
21.03.2012, 09:18 | #5 |
Ищущий знания...
|
Цитата:
Во первых, для начала, я бы описал архитектуру и функционал ваших журналов. Что как должно отображаться, как и с чем они будут взаимодействовать, что как должно разноситься, где и на что будут влиять эти журналы. Пусть Вы потратите немного больше времени, чем хотелось бы, но описав (причем достаточно подробно) функционал и архитектуру, как мне кажется, Вам станет понятно в каком направлении двигаться, и что брать за пример. З.Ы. ну и как уже сказал S.Kuskov наследоваться Вам нужно будет от базовых классов.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.03.2012, 09:24 | #6 |
MCTS
|
Спасибо. Я еще где-то видел статью по созданию новых журналов. Как раз по ней очень давно создавал какой-то новый журнал УЗ. Но вот сейчас что-то не могу найти. Помню только, что там по порядку очень хорошо были разжеваны все моменты этого вопроса...
|
|
21.03.2012, 09:34 | #7 |
Участник
|
|
|
21.03.2012, 09:48 | #8 |
MCTS
|
|
|
21.03.2012, 11:18 | #9 |
Участник
|
Цитата:
Цитата:
Если журнал ни с чем не связан - сделайте 2 таблички и 2 кнопки - проверить/разнести. Пропишите действия хоть на форме хоть в своем-же классе и радуйтесь стабильной и ПОНЯТНОЙ работе! зы Вообще не понимаю наличия ООП в управленческих системах! Ну, например, семейство классов SalesPurch - нафига они нужны вместе? Зачем их объединили, чтоб потом в поте лица определять что это - салес или же пурч, ёперный балет!
__________________
Axapta 3.0 sp - хз какой, kr2 |
|
|
За это сообщение автора поблагодарили: denny (1). |
21.03.2012, 11:28 | #10 |
Ищущий знания...
|
Цитата:
Сообщение от egorych
Можно спросить - а задлянафига? Потренироваться в наследовании? Или охота поковыряться в базовых классах?
Если журнал ни с чем не связан - сделайте 2 таблички и 2 кнопки - проверить/разнести. Пропишите действия хоть на форме хоть в своем-же классе и радуйтесь стабильной и ПОНЯТНОЙ работе! зы Вообще не понимаю наличия ООП в управленческих системах! Ну, например, семейство классов SalesPurch - нафига они нужны вместе? Зачем их объединили, чтоб потом в поте лица определять что это - салес или же пурч, ёперный балет! Цитата:
Ну так начните с малого, "распутывайте клубок" постепенно.
Во первых, для начала, я бы описал архитектуру и функционал ваших журналов. Что как должно отображаться, как и с чем они будут взаимодействовать, что как должно разноситься, где и на что будут влиять эти журналы. Пусть Вы потратите немного больше времени, чем хотелось бы, но описав (причем достаточно подробно) функционал и архитектуру, как мне кажется, Вам станет понятно в каком направлении двигаться, и что брать за пример. Цитата:
З.Ы. ну и как уже сказал S.Kuskov наследоваться Вам нужно будет от базовых классов.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.03.2012, 11:47 | #11 |
Участник
|
Согласен.
Из личного опыта - на проекте тоже была необходимость создать новый журнал – для принципиально новых сущностей. Разработчик оценил эту задачу в довольно большое количество часов – уж не помню какое, но мне оно не понравилось. Тогда было предложено не использовать стандартный подход, а сделать просто отдельные формочки. Все это было «слизано» со стандартных журналов коммерческих соглашений. Оценки уменьшилась в разы. Результатом все довольны. Но это частный случай, функциональность таки получилось урезанной. Такие фичи, как блокировка журнала открытого другим пользователем, настройки журналов для групп не реализовывались. Для нас это было не критично. Тут уже вам решать. |
|
21.03.2012, 12:04 | #12 |
Участник
|
Дьявол, как всегда, в деталях. Сделать что-то своё сбоку - оно конечно много проще.
Работать оно будет, Но вам прийдётся придумать объяснение для пользователей и консультантов, почему те функции к которым они привыкли при работе с стандартными журналами не реализованы у вас. О чём я говорю. На вскидку:
Итого. Если вы хотите что бы для пользователя работа в системе со стандартными журналами не отличалась от работы с вашими журналами, то наследование базовой логики - это просто само-собой разумеющееся. Если не хотите - ваш выбор. |
|
|
За это сообщение автора поблагодарили: lev (5). |
21.03.2012, 12:43 | #13 |
MCTS
|
Цитата:
Сообщение от egorych
Можно спросить - а задлянафига? Потренироваться в наследовании? Или охота поковыряться в базовых классах?
Если журнал ни с чем не связан - сделайте 2 таблички и 2 кнопки - проверить/разнести. Пропишите действия хоть на форме хоть в своем-же классе и радуйтесь стабильной и ПОНЯТНОЙ работе! |
|
21.03.2012, 13:24 | #14 |
Участник
|
Цитата:
простенькая она пока полностью не осознаешь что от нее требуется делайте по туториалу. |
|
|
За это сообщение автора поблагодарили: lev (1). |
21.03.2012, 13:39 | #15 |
Участник
|
Нужно будет прописать свои таблицы в Map:
JournalNameMap JournalTableMap JournalTransMap Не претендую на 100% правильность, но я при создании журналов создал наследников от перечисленных классов и перекрыл следующие методы: JournalFormTable - dataSourceCreatePost - dataSourceCreatePre - datasourceExecuteQueryPre - datasourceValidateDeletePost - enableButtonsActive - initAllOpenPostedFromCaller - initDatasourceAllow - queryAddRange - valueAllOpenPosted JournalFormTrans - dataSourceInitValuePost - dataSourceInitValuePre - dataSourceWritePre - initButtons - initDataSourceAllow JournalStatic - journalName - journalTable - journalTrans - journalTypeIdToEnum - menuItemStrLines //эта реализация мне не нравиться. В зависимости от типа журнала подменятся MenuItem для кнопки строк. Из-за этого неудобно настраивать права. - nameFieldIdJournalNameId - newJournalTransData - newJournalVoucherNum - numRefJournalId - standardJournalNameId JournalTableData - canBeAutoUnlocked - checkOpen - initFromJournalName - updateTable JournalTransData - findVoucher - isVoucherObjectKeyValid - voucherObjectKey Реализовать формы по примеру: InventJournalTable InventJournalMovement |
|
|
За это сообщение автора поблагодарили: mazzy (5), Ruff (2), Eldar9x (3), AP-1055D (1). |
21.03.2012, 13:47 | #16 |
Участник
|
В принципе, там особых сложностей нет:
|
|
|
За это сообщение автора поблагодарили: mazzy (5), Ruff (2), Eldar9x (3), alex55 (1), demoded (2). |