Показать сообщение отдельно
Старый 11.01.2007, 15:17   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от PODOL Посмотреть сообщение
Как доступиться до значений полей уже открывшегося грида ?
датасорс не подходит, т.к. дисплейные методы могут иметь место...
Во-первых,

похоже, вы начинаете писать некий "универсальный обработчик".
Я уже говорил, что необходимость в универсальном обработчике возникает, как правило, в тех случаях, когда программист мало знает о предметной области...
Попытка программистов делать "универсальные обработчики" зачастую приводит к тому, что вместо реальных задач клиентов решаются некие программистские задачи (остальным не нужные и не интересные). Так например,...

Во-вторых,
Вместо нормальных дисплейных методов вы будете вынуждены разбираться с типами этих контролов. Так значение строкового контрола читается одним методом, значение даты читается другим методом, значение enum читается третьим методом и т.п. Другими словами при создании вашего "универсального обработчика" вы с удовольствием будете заниматься программисткими задачами, которые мало приблизят вас к решению задачи, потому что...

В-третьих,
при работе с контролами вам придется заниматься вопросами безопасности вручную. Поле, с которым связан контрол может быть запрещено конфигурационным ключом, секьюрити ключом, либо настройками пользователя. Скрытые контролы не рассчитываются и не получают никаких значений. Таким образом, вместо того, чтобы заниматься задачами пользователей, вы будете заниматься обеспечением нескрываемости нужных вам контролов.

Но это еще не все...
В чертвертых,
вы будете бороться со штатным механизмом кэширования.
Почитайте о кэшировании, о свойстве NotInTts.

И это не все.
В пятых,
вы будете материться на штатный механизм проверки измененных данных. Аксапта - многопользовательская система. И данные, введенные в форму перед записью проверяются - "а не изменил ли кто введенные данные?". А считанное из контрола значение может не совпадать с текущим значением в базе...

и т.д.
Там еще много подводных камней...
Не дай бог вы начнете использовать ListView (как это сделано в оборотно-сальдовых ведомостях и в налоговом учете).

В общем, займитесь решением задачи ваших клиентов.
Не тратьте время на интеллектульный онанизм.


ЗЫ: если вы сейчас начнете говорить, что делаете системную утилиту... Пожалуйста не надо. Вам пока лучше воздержаться от создания системных утилит. Приступайте к ним после того, как разберетесь со штатными возможностями ядра.
__________________
полезное на axForum, github, vk, coub.