'Nome       : CTACc.STD
'Tipo       : LST
'Data       : 2002/09/09
'Versao     : 1.0
'Descricao  : Controlo de credito

'------------------------------------------------------------------------------
'#VER - Historia de modificacoes
'------------------------------------------------------------------------------
'- Versao : 1.0  2002/??/?? ---------------------------------------------------
'versao base


'-----------------------------------------------------------------------------
' Definicao global do documento
'-----------------------------------------------------------------------------
#DEF
Caracteres invalidos             [CarInv]=#{}
##


'-----------------------------------------------------------------------------
' Campos especificos
'-----------------------------------------------------------------------------
#ESP
##


'-----------------------------------------------------------------------------
' Configuracao do documento
'-----------------------------------------------------------------------------
#DOC
Tipo                       [DocTip]=CtaPlc
Nome                       [DocNom]=NOR,Listagem Expandida

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=Tx_NorCab
Listar linhas               [FxLIN]=Tx_NorLin,3
Listar fim                  [FxFIM]=Tx_NorFim
##


#DOC
Tipo                       [DocTip]=CtaPlc
Nome                       [DocNom]=RED,Listagem Resumida

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=Tx_RedCab
Listar linhas               [FxLIN]=Tx_RedLin,2
Listar fim                  [FxFIM]=Tx_RedFim
##





'------(Impressao grafica)---------------------------------------------------
#DOC
Tipo                       [DocTip]=CtaPlc
Nome                       [DocNom]=NOR_G,Listagem Expandida

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=56
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_NorCab
Listar linhas               [FxLIN]=PW_NorLin,3
Listar fim                  [FxFIM]=PW_NorFim
##


#DOC
Tipo                       [DocTip]=CtaPlc
Nome                       [DocNom]=RED_G,Listagem Resuminda

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=56
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_RedCab
Listar linhas               [FxLIN]=PW_RedLin,2
Listar fim                  [FxFIM]=PW_RedFim
##
       


'-----------------------------------------------------------------------------
' Variaveis
'-----------------------------------------------------------------------------
#VAR
Tit80    = TxTit$("TT=12CPI, LD, PT=48C, TL=10CPI","Analise de Creditos"))
Tit132   = TxTit$("TT=16CPI, LD, PT=66C, TL=16CPI","Analise de Creditos"))

Pag      = Doc_CntPag
DataPlc  = FrmVal$(Sig_DtHoje,45,0)
Ct       = Cta_Mst_Ct$
Nome     = left$(Cta_Mst_Nome$,35)
Ent      = Cta_Mst_Entid$
Morada   = left$(Cta_Ang_Morada$,30)
Telef    = Cta_Ang_Telef$

Cont     = Cta_Ang_Contacto$
Obs      = Cta_Ang_Txl$

SalCT    = SalCt$
Vex      = Vex$
VexTot   = VexTot$
CredMax  = CredMax$
TitVex   = TitVex$
##


#INC
Variaveis  comuns                 =[SIG_Dir.Div],LsComVar.std
##



'-----------------------------------------------------------------------------
' Programa/Funcoes
'-----------------------------------------------------------------------------
#PGM
SUB Lst_AJT
end sub


Sub PrpValores
TipVl=1                     'valores em excesso
'TipVl=2                     'valores segurados

if Tipvl=1 then
  TitVex$="Valor Excedido"              'titulo
else
  TitVex$="Valor Segurado"              'titulo
end if

'preparacao modo grafico
SigCabNorOpcTit=0                       'titulo manual
Titulo$="Analise de Creditos"           'titulo a usar
end sub


Sub Cab80Col   'cabecalho para 80 colunas
FxDiv LstIde,10CPI,0
?@Tit80                                                                     #
Call PrpValores
End Sub


Sub Cab132col   'cabecalho para 132 colunas
FxDiv LstIde,16CPI,0
?@Tit132                                                                                                                           
Call PrpValores
End Sub


Sub Valores
fx=CtaAcmLer(cta_mst_ct$,0,0)                             'ler acumulados
Controle  = val(Cta_Ang_CrdCtl$)                          'limite credito
Saldo     = val(CtaCtSaldo("",Sig_DtHoje,Cta_Mst_Ct$))    'sadlo conta
'fx=msgbox("salso",saldo)
CredMax$  = FrmMoe$("",15,controle)                       'formatar credito
salCt$    = FrmMoe$("",15,Saldo)                          'formata saldo

Listar=1                                                  'listar linha
vex$=""                                                   'limpar excesso

if TipVl=1 then
  call ValorExcesso
else
  call ValorSegurado                                        
end if

if listar=1
  total = total+valor
  VexTot$= FrmMoe$("",15,Total)                              'formata saldo
end if
end sub


Sub ValorSegurado
if Controle<>0 then                           'apenas com controle definido 
  if saldo>0                                  'apenas com saldo devedor
    if saldo<controle
      valor=Saldo                             'valor coluna para Seguradora
      vex$= FrmMoe$("",15,valor)              'formatar excesso
    else                                      'ultrapassou ou igualou o controlo de credito
      valor=Controle                          'valor coluna para Seguradora
      vex$= FrmMoe$("",15,valor)              'formatar excesso
    end if
  else
    listar=0
  end if
else
  listar=0
end if
end sub


Sub ValorExcesso
if Saldo>Controle  then                      '-> ultrapassou controlo credito
  if Controle<>0 then                        'apenas com controle definido
     valor=Saldo-controle                    'valor excedido
     vex$= FrmMoe$("",15,valor)              'formatar excesso
   else
     listar=0                                'nao listar
   end if
else
  listar=0
end if
end sub






'------Listagem expandida-----------------------------------------------------
Sub TX_NorCab
call Cab132col
?Data: @DataPlc                                                                                          Folha No: @Pag#
?=======================================================================================================================
?|   Conta         |                 Nome                |                                                             |
?|                 |      Contacto      /    Telefone    | Credito Permitido |   Saldo Actual    |   @TitVex           |
?=======================================================================================================================
end sub


Sub TX_NorLin
Call Valores
if listar=1
?|@Ct              | @Nome                               |                                                             |
?|                 | @Cont             / @Telef          |@CredMax           |@SalCt            |@Vex                  |
?-----------------------------------------------------------------------------------------------------------------------
else
  cnt=CntLin("CON")                             'consultar contador linhas
  fxt=CntLin("FRC",cnt-3)                       'acertar contador linhas
end if

end sub


Sub TX_NorFim
?=======================================================================================================================
?                                                                                               |@VexTot               |
?=======================================================================================================================
FxDiv LstPer,SP
Total=0
end sub


'- Plano de contas (anagrafico) ----------------------------------------------
Sub TX_RedCab
call Cab80col
?Data: @DataPlc                                                Folha No: @Pag#
?=============================================================================
?|   Nome                                           |     @TitVex            |
?=============================================================================
end sub


Sub TX_RedLin
Call Valores
if listar=1
?|@Nome                                             |@Vex                    |
?-----------------------------------------------------------------------------
else
  cnt=CntLin("CON")                             'consultar contador linhas
  fxt=CntLin("FRC",cnt-2)                       'acertar contador linhas
end if
end sub


Sub TX_RedFim
?=============================================================================
?                                                   |@VexTot                 |
?-----------------------------------------------------------------------------
total=0
FxDiv LstPer,SP
end sub


'-----------------------------------------------------------------------------
' Impressao no formato grafico
'-----------------------------------------------------------------------------
'----------Formato Normal-----------------------------------------------------
SUB FxIni 'funcao de inicializacao
Call SigLstIni
Call PrpValores
espvl=30
End sub

Sub PW_NorCab
Call SigLstCab
Col1=0                      'conta
Col2=30                     'contacto
Col3=65                     'telefone
Col4=95                     'credito permitido
Col5=Col4+espvl             'saldo actual
Col6=Col5+espvl             'calculos
Col7=MargemD

PrWIN AJT_B,  Margem, 30                            'posicao base
PrWIN FON  ,   10                                   'fonte para texto

PrWIN COR_T,   CorTraco                              'cor para titulos
PrWIN GR_LI, 0, 0, MargemD-10, 0               	     'linha
PrWIN GR_LI, 0, 7, MargemD-10, 7               	     'linha

PrWIN COR_T,   CorTit                                'cor para titulos
ln=3
PrWIN TX_N,Col1+10,  0,"Conta"
PrWIN TX_N,Col2+13,  0,"Designacao"

PrWIN TX_N,   Col2, ln,"Contacto"
PrWIN TX_N,   Col3, ln,"Telefone"
PrWIN TX_N,   Col4, ln,"Credito Permitido"
PrWIN TX_N,   Col5+5, ln,"Saldo Actual"
PrWIN TX_N,   Col6, ln,@TitVex

InicioEscrita=35
PrWIN COR_T,   CorLin                                'cor para linhas
end sub


Sub PW_NorLin
call Valores                                         'valores
if listar=1 then
  PrWIN AJT_B, Margem, InicioEscrita+Doc_CntLin*4      'posicao base
  PrWIN COR_T,   CorLin                                'cor para linhas
  PrWIN TX_N,    Col1, 0, @Ct                          'conta
  PrWIN TX_N,    Col2, 0, @Nome                        'nome
  PrWIN TX_N,    Col2, ln,@Cont                        'contacto
  PrWIN TX_N,    Col3, ln,@Telef                       'telefone
  PrWIN TX_N,    Col4, ln,@CredMax                     'credito maximo
  PrWIN TX_N,    Col5, ln,@SalCt                       'saldo de conta
  PrWIN TX_N,    Col6, ln,@Vex                         'valor extra
'  PrWIN COR_T,   CorTraco                              'cor para traco
  PrWIN GR_LI, 0, ln+5, MargemD-10, ln+5               'linha
else
  cnt=CntLin("CON")                             'consultar contador linhas
  fxt=CntLin("FRC",cnt-3)                       'acertar contador linhas
end if
end sub


Sub PW_NorFim
PrWIN COR_T,   CorTraco                            'cor para titulos
PrWIN AJT_B,Margem,LinPer-10                       'possicao base
PrWIN GR_LI,     0,  0, MargemD-10, 0            	   'linha
PrWIN TX_N,   Col6,  2, @vextot                    'total
PrWIN GR_LI,     0,  7, MargemD-10, 7            	   'linha
call SigLstRod
Total=0
PrWin FP
End sub



'----------Formato Reduzido---------------------------------------------------
Sub PW_RedCab
Call SigLstCab
Col1=20                      'conta
Col2=120                     'valor x
Col3=MargemD

PrWIN AJT_B,  Margem, 30                            'posicao base
PrWIN FON  ,   11                                   'fonte para texto

PrWIN COR_T,   CorTraco                              'cor para titulos
PrWIN GR_LI, 0, 0, MargemD-10, 0               	     'linha
PrWIN GR_LI, 0, 7, MargemD-10, 7               	     'linha

PrWIN COR_T,   CorTit                                'cor para titulos
PrWIN TX_N,Col1+13,  2,"Nome"
PrWIN TX_N,   Col2,  2,@TitVex
InicioEscrita=35
PrWIN COR_T,   CorLin                                'cor para linhas
end sub


Sub PW_RedLin
call Valores                                         'valores
if listar=1 then
  PrWIN AJT_B, Margem, InicioEscrita+Doc_CntLin*4      'posicao base
  PWIN COR_T,   CorLin                                 'cor para linhas
  PrWIN TX_N,    Col1, 0, @Nome                        'conta
  PrWIN TX_N,    Col2, ln,@Vex                         'valor extra
'  PrWIN COR_T,   CorTraco                              'cor para traco
  PrWIN GR_LI, 0, ln+5, MargemD-10, ln+5               'linha
else
  cnt=CntLin("CON")                             'consultar contador linhas
  fxt=CntLin("FRC",cnt-2)                       'acertar contador linhas
end if
end sub


Sub PW_RedFim
PrWIN COR_T,   CorTraco                            'cor para titulos
PrWIN AJT_B,Margem,LinPer-10                       'possicao base
PrWIN GR_LI,     0,  0, MargemD-10, 0            	   'linha
PrWIN TX_N,   Col2,  2, @vextot                    'total
PrWIN GR_LI,     0,  7, MargemD-10, 7            	   'linha
call SigLstRod
Total=0
PrWin FP
End sub
##


#INC
Funcoes comuns                    =[SIG_Dir.Div],LsComPgm.std
##
