Проверка заполнения параметров кредитного договора

Автор:AbramovAI
Дата:06.12.2012
Просмотров:3989
Скачиваний:2077
Оценка:, Оценок - 1
Сохранить в файле

Обсудить в форуме

Описание

Понадобилось перед открытием счетов проверять на заполнение ряда параметров
макрос по 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;