AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.04.2009, 18:07   #1  
Gostapko is offline
Gostapko
Участник
 
5 / 10 (1) +
Регистрация: 17.03.2015
привет.

Заказчик озвучил интересную задачу: при сохранении записи с незаполнеными обязательными полями нужно подсветить поле красным цветом (например), а если на форме несколько закладок (таб контрол), то сначала переключить на нужную закладку. Переключить - SendKeys, а вот как с "подсветкой" быть? Доступиться в рантайме к свойствам Border и иже с ними нельзя, а подсветить надо. У кого какие идеи будут?

Н.Б. Идеи о красивых сообщениях не принимаются, нужно именно "покрасить в синий цвет" . заказчик нынче на вес золота и спорить с ним - последнее дело )
Старый 28.04.2009, 19:03   #2  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от Genost Посмотреть сообщение
привет.

Заказчик озвучил интересную задачу: при сохранении записи с незаполнеными обязательными полями нужно подсветить поле красным цветом (например), а если на форме несколько закладок (таб контрол), то сначала переключить на нужную закладку. Переключить - SendKeys, а вот как с "подсветкой" быть? Доступиться в рантайме к свойствам Border и иже с ними нельзя, а подсветить надо. У кого какие идеи будут?

Н.Б. Идеи о красивых сообщениях не принимаются, нужно именно "покрасить в синий цвет" . заказчик нынче на вес золота и спорить с ним - последнее дело )
1. Берем нужные поля и делаем им клоны, крашеные в нужные цвета.
2. Кладем клоны на тех же вкладках, что и оригиналы (не надо накладывать на сами оригиналы) и делаем их не видимыми
3. В момент Х делаем оригиналы невидимыми, задаем клонам координаты оригинала и делаем их видимыми. Командуем CurrForm.ИмяКлона.ACTIVATE;

Все.
Старый 28.04.2009, 19:08   #3  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Цитата:
Сообщение от Genost Посмотреть сообщение
Заказчик озвучил интересную задачу: при сохранении записи с незаполнеными обязательными полями нужно подсветить поле красным цветом (например), а если на форме несколько закладок (таб контрол), то сначала переключить на нужную закладку. Переключить - SendKeys, а вот как с "подсветкой" быть? Доступиться в рантайме к свойствам Border и иже с ними нельзя, а подсветить надо. У кого какие идеи будут?

Н.Б. Идеи о красивых сообщениях не принимаются, нужно именно "покрасить в синий цвет" . заказчик нынче на вес золота и спорить с ним - последнее дело )
Я бы переключался между закладками с помощью Activate.


Код:
Form - OnQueryCloseForm() : Boolean
IF "Field1" = '' THEN BEGIN
  CurrForm."Field1".Activate;
  ERROR('');
END;
Что касается цвета. То первое, что приходит в голову - это завести элементы управления-дублеры, покрашенные в нужный цвет, и делать их видимыми, а обычные элементы управления скрывать (все в том же триггере).


UPD. Медленно писал. Fordewind опередил
Старый 28.04.2009, 19:31   #4  
Gostapko is offline
Gostapko
Участник
 
5 / 10 (1) +
Регистрация: 17.03.2015
Thumbs up
ох, спасибо ребята, но не подходит... такую функциональность нужно предусмотреть на всех формах (мамадарагая). а если заказчик подкрутит еще какой-то ад-он стороннего партнера? туда мы средствами НАВ-а не влезем (лицензия), да и если влезем, то опять-таки нужно продублировать таким макаром все новые формы. сколько их там тыщ только в стандартной поставке?...
может, еще будут варианты?
Старый 29.04.2009, 11:21   #5  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от Genost Посмотреть сообщение
ох, спасибо ребята, но не подходит... такую функциональность нужно предусмотреть на всех формах (мамадарагая). а если заказчик подкрутит еще какой-то ад-он стороннего партнера? туда мы средствами НАВ-а не влезем (лицензия), да и если влезем, то опять-таки нужно продублировать таким макаром все новые формы. сколько их там тыщ только в стандартной поставке?...
может, еще будут варианты?

А у заказчика денег хватит на такую хотелку? Я конечно, понимаю, что кризис и все такое, но это не предусмотрено ядром ну никак.
Старый 29.04.2009, 11:26   #6  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Обычный, стандартный, так не любимый пользователями TESTFIELD мне кажется намного лучше. И тонизирует хорошо. И пользователи расслабляться не будут и знать будут на каких вкладках формы какие поля. Глядишь ориентироваться в СВОЕЙ работе будут лучше -)
Старый 29.04.2009, 12:42   #7  
Sid Vicious is offline
Sid Vicious
Участник
Аватар для Sid Vicious
 
15 / 10 (1) +
Регистрация: 13.02.2008
Цитата:
Сообщение от apanko Посмотреть сообщение
Я бы переключался между закладками с помощью Activate.
Разве такое возможно ? Я не смог найти такой возможности. К этому еще не помешало бы что-то вроде OnActivate().
Старый 29.04.2009, 13:14   #8  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Цитата:
Сообщение от Sid Vicious Посмотреть сообщение
Разве такое возможно ? Я не смог найти такой возможности. К этому еще не помешало бы что-то вроде OnActivate().
Возможно.
Скорее всего вас смутила строка CurrForm."Field1".Activate;
Обратите внимание, что Field1 это не поле, а имя (свойство name) нужного элемента управления (textbox).
Старый 29.04.2009, 13:36   #9  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от Sid Vicious Посмотреть сообщение
Разве такое возможно ? Я не смог найти такой возможности. К этому еще не помешало бы что-то вроде OnActivate().
Нажимаете F5 - CurrForm - Controls - ИмяКонтрола -Zoom In (стрелка внизу)- Functions - Activate
Старый 29.04.2009, 15:22   #10  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
Цитата:
Сообщение от Genost Посмотреть сообщение
Н.Б. Идеи о красивых сообщениях не принимаются, нужно именно "покрасить в синий цвет" . заказчик нынче на вес золота и спорить с ним - последнее дело )
как вариант, кепшены полей красить...
криво, конечно, все это, и кодить много... но, если женщина хочет...


рядом с каждым полем вставить битмапс: желтый треугольник с восклицательным значком.
менять его видимость
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:17.