Тема: query grid
Показать сообщение отдельно
Старый 06.05.2004, 10:57   #14  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Re: бла-бла
Цитата:
Изначально опубликовано ald
Над оригинальностью Ваших ответов действительно охото посмеятся!!!
долго думал перед тем как ответить.
не уверен, что ответ поможет вам. Но вдруг заставит задуматься других.
Извините, за сознательно резкий тон.

Итак, ald. Вы делаете динамическую форму, которая будет показывать 6 таблиц.
Я бы посоветовал вам следовать рекомендациям best practice и сделать 6 статических форм для каждой таблицы. Однако ж побоялся задеть ненароком и порекомендовал компромиссный вариант - одна форма с 6 закладками и 6 гридами. (И зря, кстати, побоялся)

Похоже вы таки хотите продолжать динамическое программирование.

Тогда подумайте вот о каких моментах работы пользователей:
  • пользователь может настраивать порядок колонок в формах. Вы думали об этом, когда начали программировать?
  • пользователь может настраивать внешний вид форм (скрывать и добавлять поля) при помощи кнопки настройка. Вы думали об этом когда начали программировать?
  • пользователь может включать фильтры в любой форме. Вы думали об этом, когда начали программировать?
  • пользователь по любой форме может получить автоотчет. Вы думали об этом, когда начали программировать?

Скорее всего не думали вы о пользователях. Или у вас есть куча времени и денег для того, чтобы перепрограммировать стандартное поведение на вашей чудо-форме.

Но уж о себе любимом программисте-администраторе вы наверняка подумали. Так ведь?
  • Поля и таблицы могут физически включаться/выключаться при помощи конфигруационных ключей. Вы наверняка это предумотрели в своем суперкоде при программировании.
  • В Аксапте есть горизонтальные фильтры - RLS. Вы наверняка это предусмотрели при построении query, не так ли?
  • Доступ к полям и таблицам может быть ограничен security-ключами. Вы наверняка предумотрели вертикальное ограничение доступа. Программировали? А тестировали? А насчет прав доступа на форме на вычислимые поля думали? А тестировали?
  • У вас одна форма, которая отображает разные данные. Вы знаете, что в Аксапте разным пользователям настроить разный доступ. Вы наверняка предусмотрели возможность когда один пользователь может посмотреть одну таблицу в вашей суперформе, а другой только другую. И наверняка это настраивается стандартными средствами.
  • Вызвать вашу форму из другого места наверняка не составляет никакого труда... Как обычно вызываем созданный вами menuItem... А? нет? код надо писать? Args заполнять вручную... Не верю, что так сложно. Конечно же вы предусмотрели легкий вызов.
  • В Аксапте есть функциональность dinalink. Это когда форма вызывается из другого места и показывает только связанные записи. Например, клиенты и заказы. Можно из клиентов вызвать форму с заказами. Тогда Аксапта сама покажет заказы только этого клиента. Специально программировать ничего не нужно. Но на вашей супер-перепрограммированной форме диналинк надо программировать руками. И вы конечно же это сделали. Правда ведь?
  • и т.п.

Я правильно понимаю, что вместо того, чтобы накидать мышкой 6 форм или 6 закладок вы предпочитаете перехватывать у ядра и программировать руками перечисленный выше функционал?

Ах да, наверняка ваша форма выполняет какие-то вычисления... И вы наверняка НЕ следовали стандартам и рекомендациям и весь код написали в форме, а не в классе (иначе вы легко бы создали еще 6 или 36 форм)... Тогда я про работу в трехуровневой среде спрашивать не буду... (Ну в самом деле, в пень рекомендации, нафига они вообще нужны?)

К чему это я.
Не программируйте бездумно. Думайте, пожалуйста.

Как правило, когда программист начинает решать задачи динамического программирования, то он решает сугубо свои программисткие задачи, нафиг не нужные пользователям. Мало того, как правило, результат динамического программирования становится чуждым в системе. Пользователи и консультанты плюются и матюкаются когда встречают подобные программистские изыски.

ald, поверьте 90% сложностей и неочевиднгостей в Аксапте связаны с тем, что программист придумал свое программистское никому не нужное суперрешение.

Решайте задачи пользователей. Используйте статическое программирование. Постарайтесь вообще не программировать. Либо будтье готовы, что бюджет будет превышен в несколько раз (в Аксапте есть где развернуться программисту)