'Nome       : GtsChq.std
'Tipo       : LST
'Data       : 2008/01/11
'Versao     : 2.0
'Descricao  : Cheques

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 2.0   2008/??/?? --------------------------------------------------
'listagem em modo grafico

'- Versao : 1.0   2007/06/18 --------------------------------------------------
'Versao base


'==============================================================================
#DEF - Definicao global do documento
'==============================================================================
Caracteres invalidos             [CarInv]=#
Subtotalizadores                 [SbtNiv]=1
##


'==============================================================================
#ESP - Campos especificos
'==============================================================================
Zoom para preview             [PrvZoom]=1
Opcoes para impressora WIN   [PrWinOpc]=[ORI=P]
##


'==============================================================================
#SQL - Comandos SQL
'==============================================================================
Base de dados           [BD]=EmpFic$("EMP","Gts,Gts.mdb")
##



'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ChqLis
Nome                       [DocNom]=ChqLis,Lista de Cheques

'formato
Saida/Impressora           [DocPrt]=
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]=LisCab
Listar linhas               [FxLIN]=LisLin; Grp,3; Sbt,2
Listar fim                  [FxFIM]=LisFim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ChqLis
Nome                       [DocNom]=ChqLis_G,Lista de Cheques (Gráfico)

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


'funcoes de listagem
Listar cabecalho            [FxCAB]=LisChqG_Cab
Listar linhas               [FxLIN]=LisChqG_Lin; Grp; Sbt,0
Listar fim                  [FxFIM]=LisChqG_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
'------------------------------------------------------------------------------
'Lista de variaveis especificas
'------------------------------------------------------------------------------
'valores texto
'MemTxt$(01)   - titulo da listagem

'registo de letras
'MemTxt$(20)   - tipo
'MemTxt$(21)   - nome do cliente/fornecedor

'valores numericos
'MemNum(21)    - numero da letra

'------------------------------------------------------------------------------
'Formatacao de valores
'------------------------------------------------------------------------------
Tipo     = MemTxt$(1)
Pag      = Doc_CntPag
DataExt  = FrmVal$(Sig_DtHoje,45,0)

'documento
vDocTdo  = Gts_Doc_Tdo$                         'tipo de documento
vDocNdo  = Gts_Doc_Ndo$                         'numero de documento
vDocNdv  = docNdv$                              'numero de documento formatado
vDocVer  = docVer$                              'documento
vDocDes  = Gts_Doc_Des$                         'descricao
vDocDte  = FrmDt$("", Gts_Doc_Dte)              'data de emissao
vDocDtv  = FrmDt$("", Gts_Doc_Dtv)              'data de vencimento
vDocVmn  = FrmNum$(12.2,Gts_Doc_Vmn)            'valor

'prestacao
vPreTdo  = Gts_Pre_Tdoc$                        'tipo de documento
vPreNdo  = Gts_Pre_Ndoc$                        'numero de documento
vPreIdp  = preIdp$                              'identificacao da prestacao
vIdp     = preIdp$                              'identificacao da prestacao
vPreNdv  = preNdv$                              'numero de documento formatado
vPreVer  = preVer$                              'documento
vPreDes  = Gts_Pre_Des$                         'descricao
vPreDte  = FrmDt$("", Gts_Pre_Dte)              'data de emissao
vPreDtv  = FrmDt$("", Gts_Pre_Dtv)              'data de vencimento
vPreVmn  = FrmNum$(12.2,Gts_Pre_Vmn)            'valor

'totais/subtotais
tPreCnt  = FrmNum$( 5.0,TotCnt("vPreVmn",0))
sPreCnt  = FrmNum$( 5.0,TotCnt("vPreVmn",1))

tPreVmn  = FrmNum$(12.2,Total(vPreVmn,0))
sPreVmn  = FrmNum$(12.2,Total(vPreVmn,1))
##


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


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
'---------------------------------------------------------->'Comentario (61)
'------------------------------------------------------->'Comentario (58)
'---------------------------------------------------->'Comentario (55)
'------------------------------------------------->'Comentario (52)
'---------------------------------------------->'Comentario (49)
'------------------------------------------->'Comentario (46)
'---------------------------------------->'Comentario (43)
'------------------------------------->'Comentario (40)

'-----------------------------------------------------------------------------
' Funcoes para inicializacao
'-----------------------------------------------------------------------------
Sub FxIni 'funcao de inicializacao
Call SigLstIni
end sub


Sub FxFim 'funcao de finalizacao
'nada a executar
end sub


'==============================================================================
'- Listagem de TEXTO ----------------------------------------------------------
'==============================================================================
'------------------------------------------------------------------------------
' Lista de Cheques
'------------------------------------------------------------------------------
Sub LisCab 'cabecalho
FxDiv LstIde,16CPI,0
print TxTit$("TT=10CPI, LD, PT=40C, TL=10CPI",MemTxt$(1))
?Data : @DataExt                                                 Folha No : @Pag#
?================================================================================
?Documento    Prest.   Data    Descricao                      Valor    Obs.
?================================================================================
'123,346/1234 12/99 2007/01/01 Valor xxxxx               123,456,78.12 <-------->
end sub


Sub LisLinGrp 'identificacao de grupo
grpTip$ = VarCom$("GrpTip")                     'tipo
grpChv$ = VarCom$("GrpChv")                     'chave
grpIde$ = VarCom$("GrpIde")                     'identificacao

ide$    = grpIde$                               'identificacao
print string$(80,"-")                           'listar separador
print tab(5) ide$                               'identificar grupo
print string$(80,"-")                           'listar separador
end sub


Sub LisLinSbt 'substotal - fim de grupo
?          Subtotal:@sPreCnt                           @sPreVmn                 #
print                                            'separar
x=TotLpz(1)                                      'limpar sutotais
end sub


Sub LisLin 'linha de dados
tdo$     = Gts_Doc_Tdoc$                            'tipo de documento
ndo$     = Gts_Doc_Ndoc$                            'numero de documento
docNdv$  = FrmNdo$("46", tdo$, ndo$)                'numero do documento formatado
docVer$  = tdo$ + " " + docNdv$                     'documento a mostrar

tdo$     = Gts_Pre_Tdoc$                            'tipo de documento
ndo$     = Gts_Pre_Ndoc$                            'numero de documento
preNdv$  = FrmNdo$("46", tdo$, ndo$)                'numero do documento formatado
preVer$  = tdo$ + " " + preNdv$                     'documento a mostrar

preNpr$  = TxtCv$(Gts_Pre_PreNpr)                   'numero de prestacoes
preNum$  = TxtCv$(Gts_Pre_PreNum)                   'numero da prestacao
preIdp$  = preNpr$ + "/" + preNum$                  'identificacao da prestacao

'listar
?@vPreNdv     @vIdp @vPreDtv   @vPreDes                @vPreVmn      @vPreObs   #
end sub


Sub LisFim 'fim de listagem
print string$(80,"=")                              'listar separador
?          Total: @tPreCnt                             @tPreVmn                 #
print string$(80,"=")                              'listar separador

FxDiv LstPer,SP                                    'fim de pagina
'Print PrtCmd("[SP]");
end sub


'================================================================================
'Lista de Cheques - Modo gráfico
'================================================================================
Sub LisChqG_CabIni                                 'inicializar cabecalho
end sub


Sub LisChqG_Cab 'cabecalho
Cmax  =190
FimDoc=272

Call SigLstCab 
Lin1 = 1.5

PrWIN AJT_B,  Margem, 26                           'posicao base
PrWIN COR_T,CorTraco                               'cor de linhas
PrWIN GR_LI, 0, 0, Cmax, 0               	   'linha
PrWIN GR_LI, 0, 6, Cmax, 6                         'linha

TCol1=   3
TCol2=  28
TCol3=  50
TCol4=  80
TCol5= 130
TCol6= 160

PrWIN COR_T,  CorTitLst                           'cor de titulo
PrWIN FON  , 8,   1                               'activar fonte

PrWIN FON, "BOLD+"
PrWIN TX_N,  TCol1, Lin1, "Documento"
PrWIN TX_N,  TCol2, Lin1, "Prest."
PrWIN TX_N,  TCol3, Lin1, "Data"
PrWIN TX_N,  TCol4, Lin1, "Descrição"
PrWIN TX_N,  TCol5, Lin1, "Valor"
PrWIN TX_N,  TCol6, Lin1, "Observações"
PrWIN FON, "BOLD-"

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, Cmax, 0                      'linha
PrWIN GR_LI, 0, 6, Cmax, 6                      'linha

PrWIN FON  ,   9,   1                           'activar fonte
PrWIN COR_T,CorLin                              'cor de linhas
InicioLinhas=30
end sub


Sub LisChqG_Lin 'linha de valores
LCol1=   1
LCol2=  30
LCol3=  45
LCol4=  70
LCol5= 115
LCol6= 150

tdo$     = Gts_Doc_Tdoc$                            'tipo de documento
ndo$     = Gts_Doc_Ndoc$                            'numero de documento
docNdv$  = FrmNdo$("46", tdo$, ndo$)                'numero do documento formatado
docVer$  = tdo$ + " " + docNdv$                     'documento a mostrar

tdo$     = Gts_Pre_Tdoc$                            'tipo de documento
ndo$     = Gts_Pre_Ndoc$                            'numero de documento
preNdv$  = FrmNdo$("46", tdo$, ndo$)                'numero do documento formatado
preVer$  = tdo$ + " " + preNdv$                     'documento a mostrar

preNpr$  = TxtCv$(Gts_Pre_PreNpr)                   'numero de prestacoes
preNum$  = TxtCv$(Gts_Pre_PreNum)                   'numero da prestacao
preIdp$  = preNpr$ + "/" + preNum$                  'identificacao da prestacao

'listar
call LisChqG_PosLin                                 'posicionar linha
PrWIN TX_NP, LCol1, 0.0,"N",@vPreNdv
PrWIN TX_N,  LCol2, 0.0,@vIdp
PrWIN TX_N,  LCol3, 0.0,@vPreDtv
PrWIN TX_N,  LCol4, 0.0,@vPreDes
PrWIN TX_NP, LCol5, 0.0,"N",@vPreVmn
'PrWIN TX_N,  LCol6, 0.0,@vPreObs
End sub


Sub LisChqG_LinGrp 'linha de grupo
InicioEscrita=29

grpTip$ = VarCom$("GrpTip")                       'tipo
grpChv$ = VarCom$("GrpChv")                       'chave
grpIde$ = VarCom$("GrpIde")                       'identificacao

PrWin FON  , "BOLD+"                              'activar bold
ide$    = grpIde$                                 'identificacao

call LisChqG_PosLin                               'posicionar linha
PrWIN COR_T,CorTraco                              'cor de linhas

dy = 0 
PrWIN GR_LI, 0, dy, Cmax, dy                      'linha
PrWIN TX_N,  LCol2 ,0.0,ide$                      'listar identificador
PrWIN GR_LI, 0,  4.0, Cmax,  4.0                  'linha
PrWin FON  , "BOLD-"                              'desactivar bold
end sub


Sub LisChqG_LinSbt 'linha de separacao
tmp=CntLin("INC",1)                               'contar linha
call LisChqG_PosLin                               'posicionar linha

PrWin FON  , "BOLD+"                              'activar bold
PrWIN TX_N,  LCol3 ,0.0,"SubTotal :"
PrWIN TX_NP, LCol4 ,0.0,"N",@sPreCnt
PrWIN TX_NP, LCol5 ,0.0,"N",@sPreVmn
PrWin FON  , "BOLD-"                              'desactivar bold

x=TotLpz(1)                                       'limpar sutotais

tmp=CntLin("INC",1)                               'contar linha
end sub


SUB LisChqG_Fim 'fim de pagina
PrWIN COR_T,CorTraco                              'cor de linhas
PrWIN AJT_B,  Margem, FimDoc-4                    'posicao base

PrWIN GR_LI, 0, 0, Cmax, 0                        'linha

PrWin FON  , "BOLD+"                              'activar bold
PrWIN TX_N,  LCol3 ,0.0,"Total :"
PrWIN TX_NP, LCol4 ,0.0,"N",@tPreCnt
PrWIN TX_NP, LCol5 ,0.0,"N",@tPreVmn
PrWin FON  , "BOLD-"                              'desactivar bold

PrWIN GR_LI, 0, 4.0, Cmax, 4.0                    'linha


Call SigLstRod
PrWin FP
end sub


Sub LisChqG_PosLin 'posicionar linha
PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*4.5    'posicao base
end sub
##


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

