|
11.01.2007, 15:17 | #1 |
Участник
|
Цитата:
похоже, вы начинаете писать некий "универсальный обработчик". Я уже говорил, что необходимость в универсальном обработчике возникает, как правило, в тех случаях, когда программист мало знает о предметной области... Попытка программистов делать "универсальные обработчики" зачастую приводит к тому, что вместо реальных задач клиентов решаются некие программистские задачи (остальным не нужные и не интересные). Так например,... Во-вторых, Вместо нормальных дисплейных методов вы будете вынуждены разбираться с типами этих контролов. Так значение строкового контрола читается одним методом, значение даты читается другим методом, значение enum читается третьим методом и т.п. Другими словами при создании вашего "универсального обработчика" вы с удовольствием будете заниматься программисткими задачами, которые мало приблизят вас к решению задачи, потому что... В-третьих, при работе с контролами вам придется заниматься вопросами безопасности вручную. Поле, с которым связан контрол может быть запрещено конфигурационным ключом, секьюрити ключом, либо настройками пользователя. Скрытые контролы не рассчитываются и не получают никаких значений. Таким образом, вместо того, чтобы заниматься задачами пользователей, вы будете заниматься обеспечением нескрываемости нужных вам контролов. Но это еще не все... В чертвертых, вы будете бороться со штатным механизмом кэширования. Почитайте о кэшировании, о свойстве NotInTts. И это не все. В пятых, вы будете материться на штатный механизм проверки измененных данных. Аксапта - многопользовательская система. И данные, введенные в форму перед записью проверяются - "а не изменил ли кто введенные данные?". А считанное из контрола значение может не совпадать с текущим значением в базе... и т.д. Там еще много подводных камней... Не дай бог вы начнете использовать ListView (как это сделано в оборотно-сальдовых ведомостях и в налоговом учете). В общем, займитесь решением задачи ваших клиентов. Не тратьте время на интеллектульный онанизм. ЗЫ: если вы сейчас начнете говорить, что делаете системную утилиту... Пожалуйста не надо. Вам пока лучше воздержаться от создания системных утилит. Приступайте к ним после того, как разберетесь со штатными возможностями ядра. |
|