Проверка заполнения параметров кредитного договора
Сохранить в файлеОбсудить в форуме
Описание
Понадобилось перед открытием счетов проверять на заполнение ряда параметров
макрос по alt-M подключается на шаге до открытия счетов
макрос по alt-M подключается на шаге до открытия счетов
Текст примера
//Предпроверка данных перед открытием счетов import SbCrdInter; /* В случае ошибки возвращать false*/ record Операция ("crd_op.dbt", "loans.def");//операция по договору var РВПС =TBFile ("crdrghb.dbt", "R", 0, "crdrghb.dbt", "loans.def"), Обеспечение =tbfile("enscontr.dbt", "R",1,"enscontr.dbt", "loans.def" ), Обязательство=tbfile("duty_crd.dbt", "R",1,"duty_crd.dbt", "loans.def" ), ПроцентныеСтавки = tbfile("lhstrate.dbt", "R",2,"lhstrate.dbt", "loans.def" ), IsOk=TRUE, Ok1=false, ; macro ПроверкиПользователя(OperDate, IOEnadble) // debugbreak; if (Операция.ObjectTypeID_ref==1) Обеспечение.rec.CreditNumber_ref=Операция.CreditNumber_ref; Обеспечение.rec.EnsContractStatus=0; Обеспечение.rec.EnsContractID=0; // Обеспечение.getge; if (NOT Обеспечение.getge); gettrue (ok1," Есть-ли договора обеспечения к данному кредитному договору ?"); if (OK1); msgbox (" Введите договора обеспечения !!!"); isOk=False; else IsOk=true; end; end; if (Обеспечение.rec.CreditNumber_ref!=Операция.CreditNumber_ref); gettrue (ok1," Есть-ли договора обеспечения к данному кредитному договору ?"); if (OK1); msgbox (" Введите договора обеспечения !!!"); isOk=False; else IsOk=true; end; end; РВПС.rec.objectType =Операция.ObjectTypeID_ref; РВПС.rec.objectNumber=Операция.CreditNumber_ref; РВПС.rec.date=OperDate; РВПС.rec.credoperid_ref=999999999999999; РВПС.getle; if (РВПС.rec.objectNumber!=Операция.CreditNumber_ref) ;IsOk=false; MSGBOX ("Введите группу риска !!!"); end; Обязательство.rec.CreditNumber_ref=Операция.CreditNumber_ref; Обязательство.rec.DutyType=0; Обязательство.rec.DutyState="О"; if (NOT Обязательство.geteq) MSGBOX ("Откройте срочное обязательство !!!"); IsOk=false; end; ПроцентныеСтавки.rec.ObjectType =Операция.ObjectTypeID_ref; ПроцентныеСтавки.rec.ObjectNumber =Операция.CreditNumber_ref; ПроцентныеСтавки.rec.Date =date(0, 0, 0); ПроцентныеСтавки.getge; if ( (ПроцентныеСтавки.rec.ObjectType!=Операция.ObjectTypeID_ref) or (ПроцентныеСтавки.rec.ObjectNumber!=Операция.CreditNumber_ref) ) MSGBOX ("Введите процентные ставки 'ctrl-F6' !!!");IsOk=false; else // Можно проверить ставки по виду end; end; return IsOk; end;