Поля, обязательные для заполнения

ПНР и сопровождение

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Поля, обязательные для заполнения

Сообщение Руслан »

Подскажите, пожалуйста, как можно сделать поля обязательными для заполнения, не используя ALTER????
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Поля, обязательные для заполнения

Сообщение Den »

например,табличными триггерами
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Поля, обязательные для заполнения

Сообщение edward_K »

в последних обновления если вы зайдете в конфигурирование свойств поля есть возможность задавать цвет полей.
Если вам нужно что то более серьезное, то либо тригерами(но это не всегда пройдет так как в фейс не будет обратной связи - разве что вы в самом тригере зациклите), либо все таки докомпиляция в события cmCheckRecord, cmDone.
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Поля, обязательные для заполнения

Сообщение Руслан »

edward_K писал(а):в последних обновления если вы зайдете в конфигурирование свойств поля есть возможность задавать цвет полей.
Если вам нужно что то более серьезное, то либо тригерами(но это не всегда пройдет так как в фейс не будет обратной связи - разве что вы в самом тригере зациклите), либо все таки докомпиляция в события cmCheckRecord, cmDone.
Если бы в конфигураторе добавили такой параметр, то это было бы самое оно... Ясно, спасибо за варианты
solkalin
Постоянный гость
Сообщения: 60
Зарегистрирован: 23 ноя 2011, 11:59

Re: Поля, обязательные для заполнения

Сообщение solkalin »

В карточку контрагента через Alter Interface добавила доп. поле заполняемое из внеш.классификатора.
Подскажите пожалуйста, что и где прописать в коде, чтобы карточка контрагента не закрывалась до тех пор, пока доп. поле не заполнено?

Пока что прописано в cmDone:

Код: Выделить всё

cmDone:
{
     if  dop <>'' then closeWindow( wKatOrg )
     else {message('Заполните поле "Бизнес-единица"')
     runinterface(C_EXTCLASS::PickExClassifier2,1418,85,281474976710866,ExClassName.UNIQFEAT)
     };
}            
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Поля, обязательные для заполнения

Сообщение Den »

Навскидку...Вы же не abort-ируете событие. Судя по приведенного коду, у Вас вылезает мессаг данный, вызывается интерфейс внешнего классификатора, то если чел там откажется от выбора - то это не будет считаться "криминалом".
solkalin
Постоянный гость
Сообщения: 60
Зарегистрирован: 23 ноя 2011, 11:59

Re: Поля, обязательные для заполнения

Сообщение solkalin »

криминалом не считается, а надо, чтобы считалось : )
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Поля, обязательные для заполнения

Сообщение edward_K »

чтобы считалось нужно сделать abort. Можно зациклить - но аккуратно.
И не забывайте при перехватывании вызвать стандартную обработку
Здесь

Код: Выделить всё

if  inherited :: handleEvent (cmDone)=heAbort then abort;
в конце вашего кода.
solkalin
Постоянный гость
Сообщения: 60
Зарегистрирован: 23 ноя 2011, 11:59

Re: Поля, обязательные для заполнения

Сообщение solkalin »

Все работает, как надо. Спасибо, edward_K!
Ответить