AddRec

 //*************************
 //* Добавление  записи    *
 //* AddRec() --> lSuccess *
 //*************************

 FUNCTION ADDREC(lYesLock)
   FIELD USER_INFO
   LOCAL nWaitSeconds := 30, lRet := .F.
   lYesLock := lYesLock == NIL
   IF !_REC_YES .AND. !Bs_IsTmp().AND.lYesLock
     nWaitSeconds := 0
     IF lYesMessage
       lYesMessage := .F.
       SAYANDWAIT( { 'Добавление запрещено администратором!' } )
     ENDIF
   ELSE
     DO WHILE ( nWaitSeconds-- > 0 ) .OR. (lGetLock .AND. GetAllLock(.T.,@lRet))
       APPEND BLANK
       IF ( lRet := !NETERR() )
         IF FIELDPOS('USER_LOCK') > 0
           FIELD->USER_LOCK := ALLTRIM(IDENT_USER)+' '+DTOS(DATE())+' '+TIME()
           DBCOMMIT()
           END
         IF FIELDPOS('USER_INFO') > 0
           USER_INFO := PADR(Global_set[2],6)+DTOS(DATE())+TIME()
         ENDIF
         // Lexx
         IF FIELDPOS("CRYPT_CODE") != 0 .AND. !EMPTY(Global_Set[2])
           FIELD->CRYPT_CODE := CHR(VAL(SUBSTR(DTOC(DATE()),1,2)))+CHR(VAL(SUBSTR(DTOC(DATE()),4,2)))+CHR(VAL(SUBSTR(DTOC(DATE()),7,2)))+CHR(VAL(SUBSTR(TIME(),1,2)))+CHR(VAL(SUBSTR(TIME(),4,2)))+Global_Set[2]
           FIELD->CRYPT_CODE := CRYPT(FIELD->CRYPT_CODE,"Crypt_A3")
         ENDIF
         EXIT           // Запись добавлена
       ENDIF
       INKEY(0.1)         // ожидание 0.l секунды
     ENDDO
   ENDIF
   #ifdef NO_ERROR
   RETURN (lRet .AND. AddRecInfoCRC())           // заблокирована ?
 #ELSE
   RETURN (lRet)           // заблокирована ?
 #ENDIF