Страница 1 из 1

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

Добавлено: 19 ноя 2012, 11:25
Руслан
Подскажите, пожалуйста, как можно сделать поля обязательными для заполнения, не используя ALTER????

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

Добавлено: 19 ноя 2012, 13:02
Den
например,табличными триггерами

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

Добавлено: 19 ноя 2012, 15:33
edward_K
в последних обновления если вы зайдете в конфигурирование свойств поля есть возможность задавать цвет полей.
Если вам нужно что то более серьезное, то либо тригерами(но это не всегда пройдет так как в фейс не будет обратной связи - разве что вы в самом тригере зациклите), либо все таки докомпиляция в события cmCheckRecord, cmDone.

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

Добавлено: 19 ноя 2012, 16:11
Руслан
edward_K писал(а):в последних обновления если вы зайдете в конфигурирование свойств поля есть возможность задавать цвет полей.
Если вам нужно что то более серьезное, то либо тригерами(но это не всегда пройдет так как в фейс не будет обратной связи - разве что вы в самом тригере зациклите), либо все таки докомпиляция в события cmCheckRecord, cmDone.
Если бы в конфигураторе добавили такой параметр, то это было бы самое оно... Ясно, спасибо за варианты

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

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

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

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

cmDone:
{
     if  dop <>'' then closeWindow( wKatOrg )
     else {message('Заполните поле "Бизнес-единица"')
     runinterface(C_EXTCLASS::PickExClassifier2,1418,85,281474976710866,ExClassName.UNIQFEAT)
     };
}            

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

Добавлено: 31 янв 2014, 13:43
Den
Навскидку...Вы же не abort-ируете событие. Судя по приведенного коду, у Вас вылезает мессаг данный, вызывается интерфейс внешнего классификатора, то если чел там откажется от выбора - то это не будет считаться "криминалом".

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

Добавлено: 03 фев 2014, 08:06
solkalin
криминалом не считается, а надо, чтобы считалось : )

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

Добавлено: 04 фев 2014, 11:39
edward_K
чтобы считалось нужно сделать abort. Можно зациклить - но аккуратно.
И не забывайте при перехватывании вызвать стандартную обработку
Здесь

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

if  inherited :: handleEvent (cmDone)=heAbort then abort;
в конце вашего кода.

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

Добавлено: 06 фев 2014, 08:41
solkalin
Все работает, как надо. Спасибо, edward_K!