Página 1 de 1

bug reportado na hwgui -gc3

Enviado: 23 Out 2024 10:19
por JoséQuintas
É um fonte que dá problema se compilar normal.
Obrigatório compilar com -gc3.
Reportei na hwgui hoje.

Quem quiser pode fazer o teste:
hbmk2 test.hbp hwgui.hbc
hbmk2 test.prg hwgui.hbc -gc3

Compilando sem -gc3 dá erro ao sair da dialog interna, no RETURN.

Código: Selecionar todos

#include "hwgui.ch"

#include "hwgcompat.ch"

MEMVAR oMainWindow, oPanel
MEMVAR oFont, cImageDir
MEMVAR nColor, oBmp2
MEMVAR oProg, oCombo
MEMVAR bImprimir, bNovoVinculo, bExcluirVinculo, bCadastrar, bAlterar, bExcluir, bCancelar

FUNCTION Main()

   PRIVATE oMainWindow, oPanel
   PRIVATE oFont := Nil, cImageDir := "..\image\"
   PRIVATE nColor, oBmp2

   INIT DIALOG oMainWindow TITLE "Example" AT 0, 0 SIZE 1920, 1080

   @ 0,0 PANEL oPanel SIZE 0,32

   MENU OF oMainWindow
   MENU TITLE "&File"
   MENUITEM "&Color" ACTION (nColor:=Hwg_ChooseColor(nColor,.F.), ;
      hwg_Msginfo(Iif(nColor!=Nil,str(nColor),"--"),"Color value"))
   SEPARATOR
   MENUITEM "&Move Main Window" ACTION oMainWindow:Move(50, 60, 200, 300)

   //MENUITEM "&Teste com tela e texto grande" ACTION ErrorPreview( 'AAAAAAAAAAAAAAA' )
   MENUITEM "&Cadastro de banco" ACTION CAD_BANCO()

   MENUITEM "&Exit" ACTION hwg_EndWindow()
   ENDMENU
   MENU TITLE "&Samples"
   MENUITEM "&Checked" ID 1001 ACTION hwg_Checkmenuitem(, 1001, !hwg_Ischeckedmenuitem(, 1001))
   SEPARATOR
   MENUITEM "&MsgGet" ;
      ACTION hwg_Copystringtoclipboard(hwg_MsgGet("Dialog Sample", "Input table name"))
   MENUITEM "&Command ProgressBar" ACTION TestProgres()
   SEPARATOR
   ENDMENU

   MENU TITLE "&TopMost"
   MENUITEM "&Active" ACTION ActiveTopMost(oMainWindow:Handle, .T.)
   MENUITEM "&Desactive" ACTION ActiveTopMost(oMainWindow:Handle, .F.)
   ENDMENU

   MENU TITLE "&Help"
   MENUITEM "&Version HwGUI and Compilator" ACTION hwg_Msginfo(HwG_Version(1))
   MENUITEM "&Version HwGUI" ACTION hwg_Msginfo(HwG_Version())
   ENDMENU
   MENU TITLE "&Windows"
   MENUITEM "&Tile"  ;
      ACTION  hwg_Sendmessage(HWindow():GetMain():handle,WM_MDITILE,MDITILE_HORIZONTAL, 0)
   ENDMENU
   ENDMENU

   ACTIVATE DIALOG oMainWindow

   RETURN Nil

STATIC FUNCTION BrwKey(oBrw, key)

   IF key == 32
      oBrw:aArray[oBrw:nCurrent, 1] := !oBrw:aArray[oBrw:nCurrent, 1]
      oBrw:RefreshLine()
   ENDIF

   RETURN .T.

#define DTM_SETFORMAT       4101

STATIC FUNCTION CreateC(oDlg)

   STATIC lFirst := .F.
   STATIC o

   IF !lFirst
      @ 50, 200 DATEPICKER o SIZE 80, 24
      lFirst := .T.
   ENDIF
   hwg_Sendmessage(o:handle, DTM_SETFORMAT, 0, "dd':'MM':'yyyy")

   RETURN Nil

STATIC FUNCTION ActiveTopMost(nHandle, lActive)

   LOCAL lSucess

   IF lActive
      lSucess := hwg_Settopmost(nHandle)
   ELSE
      lSucess := hwg_Removetopmost(nHandle)
   ENDIF

   RETURN lSucess

STATIC FUNCTION TestProgres()

   LOCAL oDlg,ostatus,oBar
   LOCAL cRes, aCombo := {"First", "Second"}

   PRIVATE oProg

   INIT DIALOG oDlg TITLE "Progress Bar" AT 190, 10 SIZE 360, 240

   @ 10, 10 PROGRESSBAR oProg OF oDlg SIZE 200, 25 BARWIDTH 10 QUANTITY 1000

   ADD STATUS oStatus TO oDlg PARTS 400

   oBar   := HProgressBar():New(ostatus,, 0, 2, 200, 20, 200, 1000, hwg_Rgb(12, 143, 243),hwg_Rgb(243, 132, 143))
   oCombo := HComboBox():New(ostatus,,,, 65536, 0, 2, 200, 20,aCombo,,,,,,, .F., .F.,,,)

   @ 10, 60 BUTTON "Test" SIZE 100, 32 ON CLICK {||MudeProg(oBar)}

   ACTIVATE DIALOG oDlg

   RETURN Nil

STATIC FUNCTION MudeProg(ostatus)

   LOCAL ct := 1

   DO WHILE ct < 1001
      oProg:Step()
      ostatus:step()
      ++ct
   ENDDO

   RETURN Nil

STATIC FUNCTION RRectangle()

   LOCAL oDlg
   LOCAL oR1
   LOCAL oR2
   LOCAL oR3

   INIT DIALOG oDlg TITLE "Sample HRect" AT 190, 10 SIZE 600, 400

   @ 230,  10, 400, 100 RECT oR1 OF oDlg PRESS
   @  10,  10, 200, 100 RECT oR2 OF oDlg RECT_STYLE 3
   @  10, 130, 100, 230 RECT oR3 OF oDlg PRESS RECT_STYLE 2

   hwg_Rect(oDlg, 10, 250, 590, 320, , 1)

   ACTIVATE DIALOG oDlg

   RETURN Nil
   /*
   STATIC FUNCTION ErrorPreview( cMess )
   LOCAL oDlg, oEdit, oTAB, oNOM, cNOM:='', oGroup1, oLabel7,oCNP, cCNP:='', nCL:=0, oGroup2, oButtonex2, oButtonex3
   LOCAL aPOS:={.T.,.T.,.T.}, oSEL, lSEL:=.F., oSta, lRET:=.F., lSAIU:=.T.
   LOCAL oVLRFRETE_CLI, nVLRFRETE_CLI:=0
   LOCAL oButtonex, oButtonex1

   INIT DIALOG oDlg TITLE "Erro No Sistema SCM Vs. 1.0" ;
   ICON HIcon():AddResource(1004)  ;
   AT 0,0 SIZE GETDESKTOPWIDTH()-50,GETDESKTOPHEIGHT()-150 ;
   FONT HFont():Add( '',0,-13,400,,,) CLIPPER  NOEXIT ;
   ON INIT {|| oTab:HidePage(2),oTab:DeletePage(2) } ;
   ON EXIT{|| lSAIU:=.F. ,.T.} ;
   STYLE DS_CENTER+WS_VISIBLE+WS_CAPTION+WS_MINIMIZEBOX+WS_MAXIMIZEBOX+WS_SYSMENU+WS_SIZEBOX

   oDlg:minHeight := oDlg:nHeight+38
   oDlg:minWidth  := oDlg:nWidth+16

   @ 002,5 TAB oTab ITEMS {} SIZE oDlg:nWidth-10,oDlg:nHeight-150 ;
   ON GETFOCUS {|| oTab:SetFocus() } ;
   ON INIT {|oCtrl|oCtrl:bChange:={|o,nPage|oTab:settab(nPage), oTab:ChangePage(nPage)  } }

   BEGIN PAGE "&Dados 1" of oTab
   @ 000,000 GET oVLRFRETE_CLI VAR nVLRFRETE_CLI SIZE 0,0 PICTURE "@E 999,999,999."+replicate('9',5) TOOLTIP '';oVLRFRETE_CLI:HIDE()

   @ 05,30 EDITBOX oEdit CAPTION cMess SIZE oTab:nWidth-10,oTab:nHeight-150 STYLE WS_VSCROLL + WS_HSCROLL + ES_MULTILINE + ES_READONLY ;
   COLOR 255 ;
   FONT HFont():Add( '',0,-11,400,,,) ;
   ON GETFOCUS { || SendMessage( oEdit:handle, EM_SETSEL, 0, 0 ) }
   END PAGE of oTab

   BEGIN PAGE "&Dados 2" of oTab

   END PAGE of oTab

   BEGIN PAGE "&Dados 3" of oTab
   @ 001,30 GROUPBOX oGroup1 CAPTION "Filtros"  SIZE oTab:nWidth-10,140 STYLE BS_LEFT
   oGroup1:Anchor := 11

   @ 10,60 GET oNOM VAR cNOM SIZE oGroup1:nWidth-20,24  PICTURE '@!' MAXLENGTH 100 ;
   TOOLTIP 'Selecione o campo a esquerda e digite aqui o que deseja buscar'
   oNOM:Anchor := 11

   @ oNOM:nLeft+01,oNOM:nTop+30 SAY oLabel7 CAPTION 'CNPJ/CPF:' TRANSPARENT SIZE 70,21
   oLabel7:Anchor:=8

   @ oLabel7:nWidth+10,oLabel7:nTop GET oCNP VAR cCNP SIZE 180,24 PICTURE '@!' ;
   TOOLTIP 'Informe o CNPJ ou o CPF'
   oCNP:Anchor:=8

   @ 001,oGroup1:nTop+oGroup1:nHeight GROUPBOX oGroup2 CAPTION "Contas"  SIZE oTab:nWidth-10,oTab:nHeight-180 STYLE BS_LEFT
   oGroup2:Anchor := 15

   @ oGroup2:nLeft+05,oGroup2:nTop+20 BROWSE oBr1 ARRAY SIZE oGroup2:nWidth-15,oGroup2:nHeight-90 STYLE WS_TABSTOP+WS_VSCROLL+WS_HSCROLL ;
   FONT HFont():Add( '',0,-11,400,,,)
   oBr1:Anchor := 15

   oBr1:aArray := {{.F.,'CONTA',DATE(),}}

   CreateArList( oBr1, oBr1:aArray )
   oBr1:aColumns[01]:lEDITABLE := .T.
   oBr1:aColumns[01]:bValid := {||  ShowMsg('Deu certo ?'),.t. }

   oBr1:aColumns[01]:heading := 'Sel'
   oBr1:aColumns[02]:heading := 'Tip Lancto'
   oBr1:aColumns[03]:heading := 'Data'

   oBr1:aColumns[01]:length := 03
   oBr1:aColumns[02]:length := 15
   oBr1:aColumns[03]:length := 13

   oBr1:aColumns[01]:picture:='@!'
   oBr1:aColumns[02]:picture:='@!'
   oBr1:aColumns[03]:picture:='@d'

   oBr1:aColumns[01]:bColorFoot := {|| {0 , 12632256} }
   oBr1:aColumns[02]:bColorFoot := {|| {0 , 12632256} }
   oBr1:aColumns[03]:bColorFoot := {|| {0 , 12632256} }

   oBr1:aColumns[01]:nJusHead:= DT_LEFT
   oBr1:aColumns[02]:nJusHead:= DT_LEFT
   oBr1:aColumns[03]:nJusHead:= DT_LEFT

   oBr1:aColumns[01]:bHeadClick := {|| IF(aPOS[01],( ASORT(oBr1:aArray,,,{|x,y|  x[01]<y[01] }),aPOS[01]:=.F.  ), ( ASORT(oBr1:aArray,,,{|x,y|  x[01]>y[01] }),aPOS[01]:=.T.  )  ), oBr1:REFRESH() }
   oBr1:aColumns[01]:bHeadClick := {|| IF(aPOS[02],( ASORT(oBr1:aArray,,,{|x,y|  x[02]<y[02] }),aPOS[01]:=.F.  ), ( ASORT(oBr1:aArray,,,{|x,y|  x[02]>y[02] }),aPOS[02]:=.T.  )  ), oBr1:REFRESH() }
   oBr1:aColumns[01]:bHeadClick := {|| IF(aPOS[03],( ASORT(oBr1:aArray,,,{|x,y|  x[03]<y[03] }),aPOS[01]:=.F.  ), ( ASORT(oBr1:aArray,,,{|x,y|  x[03]>y[03] }),aPOS[03]:=.T.  )  ), oBr1:REFRESH() }

   @ oBr1:nLeft,oBr1:nTop+oBr1:nHeight+8 GET CHECKBOX oSEL VAR lSEL CAPTION "Selecionar Tudo"  SIZE 130,22  ;
   TOOLTIP 'Selecione esta opção para marcar ou desmarcar todas as contas'
   oSEL:Anchor := 4

   nCL:=oGroup2:nLeft
   @ nCL,oSEL:nTop+30 OWNERBUTTON oButtonex2 TEXT "&Excluir aba" SIZE 80,32 ;
   TOOLTIP 'Cadastrar um novo documento'
   oButtonex2:Anchor := 4

   nCL+=oButtonex2:nWidth
   @ nCL,oSEL:nTop+30 OWNERBUTTON oButtonex3 TEXT "&Alterar" SIZE 80,32 ;
   ON INIT{|o| o:DISABLE(),.T.} ;
   TOOLTIP 'Alterar o documento selecionado'
   oButtonex3:Anchor := 4

   END PAGE of oTab

   @ oDlg:nWidth-230,oTab:nHeight+10 OWNERBUTTON oButtonex TEXT "&Ok" SIZE 100, 38 ;
   ON CLICK { || MsgInfo('clicou no botão'),lRET:=.T.,oDlg:CLOSE(), ErrorPreview('Abre nova tela') }

   oButtonex:Anchor := 12

   @ oDlg:nWidth-120,oTab:nHeight+10 OWNERBUTTON oButtonex1 TEXT "&Fechar" SIZE 100, 38 ;
   ON CLICK { || lRET:=.F.,oDlg:CLOSE() }

   oButtonex1:Anchor := 12

   ADD STATUS oSta TO oDlg

   ACTIVATE DIALOG oDlg //NOMODAL

   RETURN(lRET)
   */
   ******************

STATIC FUNCTION CAD_BANCO

   ******************
   LOCAL oGroup1_dup, oRadiobutton1_dup, oRadiobutton2_dup, oRadiobutton3_dup, oGroup2_dup, oBr1_dup, oButtonex1_dup
   LOCAL oDlg, oTIP, nTIP:=3, oREM, lREM:=.F., oLabel28, oLabel29
   LOCAL oNOSSONUM, oNSN, cNSN:='', oBLKnnf, lBLKnnf:=.F., oGroupUser, oBr1_usu, aPOS:={.T.,.T.,.T.}
   LOCAL oBr1_BanCCG, nCODban:=0, cDESban:='', lEspera:=.f., aBanCCG:={}
   LOCAL aCBL:={}, aSQL:={}
   LOCAL oCheck1, vCheck1:=.F., aRetUsuarios:={}, mI:=0, aFILctb:={}
   LOCAL oTxt_Limite_Rec, oLimite_Rec, nLIMITE_REC := 0 // Variaveis para limite de recebimento - 1860 - (16/01/2016) - Alexandre M.Soares
   LOCAL otxt_TAR_TED, oTAR_TED, nTAR_TED:=0, LI:=0
   LOCAL oHOMOFAST,lHOMOFAST:=.F.
   LOCAL oLB_CREDOR,oCODCRE,nCODCRE:=0,oCREDOR,cCREDOR:='',oOwnerbutton2,aCREDOR:={}
   LOCAL oCARSEG,cCARSEG:='',oLINSEG,nLINSEG:=0,oCOLSEG,nCOLSEG:=0,lbSEG,lbSEGCAR,lbEXTcol2
   LOCAL cCTA_CHEQUE_COMPENSADO:='',oCTA_CHEQUE_COMPENSADO,lbCTA_CHEQUE_COMPENSADO
   LOCAL oLABELMOEDA,oMOEDA,oOwnerbutton3,nMOEDA:=0,cMOEDA:="",aMOEDA:={}
   LOCAL oLabelVlr_outramoe,oVlr_outramoe,nVlr_outramoe:=0
   LOCAL oCNAB240, lCNAB240:=.F., aLSTBANCOCOBRANCA:={'001','021','033','041','104','237','341','637','746','756','748','999'},aLSTCNAB240:={'756','104','033'}
   LOCAL olbdigito
   LOCAL oFILIAL_ACESSO, oTODFILIAL, aFILIAL_ACESSO:={}, aTokens:={}, nSCAN:=0, lTODFILIAL:=.F., jI:=0
   LOCAL oFILIAL_ACESSO_CC, cFILIAL_ACESSO_CC:='MATRIZ'
   LOCAL lCaixaChequeDevolvido:= .F., oCaixaChequeDevolvido
   LOCAL lUtilizarCartao:= .F., oUtilizarCartao

   LOCAL nOrd:=0 //85520 - 24/02/2021 - Carlos Elizeu
   LOCAL oGroup1CHQ, oGroup2CHQ, oGroup3CHQ, oGroup4CHQ, ;
      oLine1, oLine2, oLine3, oLine4, oLine5, oLine6, ;
      oLabel1CHQ, oLabel2CHQ, oLabel3CHQ, oLabel4CHQ, oLabel5CHQ, oLabel6CHQ, oLabel7CHQ, oLabel8CHQ, oLabel9CHQ,oNAO_MOSTRA_DRE, ;
      oRadiobutton1, oRadiobutton2, oRadiobutton3, oRadiobutton4, ;
      oBTNver, oBTNres,oOCULTA_SAL,oLIMITE_PGTO,oSEMCHEQUE,oBCO_EMP, ;
      oVALlin, oFAVcol, oMEScol, oVALfnt, oVALcol, oEXTlin, oEXTcol, oEXTcol2, oFAVlin, oCIDlin, oCIDcol, oDIAlin, oDIAcol, oMESlin, oANOlin, oANOcol, oEXTfnt, oFAVfnt, oCIDfnt, oDIAfnt, oMESfnt, oANOfnt, oRdGAno, oRdGMes, oESP, ;
      nVALlin:=0,nFAVcol:=0,nMEScol:=0,nVALcol:=0,nEXTlin:=0,nEXTcol:=0, nEXTcol2:=0,nFAVlin:=0,nCIDlin:=0,nCIDcol:=0,nDIAlin:=0,nDIAcol:=0,nMESlin:=0,nANOlin:=0,nANOcol:=0,nESP:=0, ;
      nVALfnt:=1,nFAVfnt:=1,nCIDfnt:=1,nDIAfnt:=1,nMESfnt:=1,nANOfnt:=1,nRdGAno:=1,nRdGMes:=1, nEXTfnt:=2, ;
      aFNT:={'Normal','Condensado','Negrito'}, cSTATUS:='ATIVO', ;
      oGroup1, oEditbox1, oCombobox1, oLabel1, oLabel2, oEditbox2, oLabel3, oEditbox3 , ;
      oLabel4, oLabel5, oLabel6, oEditbox6, oEditbox7, oLabel7, oLabel8, oGroup2, oEditbox8, oEditbox9, oLabel9 , ;
      oLabel10, oEditbox10, oEditbox11, oCombobox2, oEditbox12, oLabel11, oLabel12, oLabel13, oLabel14, oEditbox13 , ;
      oEditbox14, oEditbox15, oLabel15, oLabel16, oLabel17, oEditbox16, oCombobox3, oLabel18, oLabel19, oLabel20 , ;
      oEditbox17, oEditbox18, oEditbox19, oButton1, oButton2, oCOD_BCO, btnOk, oTab, oSTATUS, oINSTRUCAO, oButtonex1_instrucao, ;
      oREMESSA_PAGFOR, oDATA_PAGFOR, oREM_DIA_PAGFOR,oPERFIL_CONV_PAGFOR, oREMESSA, oCENTROFORTES, ;
      oREMESSA_PAGFOR_HSBC, oDATA_PAGFOR_HSBC, oREM_DIA_PAGFOR_HSBC,oPERFIL_CONV_PAGFOR_HSBC, ;
      oAGE, oCC, oDIG_AGE, oDIG_CC, oCOD_TRM, oNEGRO, oESPACO_LINHAS, ;
      oCOD_CTB, cCOD_CTB:='', lNEGRO:=.F., lNAO_MOSTRA_DRE:=.F., cESPACO_LINHAS:='1/8', aESPACO_LINHAS:={'1/8','7/72','1/6'} , ;
      oCOD_CTB_CS, cCOD_CTB_CS:='', oGroup_CTB, oARREDONDA, lARREDONDA:=.t., ;
      vCODCXA := 0, vDESCRICAO := '', vAGE := "", vDIG_AGE := "", vCC := "", vDIG_CC := "", vEMAIL := '', ;
      vRUA:= '', vCPL:= '', vNUM:= '', vCID:= 'ALVORADA', vUF:= 'RS', vCEP:= '', vBAI:= '', vCEL:= '', vTEL:= '', vTEL1:= '', ;
      vFAX:= '', vOBS1:= '', vOBS2:= '', vOBS3:= '', vGERENTE:= '', vCGC := '', vIE := '', vSALDOINI:= 0, ;
      vTOTENT := 0, vTOTSAI:= 0, vSALDOATUAL:= 0, vDATAINI:= Date(), vDATAFIM:= Date(), vDATA:= Date(), ;
      vCOD_BCO:= 0, vNOME_BCO:= "OUTROS", vCARTEIRA:= '', vLIMITE:= 0, aTESTE_LAYOUT := {}, lOCULTA_SAL :=.F., lSEMCHEQUE:=.F., ;
      oLABEL100, oALTERDATA, nALTERDATA:= '', nALTERDATA_TEMP:='', lINSTRUCAO:=.F., nREMESSA :=0, nLIMITE_PGTO:=0, ;
      nREMESSA_PAGFOR:=0, dDATA_PAGFOR:= Ctod('//'), nREM_DIA_PAGFOR:=0,cPERFIL_CONV_PAGFOR:='', ;
   nREMESSA_PAGFOR_HSBC:=0, dDATA_PAGFOR_HSBC:= Ctod('//'), nREM_DIA_PAGFOR_HSBC:=0,cPERFIL_CONV_PAGFOR_HSBC:='', ;
   aINT_COB := {.F.,0,.F.,0,.F.,0,.F.,0,'',0}, cCOD_TRM:='', VNOME:='', XCOD:=0, NSEQSNN:=0 , ;
      oFILctb, cFILctb:='', oUSA_FILctb, lUSA_FILctb:=.F., oCOD_CED, cCOD_CED:='', oESPECIE_DOC, cESPECIE_DOC:='', ;
      oNAO_CTB, lNAO_CTB:=.F., oAPLICA, lAPLICA:=.F., oFILPAG, cFILPAG:='', oLabelFilialPagadora, ;
      oFILREC, cFILREC:='', oLabelFilialRecebedora, aItens2 :={"Outros"}, aItens_BCO :={"OUTROS"}

   //85520 - 06/02/2021 - Carlos Elizeu
   LOCAL oBrTaxas, ogbTaxas, nTaxas_ID:=0, oCOD_COMPR, cCOD_COMPR:='', oBAN_OF, lBAN_OF:=.F.
   LOCAL nSaldoAnt:=0, lConsolidado:=.F.,lBANCO_EMPRESTIMO:=.F.
   LOCAL oGroupExp, oLabelSwiftCode, oSwiftCode, oAccount, oLabelAccount, cSwiftCode:= "", cAccount:= "", oLabelNomeBancoIntermediario, oNomeBancoIntermediario, oLabelABACodeIntermediario, oABACodeIntermediario, oLabelSwiftCodeIntermediario, oSwiftCodeIntermediario, cABACodeIntermediario:= "", cNomeBancoIntermediario:= "", cSwiftCodeIntermediario:= ""
   LOCAL oBancoPdv, lBancoPdv := .f. // Jorge Fellipe
   LOCAL oLblSeq1, oLblSeq2, oSEQSNNI, oSEQSNNF, nSEQSNNI:=0, nSEQSNNF:=0, nCENTROFORTES:=0
   LOCAL oUSA_SpedFiscal, lUSA_SpedFiscal:=.F. // Acelerato - 193726 - Daniel Lopes Filho

   hb_gtReload( "WVG" )
   AAdd(aCBL,{.F.,'Local de Pagamento'    ,'',1,0})
   AAdd(aCBL,{.F.,'Vencimento'            ,'',1,77})
   AAdd(aCBL,{.F.,'Cedente'               ,'',3,0})
   AAdd(aCBL,{.F.,'Agencia/Cód. Cedente'  ,'',3,77})
   AAdd(aCBL,{.F.,'Data Docto.'           ,'',5,0})
   AAdd(aCBL,{.F.,'Nº Documento'          ,'',5,15})
   AAdd(aCBL,{.F.,'Especie DOC'           ,'',5,30})
   AAdd(aCBL,{.F.,'Aceite'                ,'',5,45})
   AAdd(aCBL,{.F.,'Data Processamento'    ,'',5,58})
   AAdd(aCBL,{.F.,'Nosso Número'          ,'',5,77})
   AAdd(aCBL,{.F.,'Uso do Banco'          ,'',6,0})
   AAdd(aCBL,{.F.,'Carteira'              ,'',6,10})
   AAdd(aCBL,{.F.,'Espécie'               ,'',6,25})
   AAdd(aCBL,{.F.,'Quantidade'            ,'',6,38})
   AAdd(aCBL,{.F.,'Valor'                 ,'',6,58})
   AAdd(aCBL,{.F.,'(=)Valor do Documento' ,'',6,77})
   AAdd(aCBL,{.F.,'Instruções'            ,'',7,0})
   AAdd(aCBL,{.F.,'(-)Desconto/Abatimento','',7,77})
   AAdd(aCBL,{.F.,'(-)Outras Deduções'    ,'',9,77})
   AAdd(aCBL,{.F.,'(+)Mora/Multa'         ,'',10,77})
   AAdd(aCBL,{.F.,'(+)Outros Acrécimos'   ,'',12,77})
   AAdd(aCBL,{.F.,'(=)Valor Cobrado'      ,'',13,77})
   AAdd(aCBL,{.F.,'Sacado'                ,'',15,0})
   AAdd(aCBL,{.F.,'Espaco Entre Boletos'  ,'',7,0})

   AAdd(aTESTE_LAYOUT,{VAL('1100.50')     ,'TESTE COM UMA LINHA NOS VALORES POR EXTENSO','ALVORADA',DATE()})
   AAdd(aTESTE_LAYOUT,{VAL('123124125.12'),'MATRIZ','ALVORADA',DATE()})
   AAdd(aTESTE_LAYOUT,{VAL('123124125.12'),'MATRIZ','ALVORADA',DATE()})
   AAdd(aTESTE_LAYOUT,{VAL('123124125.12'),'MATRIZ','ALVORADA',DATE()})
   AAdd(aTESTE_LAYOUT,{VAL('123124125.12'),'MATRIZ','ALVORADA',DATE()})

   AAdd(aFILctb,'MATRIZ')
   AAdd( aITENS_BCO, 'NENHUM' )

   AAdd(aFILIAL_ACESSO,{.T.,'MATRIZ','MATRIZ' } )

   IF Len(aBanCCG) = 0
      AAdd(aBanCCG,{0,''})
   ENDIF

   IF Empty(cFILctb)
      lUSA_FILctb:=.F.
   ELSE
      lUSA_FILctb:=.T.
   ENDIF

   INIT DIALOG oDlg TITLE "Cadastro de Bancos" ;
      FONT HFont():Add( '',0,-12,400,,,) ;
      AT 0,0 SIZE 685,640 CLIPPER NOEXIT ;
      STYLE DS_CENTER + WS_VISIBLE + WS_CAPTION + WS_SYSMENU ;
      ON INIT{||  IF(nTIP=1,(oBr1_dup:ENABLE() ,oNSN:SHOW(),oNOSSONUM:SHOW(),oNSN:ENABLE()   ,oButtonex1_dup:ENABLE() ), ;
      (oBr1_dup:DISABLE(), oTab:oNSN:HIDE(),oNSN:DISABLE()  ,oTab:oNOSSONUM:HIDE(),oButtonex1_dup:DISABLE())), ;
      IF(lINSTRUCAO,oButtonex1_instrucao:ENABLE(),oButtonex1_instrucao:DISABLE()), ;
      IF(lUSA_FILctb,oFILctb:ENABLE(),oFILctb:DISABLE()), ;
      (oUSA_SpedFiscal:DISABLE(),oUSA_SpedFiscal:ENABLE()), .T. }

   LI:=30

   @ 0,0 TAB oTab ITEMS {} SIZE 679,590 ON GETFOCUS {|| oTab:SetFocus() } STYLE 0 +0

   BEGIN PAGE "Dados C&adastrais" of oTab

      @ 002,LI GROUPBOX oGroup1 CAPTION "Cadastro de Bancos"  SIZE 673,174 COLOR 16711680

      @ 010,LI+24 SAY oLabel1 CAPTION "N° do Caixa:"  SIZE 77,22 TRANSPARENT
      @ 131,LI+21 GET oEditbox1 VAR vCODCXA PICTURE "999" SIZE 48,22 STYLE WS_DISABLED +WS_BORDER TOOLTIP "Escolha"

      @ 200,LI+24 SAY oLabel2 CAPTION "Banco:"   SIZE 80,22 TRANSPARENT
      @ 255,LI+21 GET oCOD_BCO VAR vCOD_BCO PICTURE "999" SIZE 48,22 STYLE WS_DISABLED TOOLTIP ""
      @ 305,LI+21 GET COMBOBOX oCombobox1 VAR vNOME_BCO ITEMS aITENS_BCO SIZE 290,20 TEXT DISPLAYCOUNT 30 ;
         TOOLTIP "Escolha o Nome do Banco"

      @ 010,LI+54 SAY oLabel3 CAPTION "Descrição do Caixa:"  SIZE 119,22 TRANSPARENT
      @ 131,LI+51 GET oEditbox2 VAR vDESCRICAO PICTURE '@!' SIZE 326,22 STYLE WS_BORDER MAXLENGTH 40 ;
         TOOLTIP "Informe a Descrição do Caixa"

      @ 010,LI+84 SAY oLabel4 CAPTION "Data Abertura da Conta:" SIZE 142,22 TRANSPARENT FONT HFont():Add( '',0,-11,400,,,)
      @ 131,LI+81 GET DATEPICKER oEditbox3 VAR vDATA SIZE 110,22 STYLE 2 ;
         TOOLTIP "Informe a Data de Abertura da Conta"

      @ 259,LI+84 SAY oLabel5 CAPTION "N° da Agência:"  SIZE 89,22 TRANSPARENT FONT HFont():Add( '',0,-11,400,,,)
      @ 345,LI+81 GET oAGE VAR vAGE PICTURE '@!' SIZE 70,22 STYLE WS_BORDER + ES_AUTOHSCROLL MAXLENGTH 15 ;
         TOOLTIP "Informe o N° da Agência sem o digito"

      IF vCOD_BCO=748
         @ 425,LI+84 SAY olbdigito caption "Posto:"  SIZE 19,22 TRANSPARENT FONT HFont():Add( '',0,-11,400,,,)
         @ 460,LI+81 GET oDIG_AGE VAR vDIG_AGE PICTURE '@!' SIZE 30,22 STYLE WS_BORDER + ES_AUTOHSCROLL MAXLENGTH 5 ;
            TOOLTIP "Informe o posto da agência"
      ELSE
         @ 425,LI+84 SAY olbdigito caption "Dig:"  SIZE 19,22 TRANSPARENT FONT HFont():Add( '',0,-11,400,,,)
         @ 460,LI+81 GET oDIG_AGE VAR vDIG_AGE PICTURE '@!' SIZE 30,22 MAXLENGTH 5 STYLE WS_BORDER + ES_AUTOHSCROLL ;
            TOOLTIP "Informe o digito da agencia"
      ENDIF
      @ 495,LI+84 SAY oLabel6 CAPTION "N° C/C:"  SIZE 47,22 TRANSPARENT FONT HFont():Add( '',0,-11,400,,,)
      @ 530,LI+81 GET oCC VAR vCC PICTURE '@!' SIZE 70,22 MAXLENGTH 17 STYLE WS_BORDER + ES_AUTOHSCROLL ;
         TOOLTIP "Informe o N° da Conta Corrente sem o digito"

      @ 605,LI+84 SAY "Dig:"  SIZE 19,22 TRANSPARENT FONT HFont():Add( '',0,-11,400,,,)
      @ 630,LI+81 GET oDIG_CC VAR vDIG_CC PICTURE '@!' SIZE 30,22 MAXLENGTH 5 STYLE WS_BORDER + ES_AUTOHSCROLL ;
         TOOLTIP "Informe o digito da conta corrente"

      @ 10,LI+114 SAY oLabel7 CAPTION "Saldo Inicial R$:"  SIZE 76,22 TRANSPARENT
      @ 131,LI+111 GET oEditbox6 VAR vSALDOINI PICTURE '@ 999,99' SIZE 100,22 ;
         FONT HFont():Add( '',0,-11,400,,,) ;
         ON INIT{|o| IIF(lConsolidado,o:disable(),o:enable())} ;
         TOOLTIP "Informe Saldo Inicial em REAIS da Conta" ;
         STYLE WS_BORDER

      @ 251,LI+114 SAY oLabel8 CAPTION "Limite da Conta:"  SIZE 97,22 TRANSPARENT
      @ 366,LI+111 GET oEditbox7 VAR vLIMITE PICTURE '@ 999,99' SIZE 100,22 FONT HFont():Add( '',0,-11,400,,,) STYLE WS_BORDER ;
         TOOLTIP "Informe Limite da Conta"

      @ 010,LI+144 SAY "Limite de Pgto:"  SIZE 97,22 TRANSPARENT
      @ 131,LI+141 GET oLIMITE_PGTO VAR nLIMITE_PGTO PICTURE '@ 999,99' SIZE 100,22 FONT HFont():Add( '',0,-11,400,,,) STYLE WS_BORDER ;
         TOOLTIP "Informe Limite de Pagamento que essa conta pode efetuar"

      @ 251,LI+144 SAY oTxt_Limite_Rec CAPTION 'Limite Recebimento:'  SIZE 76,22 TRANSPARENT
      @ 366,LI+141 GET oLimite_Rec VAR nLIMITE_REC PICTURE '@ 999,99' SIZE 100,22 FONT HFont():Add( '',0,-11,400,,,) STYLE WS_BORDER ;
         TOOLTIP "Informe Limite de Recebimento que essa conta pode efetuar"

      @ 250,LI+145 SAY otxt_TAR_TED CAPTION 'Tarifa do TED:'  SIZE 76,22 TRANSPARENT
      @ 330,LI+143 GET oTAR_TED VAR nTAR_TED PICTURE '@ 999,99' SIZE 100,22 ;
         FONT HFont():Add( '',0,-11,400,,,) ;
         TOOLTIP "Informe Tarifa do TED para este banco" ;
         STYLE WS_BORDER
      @ 255,LI+144 SAY oLabelVlr_outramoe CAPTION 'Saldo '  SIZE 60,22 TRANSPARENT ;
         ON INIT{|o| o:SHOW() }

      @ 343,LI+143 GET oVlr_outramoe VAR nVlr_outramoe PICTURE '@ 999,99' SIZE 100,22 ;
         FONT HFont():Add( '',0,-11,400,,,) ;
         ON INIT{|o| o:SHOW() } ;
         TOOLTIP "Saldo inicial moeda estrangeira" ;
         STYLE WS_BORDER

      @ 475,LI+145 SAY oLABELMOEDA CAPTION 'Moeda:'  SIZE 30,22 TRANSPARENT
      @ 520,LI+143 GET oMOEDA VAR cMOEDA PICTURE '@!' SIZE 60,22 ;
         FONT HFont():Add( '',0,-11,400,,,) ;
         TOOLTIP "Selecione a moeda de conversão do banco" ;
         STYLE WS_BORDER+WS_DISABLED

      @ 590,LI+142 OWNERBUTTON oOwnerbutton3 ;
         SIZE 024,024 ;
         FLAT ;
         BITMAP 1010 FROM RESOURCE  TRANSPARENT ;
         TOOLTIP 'Clique aqui para buscar uma moeda.'

      @ 002,LI+180 GROUPBOX oGroup2 CAPTION "Dados Complementares"  SIZE 673,255 ;
         COLOR 16711680

      @ 010,LI+206 SAY oLabel9 CAPTION "Endereço:"  SIZE 62,22 TRANSPARENT
      @ 073,LI+204 GET oEditbox8 VAR vRUA PICTURE '@!' SIZE 335,22 ;
         TOOLTIP "Informe o Endereço" ;
         STYLE WS_BORDER + ES_AUTOHSCROLL ;
         MAXLENGTH 50

      @ 411,LI+206 SAY oLabel10 CAPTION "Complemento:"  SIZE 88,22 TRANSPARENT
      @ 499,LI+204 GET oEditbox9 VAR vCPL PICTURE '@!' SIZE 105,22 ;
         TOOLTIP "Informe o Complemento" ;
         STYLE WS_BORDER ;
         MAXLENGTH 10

      @ 10,LI+238 SAY oLabel11 CAPTION "Bairro:"   SIZE 42,22 TRANSPARENT
      @ 53,LI+236 GET oEditbox10 VAR vBAI PICTURE '@!' SIZE 126,22 ;
         TOOLTIP "Informe o Bairro" ;
         STYLE WS_BORDER ;
         MAXLENGTH 20

      @ 182,LI+238 SAY oLabel12 CAPTION "Cidade:"  SIZE 47,22 TRANSPARENT
      @ 230,LI+236 GET oEditbox11 VAR vCID PICTURE '@!' SIZE 140,22 ;
         TOOLTIP "Informe a Cidade" ;
         STYLE WS_BORDER ;
         MAXLENGTH 20

      @ 384,LI+238 SAY oLabel13 CAPTION "UF:"  SIZE 47,22 TRANSPARENT
      @ 434,LI+236 GET COMBOBOX oCombobox2 VAR vUF ITEMS {'RS','RJ'} SIZE 50,22 TEXT ;
         DISPLAYCOUNT 27 ;
         TOOLTIP "Informe o UF"

      @ 487,LI+238 SAY oLabel14 CAPTION "Cep:"  SIZE 29,22 TRANSPARENT
      @ 517,LI+236 GET oEditbox12 VAR vCEP PICTURE '@!' SIZE 97,22 ;
         TOOLTIP "Informe o CEP" ;
         STYLE WS_BORDER

      @ 10,LI+274 SAY oLabel15 CAPTION "Email:"  SIZE 40,22 TRANSPARENT
      @ 51,LI+272 GET oEditbox13 VAR vEMAIL  SIZE 178,22 ;
         TOOLTIP "Informe o Email" ;
         STYLE WS_BORDER + ES_AUTOHSCROLL ;
         MAXLENGTH 60

      @ 232,LI+274 SAY oLabel16 CAPTION "Telefone:"   SIZE 53,22 TRANSPARENT
      @ 287,LI+272 GET oEditbox14 VAR vTEL PICTURE '@!' SIZE 120,22 ;
         TOOLTIP "Informe o Telefone" ;
         STYLE WS_BORDER

      @ 410,LI+274 SAY oLabel17 CAPTION "Telefone/Fax:"  SIZE 80,22 TRANSPARENT
      @ 491,LI+272 GET oEditbox15 VAR vFAX PICTURE '@!' SIZE 113,22 ;
         TOOLTIP "Informe o Telefone/Fax" ;
         STYLE WS_BORDER

      @ 10,LI+308 SAY oLabel18 CAPTION "Gerente:"  SIZE 52,22 TRANSPARENT
      @ 65,LI+306 GET oEditbox16 VAR vGERENTE PICTURE '@!' SIZE 164,22 ;
         TOOLTIP "Informe o Gerente da Conta" ;
         STYLE WS_BORDER ;
         MAXLENGTH 30

      @ 232,LI+308 SAY oLabel19 CAPTION "Carteira de Cobrança:"  SIZE 128,22 TRANSPARENT ;
         ON INIT{|o| o:HIDE(),.T. }
      @ 361,LI+306 GET COMBOBOX oCombobox3 VAR vCARTEIRA  ITEMS aITENS2 SIZE 130,22 TEXT ;
         ON INIT{|o| o:HIDE(),.T. } ;
         TOOLTIP "Informe o tipo de Carteira de Cobrança"

      @ 500,LI+308 GET CHECKBOX oAPLICA VAR lAPLICA CAPTION "Conta Aplicação" SIZE 150,22 TRANSPARENT ;
         TOOLTIP "Marque essa opção para identificar esta conta como conta de aplicação"

      @ 10,LI+337 SAY oLabel20 CAPTION "Observações:"  SIZE 80,22 TRANSPARENT

      @ 10,LI+363 GET oEditbox17 VAR vObs1 PICTURE '@!' SIZE 658,22 ;
         TOOLTIP "Informe aqui Alguma Observação" STYLE WS_BORDER + ES_AUTOHSCROLL MAXLENGTH 70

      @ 10,LI+386 GET oEditbox18 VAR vObs2 PICTURE '@!' SIZE 658,22 ;
         TOOLTIP "Informe aqui Alguma Observação" STYLE WS_BORDER + ES_AUTOHSCROLL MAXLENGTH 70

      @ 10,LI+409 GET oEditbox19 VAR vObs3 PICTURE '@!' SIZE 658,22 ;
         TOOLTIP "Informe aqui Alguma Observação" STYLE WS_BORDER + ES_AUTOHSCROLL MAXLENGTH 70

      @ 10,472 SAY oLabel28 CAPTION "Status:"  TRANSPARENT SIZE 46,16
      @ 60,469 GET COMBOBOX oSTATUS VAR cSTATUS ;
         ITEMS {'ATIVO','INATIVO'}  ;
         SIZE 97,24 TEXT  ;
         TOOLTIP 'Defina o STATUS desse Banco no sistema'

      @ 471,472 GET CHECKBOX oBCO_EMP VAR lBANCO_EMPRESTIMO CAPTION "Banco de empréstimos" SIZE 280,22 TRANSPARENT ;
         TOOLTIP "Marque essa opção para informar que esse banco se trata exclusivamente de empréstimos"

      @ 185,472 GET CHECKBOX oOCULTA_SAL VAR lOCULTA_SAL CAPTION "Ocultar saldo nos Extratos Bancários" SIZE 280,22 TRANSPARENT ;
         TOOLTIP "Marque essa opção para Ocultar o saldo Bancário nos extrato de banco (para usuário DIRETOR essa opção é ignorada)"
      @ 500,472 GET CHECKBOX oBancoPdv VAR lBancoPdv CAPTION "Banco para uso no PDV" SIZE 150,22 TRANSPARENT ;
         TOOLTIP "Marque essa opção para utilizar esse banco no modulo PDV."

      @ 010,496 GET CHECKBOX oBLKnnf VAR lBLKnnf CAPTION "Bloquear emissão de nota fiscal" SIZE 200,22 ;
         TOOLTIP "Marque essa opção para bloquear a emissão de nota fiscal quando pagamento de boleto usando este banco."

      @ 260,496 GET CHECKBOX oSEMCHEQUE VAR lSEMCHEQUE CAPTION "Bloquear uso de Cheque" SIZE 170,22 ;
         ON INIT {|o| o:Show() } ;
         TOOLTIP "Marque essa opção para o sistema bloquear o uso de numero de cheque nessa conta"

      @ 430,496 GET CHECKBOX oCaixaChequeDevolvido VAR lCaixaChequeDevolvido CAPTION "Caixa de cheques devolvidos" SIZE 180,22 ;
         TOOLTIP "Marque essa opção para o selecionar este Caixa de cheques devolvidos"

      @ 10,516 GET CHECKBOX oNAO_MOSTRA_DRE VAR lNAO_MOSTRA_DRE CAPTION "Não mostrar saldo no fechamento(DRE)" SIZE 245,22 ;
         TOOLTIP "Marque essa opção para o sistema não mostrar no fechamento financeiro o saldo desse banco"

      @ 260,516 GET CHECKBOX oARREDONDA VAR lARREDONDA CAPTION "Não utilizar arredondamento a receber na transf. bancária de ex." SIZE 370,22 ;
         TOOLTIP "Marque essa opção para o sistema não arredondar o valor a RECEBER ( R$ ) quando selecionado esse banco no destino."

      @ 430,472 GET CHECKBOX oBAN_OF var lBAN_OF CAPTION 'Banco Oficial:' SIZE 100,24 ;
         TOOLTIP 'Marque essa opção para Banco Oficial'

      @ 010, 540 GROUPBOX oGroupExp CAPTION "Dados Exportação 2.0"  SIZE 600,47 COLOR 16711680 ON INIT {|o| o:HIDE() }
      @ 020,oGroupExp:nTop+20 SAY oLabelSwiftCode CAPTION "SWIFT Code:"  SIZE 100,22 TRANSPARENT ON INIT {|o| o:HIDE() }
      @ 140,oGroupExp:nTop+20 GET oSwiftCode VAR cSwiftCode PICTURE '@!' SIZE 100,22 TOOLTIP "código para bancos que é usado em exportações" STYLE WS_BORDER MAXLENGTH 15 ON INIT {|o| o:HIDE() }

      @ 300,oGroupExp:nTop+20 SAY oLabelAccount CAPTION "Account:"  SIZE 100,22 TRANSPARENT  ON INIT {|o| o:HIDE() }
      @ 420,oGroupExp:nTop+20 GET oAccount VAR cAccount PICTURE '@!' SIZE 100,22 TOOLTIP "Conta do banco com o banco estrangeiro" STYLE WS_BORDER MAXLENGTH 15 ON INIT {|o| o:HIDE() }
   END PAGE of oTab

   BEGIN PAGE "&Layout de Cheques(FORMULARIO CONTINUO)" of oTab

      @ 005,060 GROUPBOX oGroup1CHQ CAPTION "Layout de Impressão de Cheques(FORMULARIO CONTINUO)"  SIZE 665,311 COLOR 16711680

      @ 149,090 SAY oLabel2CHQ CAPTION "Linhas"  SIZE 80,19 TRANSPARENT
      @ 249,090 SAY oLabel3CHQ CAPTION "Colunas" SIZE 80,19 TRANSPARENT

      @ 011,113 SAY oLabel1CHQ CAPTION "Valor "  SIZE 80,19 TRANSPARENT
      @ 149,110 GET oVALlin VAR nVALlin SIZE 80,22 ;
         TOOLTIP 'Informe a linha a ser impresso o valor do cheque'

      @ 249,110 GET oVALcol VAR nVALcol SIZE 80,22    ;
         TOOLTIP 'Informe a coluna a ser impresso o valor do cheque'

      @ 340,113 SAY lbSEGCAR CAPTION "Caracter entre valor:"  SIZE 27,19 TRANSPARENT
      @ 466,113 GET oCARSEG VAR cCARSEG SIZE 15,22 ;
         PICTURE '@!' MAXLENGTH 1 ;
         TOOLTIP 'informe o caracter de segurança.'

      @ 345,108 GET COMBOBOX oVALfnt VAR nVALfnt  ITEMS aFNT SIZE 160,24 ;
         ON INIT{|o| o:HIDE() } ;
         TOOLTIP 'Informe a fonte desejada'

      @ 007,137 LINE oLine1 LENGTH 659

      @ 011,146 SAY oLabel4CHQ CAPTION "Valor por Extenso"  SIZE 107,19 TRANSPARENT
      @ 149,143 GET oEXTlin VAR nEXTlin SIZE 80,22 ;
         TOOLTIP 'Informe a linha a ser impressa o valor por extenso do cheque'

      @ 249,143 GET oEXTcol VAR nEXTcol SIZE 80,22 ;
         TOOLTIP 'Informe a coluna a ser impressa o valor por extenso do cheque'

      @ 340,143 SAY lbEXTcol2 CAPTION "Coluna da segunda linha extenso:"  SIZE 27,19 TRANSPARENT
      @ 546,143 GET oEXTcol2 VAR nEXTcol2 SIZE 80,22 ;
         TOOLTIP 'informe a coluna onde deve começar a segunda linha do extenso'

      @ 345,142 GET COMBOBOX oEXTfnt VAR nEXTfnt ITEMS aFNT SIZE 160,24 STYLE WS_DISABLED ;
         ON INIT{|o| o:HIDE() } ;
         TOOLTIP 'Informe a fonte desejada'

      @ 007,168 LINE oLine2 LENGTH 659

      @ 011,177 SAY oLabel5CHQ CAPTION "Favorecido"  SIZE 65,19 TRANSPARENT
      @ 149,174 GET oFAVlin VAR nFAVlin SIZE 80,22 ;
         TOOLTIP 'Informe a linha a ser impressa o nominal do cheque'

      @ 249,174 GET oFAVcol VAR nFAVcol SIZE 80,22 ;
         TOOLTIP 'Informe a coluna a ser impressa o nominal do cheque'

      @ 345,174 GET COMBOBOX oFAVfnt VAR nFAVfnt  ITEMS aFNT SIZE 160,24 ;
         ON INIT{|o| o:HIDE() } ;
         TOOLTIP 'Informe a fonte desejada'

      @ 007,200 LINE oLine3 LENGTH 659

      @ 011,208 SAY oLabel6CHQ CAPTION "Cidade"  SIZE 46,19 TRANSPARENT
      @ 149,205 GET oCIDlin VAR nCIDlin SIZE 80,22 ;
         TOOLTIP 'Informe a linha a ser impressa a cidade do cheque'

      @ 249,205 GET oCIDcol VAR nCIDcol SIZE 80,22 ;
         TOOLTIP 'Informe a coluna a ser impressa a cidade do cheque'

      @ 345,205 GET COMBOBOX oCIDfnt VAR nCIDfnt  ITEMS aFNT SIZE 160,24 ;
         ON INIT{|o| o:HIDE() } ;
         TOOLTIP 'Informe a fonte desejada'

      @ 007,230 LINE oLine4 LENGTH 659

      @ 011,240 SAY oLabel7CHQ CAPTION "Dia"  SIZE 27,19 TRANSPARENT
      @ 149,237 GET oDIAlin VAR nDIAlin SIZE 80,22 ;
         TOOLTIP 'Informe a linha a ser impressa o dia no cheque'

      @ 249,237 GET oDIAcol VAR nDIAcol SIZE 80,22 ;
         TOOLTIP 'Informe a coluna a ser impressa o dia no cheque'

      @ 345,237 GET COMBOBOX oDIAfnt VAR nDIAfnt  ITEMS aFNT SIZE 160,24 ;
         ON INIT{|o| o:HIDE() } ;
         TOOLTIP 'Informe a fonte desejada'

      @ 007,264 LINE oLine5 LENGTH 659

      @ 014,274 SAY oLabel8CHQ CAPTION "Mes"  SIZE 30,19 TRANSPARENT
      @ 149,271 GET oMESlin VAR nMESlin SIZE 80,22 ;
         TOOLTIP 'Informe a linha a ser impressa o mes no cheque'

      @ 249,271 GET oMEScol VAR nMEScol SIZE 80,22 ;
         TOOLTIP 'Informe a coluna a ser impresso o mes no cheque'

      @ 345,271 GET COMBOBOX oMESfnt VAR nMESfnt  ITEMS aFNT SIZE 160,24 ;
         ON INIT{|o| o:HIDE() } ;
         TOOLTIP 'Informe a fonte desejada'

      @ 007,298 LINE oLine6 LENGTH 659

      @ 016,308 SAY oLabel9CHQ CAPTION "Ano"  SIZE 27,19 TRANSPARENT
      @ 149,305 GET oANOlin VAR nANOlin SIZE 80,22 ;
         TOOLTIP 'Informe a linha a ser impresso o ano no cheque'

      @ 249,305 GET oANOcol VAR nANOcol SIZE 80,22 ;
         TOOLTIP 'Informe a coluna a ser impresso o ano no cheque'

      @ 345,305 GET COMBOBOX oANOfnt VAR nANOfnt  ITEMS aFNT SIZE 160,24 ;
         ON INIT{|o| o:HIDE() } ;
         TOOLTIP 'Informe a fonte desejada'

      @ 007,331 LINE oLine6 LENGTH 659

      @ 016,338 SAY lbSEG CAPTION "Valor Segurança"  SIZE 27,19 TRANSPARENT
      @ 149,338 GET oLINSEG VAR nLINSEG SIZE 80,22 ;
         PICTURE '@ 99999' ;
         TOOLTIP 'Informe a linha a ser impresso o valor de segurança.'

      @ 249,338 GET oCOLSEG VAR nCOLSEG SIZE 80,22 ;
         PICTURE '@ 99999' ;
         TOOLTIP 'Informe a coluna a ser impresso o valor de segurança.'

      @ 005,371 GROUPBOX oGroup2CHQ CAPTION "Mês"  SIZE 215,38 COLOR 16711680
      //  GET RADIOGROUP oRdGMes VAR nRdGMes
      //   @ 022,384 RADIOBUTTON oRadiobutton3 CAPTION "Numérico"  SIZE 90,22 ;
      //   FONT HFont():Add( '',0,-11,400,,,)
      //   @ 133,384 RADIOBUTTON oRadiobutton4 CAPTION "Extenso"  SIZE 74,22 ;
      //   FONT HFont():Add( '',0,-11,400,,,)
      //END RADIOGROUP oRdGMes

      @ 309,371 GROUPBOX oGroup3CHQ CAPTION "Ano"  SIZE 207,38

      //GET RADIOGROUP oRdGAno VAR nRdGAno
      //   @ 432,384 RADIOBUTTON oRadiobutton2 CAPTION "4 Digitos"  SIZE 77,22 ;
      //   FONT HFont():Add( '',0,-11,400,,,)
      //   @ 325,384 RADIOBUTTON oRadiobutton1 CAPTION "2 Digitos"  SIZE 77,22 ;
      //   FONT HFont():Add( '',0,-11,400,,,)
      //END RADIOGROUP oRdGAno

      @ 005,413 GROUPBOX oGroup4CHQ CAPTION "Espaçamento Entre Cheques"  SIZE 215,45 COLOR 16711680
      @ 045,431 GET oESP VAR nESP SIZE 80,22 ;
         TOOLTIP 'Informe o espaçamento entre os cheques'

      @ 005,463 GET CHECKBOX oNEGRO VAR lNEGRO CAPTION 'Negrito' SIZE 100,19 ;
         TOOLTIP 'Marque esta opção para imprimir o cheque em negrito'

      @ 130,468 SAY "Espaçamento entre linhas:"  SIZE 27,19 TRANSPARENT
      @ 290,463 GET COMBOBOX oESPACO_LINHAS VAR cESPACO_LINHAS  ITEMS aESPACO_LINHAS SIZE 80,24 TEXT ;
         TOOLTIP 'Informe o tamanho do espaçamento entre linhas'

      @ 260,423 OWNERBUTTON oBTNver TEXT "&Visualizar" SIZE 100,38 ;
         TOOLTIP 'Clique aqui para visualizar a impressão de cheques'

      @ 370,423 OWNERBUTTON bImprimir TEXT "&Imprimir" SIZE 100,38

      @ 480,423 OWNERBUTTON oBTNres TEXT "&Resetar" SIZE 100,38

   END PAGE of oTab

   BEGIN PAGE "&Layout de Boletos" of oTab

      @ 006,070 GROUPBOX oGroup1_dup CAPTION "Tipo de Boleto"  SIZE 665,63 STYLE BS_LEFT COLOR 16711680
      //GET RADIOGROUP oTIP VAR nTIP
      //   @ 012,097 RADIOBUTTON oRadiobutton1_dup CAPTION "Pré Impresso"  SIZE 103,22 ;
      //             ON CLICK{||  IF(nTIP=1,(oBr1_dup:ENABLE(),oNSN:ENABLE(),oNSN:SHOW(),oNOSSONUM:SHOW(),oButtonex1_dup:ENABLE()),(oBr1_dup:DISABLE(),oNSN:DISABLE(),oNSN:HIDE(),oNOSSONUM:HIDE(),oButtonex1_dup:DISABLE())), ;
      //                            (oSEQSNNI:Hide(),oSEQSNNI:Hide(),oLblSeq1:Hide(),oLblSeq2:Hide()) }
      //   @ 135,097 RADIOBUTTON oRadiobutton2_dup CAPTION "Imprimir Codigo de Barras"  SIZE 173,22 ;
      //             ON CLICK{||  IF(nTIP=1,(oBr1_dup:ENABLE(),oNSN:ENABLE(),oNSN:SHOW(),oNOSSONUM:SHOW(),oButtonex1_dup:ENABLE()),(oBr1_dup:DISABLE(),oNSN:DISABLE(),oNSN:HIDE(),oNOSSONUM:HIDE(),oButtonex1_dup:DISABLE())), ;
      //                          IF(vCOD_BCO=637 , (oSEQSNNI:Show(),oSEQSNNI:Show(),oLblSeq1:Show(),oLblSeq2:Show()),), ;
      //                          IIF(ASCAN(aLSTBANCOCOBRANCA,STRZERO(vCOD_BCO))=0,(SHOWMSG('Não se encontra habilitada a remessa bancária para este banco. Favor entrar em contato com o suporte da SyGeCom.'),oRadiobutton3_dup:SETFOCUS()),.T.) }
      //   @ 331,097 RADIOBUTTON oRadiobutton3_dup CAPTION "Duplicata Padrão"  SIZE 140,22 ;
      //             ON CLICK{||  IF(nTIP=1,(oBr1_dup:ENABLE(),oNSN:ENABLE(),oNSN:SHOW(),oNOSSONUM:SHOW(),oButtonex1_dup:ENABLE()),(oBr1_dup:DISABLE(),oNSN:DISABLE(),oNSN:HIDE(),oNOSSONUM:HIDE(),oButtonex1_dup:DISABLE())), ;
      //                          (oSEQSNNI:Hide(),oSEQSNNI:Hide(),oLblSeq1:Hide(),oLblSeq2:Hide()) }
      //END RADIOGROUP oTIP

      @ 006,142 GROUPBOX oGroup2_dup CAPTION "Layout Pré Impresso"  SIZE 665,320 STYLE BS_LEFT  COLOR 16711680
      @ 015,165 BROWSE oBr1_dup ARRAY SIZE 650,290 STYLE WS_TABSTOP FONT HFont():Add( '',0,-11,400,,,)
      oBr1_dup:aArray := aCBL
      CreateArList( oBr1_dup, aCBL )

      oBr1_dup:aColumns[1]:heading := 'Usa'
      oBr1_dup:aColumns[2]:heading := 'Campo'
      oBr1_dup:aColumns[3]:heading := 'Conteúdo'
      oBr1_dup:aColumns[4]:heading := 'Linha'
      oBr1_dup:aColumns[5]:heading := 'Coluna'

      oBr1_dup:aColumns[1]:length := 03
      oBr1_dup:aColumns[2]:length := 30
      oBr1_dup:aColumns[3]:length := 40
      oBr1_dup:aColumns[4]:length := 03
      oBr1_dup:aColumns[5]:length := 03

      oBr1_dup:aColumns[1]:picture:='@!'
      oBr1_dup:aColumns[3]:picture:='@!'
      oBr1_dup:aColumns[4]:picture:='999'
      oBr1_dup:aColumns[5]:picture:='999'

      oBr1_dup:aColumns[1]:lEDITABLE:= .T.
      oBr1_dup:aColumns[2]:bcolor := 14145495
      oBr1_dup:aColumns[3]:lEDITABLE:= .T.
      oBr1_dup:aColumns[4]:lEDITABLE:= .T.
      oBr1_dup:aColumns[5]:lEDITABLE:= .T.

      @ 015,462 GET CHECKBOX oREM VAR lREM CAPTION 'Gerar arquivo de remessa bancária' SIZE 220,019 ;
         ON CLICK {|| IIF(ASCAN(aLSTBANCOCOBRANCA,STRZERO(vCOD_BCO))=0,(SHOWMSG('Não se encontra habilitada a remessa bancária para este banco. Favor entrar em contato com o suporte da SyGeCom.'),oREM:SETVALUE(.F.),oREM:REFRESH()),.T.)} ;
         TOOLTIP 'Marque esta opção para gerar um arquivo de remessa para o banco com os titulos a serem cobrados'

      @ 255,462 GET CHECKBOX oCNAB240 VAR lCNAB240 CAPTION 'CNAB240' SIZE 090,019 ;
         ON CLICK {|| IIF(ASCAN(aLSTCNAB240,STRZERO(vCOD_BCO))=0,(SHOWMSG('Não se encontra habilitada a remessa CNAB240 para este banco. Favor entrar em contato com o suporte da SyGeCom.'),oCNAB240:SETVALUE(.F.),oCNAB240:REFRESH()),.T.)} ;
         TOOLTIP 'Marque esta opção para gerar um arquivo de remessa para o banco com os titulos a serem cobrados'

      @ 350,462 GET CHECKBOX oINSTRUCAO VAR lINSTRUCAO CAPTION 'Usar instruções de cobrança para todos clientes' SIZE 320,19 ;
         ON CLICK{|| IF(lINSTRUCAO,oButtonex1_instrucao:ENABLE(),oButtonex1_instrucao:DISABLE() ) } ;
         TOOLTIP 'Marque esta opção para gerar instruções de cobrança para todos os clientes'

      @ 015,480 SAY oNOSSONUM CAPTION 'Nosso Número: ' SIZE 120,19 TRANSPARENT
      @ 015,495 GET oNSN VAR cNSN PICTURE '99999999999999999999' SIZE 150,22 ;
         TOOLTIP 'Informe a sequencia inicial para o nosso número'

      @ 175,480 SAY 'Remessa Cobrança:' SIZE 120,19 TRANSPARENT
      @ 175,495 GET oREMESSA VAR nREMESSA SIZE 80,22 ;
         TOOLTIP 'Informe o sequencial da remessa.'

      @ 280,495 OWNERBUTTON oButtonex1_instrucao TEXT "&Instruções"   SIZE 80,21

      @ 370,495 OWNERBUTTON oButtonex1_dup TEXT "&Testar Pré-Impresso"   SIZE 130,21

      @ 510,480 SAY oLabel29 CAPTION "Espécie Doc.:"  SIZE 80,22 TRANSPARENT
      @ 510,495 GET oESPECIE_DOC VAR cESPECIE_DOC PICTURE '@!' SIZE 60,22 ;
         TOOLTIP "Informe o tipo de documento que originou o bloqueto de cobrança" ;
         STYLE WS_BORDER ;
         MAXLENGTH 6

      @ 015,520 SAY oLblSeq1 CAPTION 'Cobrança Seq.Inicial: ' SIZE 150,19 TRANSPARENT
      @ 015,545 GET oSEQSNNI VAR nSEQSNNI PICTURE '@ 99999'   SIZE 150,22 ;
         ON INIT {|o| IF(nTIP=2 .AND. vCOD_BCO=637 , o:Show(), o:Hide()) } ;
         TOOLTIP 'Informe a sequencia inicial.'

      @ 170,520 SAY oLblSeq2 CAPTION 'Cobrança Seq.Final: ' SIZE 150,19 TRANSPARENT ;
         ON INIT {|o| IF(nTIP=2 .AND. vCOD_BCO=637 , o:Show(), o:Hide()) }
      @ 170,545 GET oSEQSNNF VAR nSEQSNNF PICTURE '@ 99999' SIZE 150,22 ;
         ON INIT {|o| IF(nTIP=2 .AND. vCOD_BCO=637 , o:Show(), o:Hide()) } ;
         TOOLTIP 'Informe a sequencia final.'

   END PAGE of oTab

   BEGIN PAGE "C&ontábil" of oTab
      //@ 005,055 GROUPBOX oGroupCTB CAPTION "Plano de conta contábil" SIZE 620,50 COLOR 16711680
      //@ oGroupCTB:nLeft+5,oGroupCTB:nTop+47 GET oCOD_CDC_CTB VAR cCOD_CDC_CTB SIZE 100,24 ;
      //                                      VALID{|| IF(!Empty(cCOD_CDC_CTB),  PEGACDC(@cCOD_CDC_CTB,@cDES_CDC_CTB,NIL,oCOD_CDC_CTB,oDES_CDC_CTB,.F.),.T.) } ;
      //                                      TOOLTIP 'Informe o código do plano de conta, ou deixe vazio para informar a descrição.'

      //@ oCOD_CDC_CTB:nLeft+oCOD_CDC_CTB:nWidth+5,oGroupCTB:nTop+47 GET oDES_CDC_CTB VAR cDES_CDC_CTB SIZE oGroupCTB:nWidth-140,24 ;
      //                                                             VALID{|| IF(Empty(cCOD_CDC_CTB),  PEGACDC(@cCOD_CDC_CTB,@cDES_CDC_CTB,NIL,oCOD_CDC_CTB,oDES_CDC_CTB,.F.),.T.) } ;
      //                                                             TOOLTIP 'Informe a descrição do plano de conta, parte da descrição ou deixe vazio para a lista'

      //@ oDES_CDC_CTB:nLeft+oDES_CDC_CTB:nWidth+2,oGroupCTB:nTop+47 OWNERBUTTON SIZE 24,24 FLAT BITMAP 1010 FROM RESOURCE  TRANSPARENT STYLE WS_TABSTOP ;
      //          ON CLICK {|| cCOD_CDC_CTB:='', cDES_CDC_CTB:='', PEGACDC(@cCOD_CDC_CTB,@cDES_CDC_CTB,NIL,oCOD_CDC_CTB,oDES_CDC_CTB,.F.) } ;
      //          TOOLTIP 'Buscar um plano de conta'

      @ 005,055 SAY oLABEL100 CAPTION "Cód. Alterdata:" TRANSPARENT SIZE 130,19
      @ 135,052 GET oALTERDATA VAR nALTERDATA SIZE 100,24 PICTURE '@!' MAXLENGTH 10 ;
         TOOLTIP 'Informe código para integração com sistema ALTERDATA'

      @ 005,085 GROUPBOX oGroup_CTB CAPTION "Códigos contábeis" SIZE 435,60 COLOR 16711680
      @ 010,110 SAY 'Provisão:' SIZE 60,21 TRANSPARENT
      @ 090,107 GET oCOD_CTB VAR cCOD_CTB SIZE 120,24 PICTURE '@!' MAXLENGTH 20 ;
         TOOLTIP 'Informe o código contábil'

      @ 230,110 SAY 'Consumado:' SIZE 60,21 TRANSPARENT
      @ 310,107 GET oCOD_CTB_CS VAR cCOD_CTB_CS SIZE 120,24 PICTURE '@!' MAXLENGTH 20 ;
         TOOLTIP 'Informe o código contábil'

      @ 005,160 SAY 'Filial Contábil: ' SIZE 50,21 TRANSPARENT
      @ 135,157 GET COMBOBOX oFILctb VAR cFILctb ITEMS aFILctb SIZE 180,24 TEXT STYLE WS_DISABLED ;
         TOOLTIP 'Escolha a filial contábil.'

      @ 330,157 GET CHECKBOX oUSA_FILctb VAR lUSA_FILctb CAPTION 'Usar filial contábil do banco' TRANSPARENT SIZE 210,22 ;
         ON CLICK{||  IF( lUSA_FILctb,  oFILctb:ENABLE(),oFILctb:DISABLE() ) } ;
         TOOLTIP 'Marque esta opção para usar a filial contabil do cadastro do banco'

      @ 005,190 SAY oLB_CREDOR CAPTION "Credor.:"   SIZE 089,022 TRANSPARENT
      @ 135,190 GET oCODCRE VAR nCODCRE   SIZE 058,024   PICTURE '@ 99999' MAXLENGTH 6  ;
         STYLE WS_TABSTOP ;
         TOOLTIP 'Informe o código de credor que será utilizado para geração da taxa na leitura de arquivos de retorno do banco.'

      @ 189,190 GET oCREDOR VAR cCREDOR  SIZE 350,24 ;
         STYLE ES_AUTOHSCROLL + WS_TABSTOP  PICTURE '@!' MAXLENGTH 60  ;
         TOOLTIP 'Informe o nome de credor que será utilizado para geração da taxa na leitura de arquivos de retorno do banco.'

      @ 547,190 OWNERBUTTON oOwnerbutton2 ;
         SIZE 024,024 ;
         FLAT ;
         BITMAP 1010 FROM RESOURCE  TRANSPARENT ;
         TOOLTIP 'Clique aqui para buscar um credor.'

      @ 005,215 GET CHECKBOX oNAO_CTB VAR lNAO_CTB CAPTION 'Não exportar os movimentos deste banco para a contabilidade' TRANSPARENT SIZE 600,022 ;
         ON CLICK{||  .T. } ;
         TOOLTIP 'Marque esta opção para ignorar os movimentos deste banco na exportação contábil'

      @ 005,249 SAY lbCTA_CHEQUE_COMPENSADO CAPTION "Conta Reduzida Cheque.:"   SIZE 100,022 TRANSPARENT
      @ 165,245 GET oCTA_CHEQUE_COMPENSADO VAR cCTA_CHEQUE_COMPENSADO   SIZE 058,024    ;
         VALID { || .t.} ;
         STYLE WS_TABSTOP ;
         TOOLTIP 'Informe a conta reduzida que será utilizado para cheques a compensar e compensados na exportação contábil.'

      @ 330,249 GET CHECKBOX oUSA_SpedFiscal VAR lUSA_SpedFiscal CAPTION 'Usar para SPED Fiscal (BLOCO 1601)' TRANSPARENT SIZE 240,22 ;
         TOOLTIP 'Marque esta opção para usar para o SPED Fiscal'

      @ 005,278 SAY 'Centro Resultado Fortes.:' SIZE 60,21 TRANSPARENT
      @ 165,275 GET oCENTROFORTES VAR nCENTROFORTES SIZE 200,24 PICTURE '@!' MAXLENGTH 10 ;
         TOOLTIP 'Informe o centro resultado'
   END PAGE of oTab

   BEGIN PAGE "&Usuários com Acesso" of oTab
      @ 010,60 GROUPBOX oGroupUser CAPTION "Lista de Usuários com Acesso a esse Banco" SIZE 660,470 COLOR 16711680

      AAdd(aSQL,{.T.,0,'NOME'})

      @ 020,90 BROWSE oBr1_usu ARRAY SIZE 645,400 STYLE WS_TABSTOP FONT HFont():Add( '',0,-11,400,,,) ;
         ON CLICK{|| aSQL[oBr1_usu:nCURRENT,1]:=.T.,oBr1_usu:REFRESH() }
      oBr1_usu:aArray := aSQL
      CreateArList( oBr1_usu, aSQL )

      oBr1_usu:aColumns[01]:heading := 'Selecione'
      oBr1_usu:aColumns[02]:heading := 'Código'
      oBr1_usu:aColumns[03]:heading := 'Usuário'

      oBr1_usu:aColumns[01]:length := 10
      oBr1_usu:aColumns[02]:length := 8
      oBr1_usu:aColumns[03]:length := 60

      oBr1_usu:aColumns[1]:lEDITABLE:= .T.

      oBr1_usu:aColumns[02]:bHeadClick := {|| IIF(aPOS[02],( ASORT(aSQL,,,{|x,y|  x[02]<y[02] }),aPOS[02]:=.F.  ), ( ASORT(aSQL,,,{|x,y|  x[02]>y[02] }),aPOS[02]:=.T.  )  ), oBr1_usu:REFRESH()   }
      oBr1_usu:aColumns[03]:bHeadClick := {|| IIF(aPOS[03],( ASORT(aSQL,,,{|x,y|  x[03]<y[03] }),aPOS[03]:=.F.  ), ( ASORT(aSQL,,,{|x,y|  x[03]>y[03] }),aPOS[03]:=.T.  )  ), oBr1_usu:REFRESH()   }

      @ 20,500 GET CHECKBOX oCheck1 VAR vCheck1 CAPTION 'Marcar / Desmarcar todos' TRANSPARENT SIZE 200,22 ;
         TOOLTIP "Marque essa opção para todos os bancos"
   END PAGE of oTab

   BEGIN PAGE "&Outros" of oTab
      @ 002,060 GROUPBOX "Pagamento eletrônico de fornecedor"  SIZE 660,140 COLOR 16711680

      @ 010,83 SAY 'Remessa Pagfor:' SIZE 120,19 TRANSPARENT
      @ 120,81 GET oREMESSA_PAGFOR VAR nREMESSA_PAGFOR SIZE 80,22 ;
         TOOLTIP 'Informe o sequencial da remessa do Pagfor'

      @ 010,112 SAY 'DATA Pagfor:' SIZE 120,19 TRANSPARENT
      @ 120,110 GET oDATA_PAGFOR VAR dDATA_PAGFOR SIZE 80,22 ;
         TOOLTIP 'Data do Último Arquivo Gerado do Pagfor'

      @ 210,112 SAY 'Remessa do Dia:' SIZE 120,19 TRANSPARENT
      @ 310,110 GET oREM_DIA_PAGFOR VAR nREM_DIA_PAGFOR SIZE 80,22 ;
         TOOLTIP 'Sequencia no Dia - remessa do Pagfor'

      @ 010,148 SAY 'Nro.Perfil do Convênio:' SIZE 120,19 TRANSPARENT
      @ 140,146 GET oPERFIL_CONV_PAGFOR VAR cPERFIL_CONV_PAGFOR SIZE 200,22 PICTURE '@!' MAXLENGTH 20 ;
         TOOLTIP 'Código do Perfil do Convênio do Pagfor'

      @ 010,210 SAY 'Código de transmissão: ' SIZE 150,24 TRANSPARENT
      @ 150,207 GET oCOD_TRM VAR cCOD_TRM SIZE 200,24 PICTURE '@!' MAXLENGTH 20 ;
         TOOLTIP 'Informe o código de transmissão informado pelo banco.'

      IF vCOD_BCO=104
         @ 400,148 SAY 'Código de Compromisso:' SIZE 100,24 TRANSPARENT
         @ 550,146 GET oCOD_COMPR VAR cCOD_COMPR SIZE 100,24 PICTURE '@!' MAXLENGTH 13 ;
            TOOLTIP 'Informe o código de Compromisso informado pelo banco.'
      ENDIF

      @ 010,240 SAY 'Código do Cedente:' SIZE 150,24 TRANSPARENT
      @ 150,237 GET oCOD_CED VAR cCOD_CED SIZE 200,24 PICTURE '@!' MAXLENGTH 13 ;
         TOOLTIP 'Informe o código do cedente informado pelo banco.'

      @ 210,083 SAY oLabelFilialPagadora CAPTION 'Filial pagadora :' SIZE 50,21 TRANSPARENT
      @ 310,081 GET COMBOBOX oFILPAG VAR cFILPAG ITEMS aFILctb SIZE 100,24 TEXT ;
         TOOLTIP 'Escolha de qual filial será utilizado o CNPJ no campo Filial Pagadora(PAGFOR BRADESCO e SISPAG ITAU) (Posição 011 a 025 do HEADER)'

      @ 002,270 GROUPBOX "Pagamento eletrônico de fornecedor (HSBC)"  SIZE 660,140 COLOR 16711680

      @ 010,293 SAY 'Remessa Pagfor:' SIZE 120,19 TRANSPARENT
      @ 120,291 GET oREMESSA_PAGFOR_HSBC VAR nREMESSA_PAGFOR_HSBC SIZE 80,22 ;
         TOOLTIP 'Informe o sequencial da remessa do Pagfor'

      @ 010,322 SAY 'DATA Pagfor:' SIZE 120,19 TRANSPARENT
      @ 120,320 GET oDATA_PAGFOR_HSBC VAR dDATA_PAGFOR_HSBC SIZE 80,22 ;
         TOOLTIP 'Data do Último Arquivo Gerado do Pagfor'

      @ 210,322 SAY 'Remessa do Dia:' SIZE 120,19 TRANSPARENT
      @ 310,320 GET oREM_DIA_PAGFOR_HSBC VAR nREM_DIA_PAGFOR_HSBC SIZE 80,22 ;
         TOOLTIP 'Sequencia no Dia - remessa do Pagfor'

      @ 010,357 SAY 'Nro.Perfil do Convênio:' SIZE 120,19 TRANSPARENT
      @ 140,354 GET oPERFIL_CONV_PAGFOR_HSBC VAR cPERFIL_CONV_PAGFOR_HSBC SIZE 200,22 PICTURE '@!' MAXLENGTH 20 ;
         TOOLTIP 'Código do Perfil do Convênio do Pagfor'
      @ 010,410 GET CHECKBOX oHOMOFAST VAR lHOMOFAST CAPTION 'Homologado para utilização do FastReport.' SIZE 300,19 ;
         ON INIT{|o| o:SHOW() } ;
         TOOLTIP 'Marque se foi homologado o boleto de cobrança bancária gerado no FastReport'

      @ 002,425 GROUPBOX "Recebimento eletrônico de cliente"  SIZE 660,050 COLOR 16711680 ;
         ON INIT{|o| o:HIDE() }

      @ 010,448 SAY oLabelFilialRecebedora CAPTION 'Filial recebedora :' SIZE 50,21 TRANSPARENT
      @ 130,446 GET COMBOBOX oFILREC VAR cFILREC ITEMS aFILctb SIZE 100,24 TEXT ;
         ON INIT{|o| o:HIDE() } ;
         TOOLTIP 'Escolha de qual filial será utilizado o CNPJ no campo Filial Recebedora'

      @ 010,436 GET CHECKBOX oUtilizarCartao VAR lUtilizarCartao CAPTION "Utilizar cartão de crédito ou débito" SIZE 230,22 STYLE WS_TABSTOP ;
         ON INIT{|o| o:hide()} ;
         TOOLTIP 'Clique aqui para utilizar o cartão de crédito ou débito'

   END PAGE of oTab

   BEGIN PAGE "&Bancos Conta Garantida\Aplicação" of oTab
      @ 010,60 GROUPBOX oGroupUser CAPTION "Lista de Bancos Vinculados para Conta Garantida\Aplicações" SIZE 660,470 COLOR 16711680

      @ 020,85 BROWSE oBr1_BanCCG ARRAY SIZE 645,350 STYLE WS_TABSTOP FONT HFont():Add( '',0,-11,400,,,) ;
         //ON INIT {|| IIF(aBanCCG[1,1]=0,ADEL(aBanCCG,1,.T.),),.T. }

      oBr1_BanCCG:aArray := aBanCCG
      CreateArList( oBr1_BanCCG, aBanCCG )

      oBr1_BanCCG:aColumns[01]:heading := 'Código'
      oBr1_BanCCG:aColumns[02]:heading := 'Descrição do Banco'

      oBr1_BanCCG:aColumns[01]:length := 06
      oBr1_BanCCG:aColumns[02]:length := 100

      oBr1_BanCCG:aColumns[01]:bHeadClick := {|| IIF(aPOS[01],( ASORT(aBanCCG,,,{|x,y|  x[01]<y[01] }),aPOS[01]:=.F.  ), ( ASORT(aBanCCG,,,{|x,y|  x[01]>y[01] }),aPOS[01]:=.T.  )  ), oBr1_BanCCG:REFRESH()   }
      oBr1_BanCCG:aColumns[02]:bHeadClick := {|| IIF(aPOS[02],( ASORT(aBanCCG,,,{|x,y|  x[02]<y[02] }),aPOS[02]:=.F.  ), ( ASORT(aBanCCG,,,{|x,y|  x[02]>y[02] }),aPOS[02]:=.T.  )  ), oBr1_BanCCG:REFRESH()   }

      @ 20,490 OWNERBUTTON bNovoVinculo TEXT "&Novo Vínculo" SIZE 90, 28

      @ 120,490 OWNERBUTTON bExcluirVinculo TEXT "&Excluir Vínculo" SIZE 90, 28 ;
         ON CLICK {|| Adel(aBanCCG,oBr1_BanCCG:nCurrent,.T.),ASORT(oBr1_BanCCG:aArray,,,{|x,y|  x[01]<y[01] }),oBr1_BanCCG:Refresh(),.t.}
   END PAGE of oTab

   BEGIN PAGE "&Empresa de acesso" of oTab
      @ 005,027 GROUPBOX 'Filial de acesso' SIZE 620,410 COLOR 16711680
      @ 009,044 BROWSE oFILIAL_ACESSO ARRAY OF oTab SIZE 605,390 STYLE  WS_VSCROLL+WS_HSCROLL FONT HFont():Add( '',0,-12,400,,,)

      oFILIAL_ACESSO:aArray := aFILIAL_ACESSO
      CreateArList( oFILIAL_ACESSO, aFILIAL_ACESSO )

      oFILIAL_ACESSO:aColumns[1]:heading := "OK"
      oFILIAL_ACESSO:aColumns[2]:heading := "Filial"
      oFILIAL_ACESSO:aColumns[3]:heading := "Nome Filial"

      oFILIAL_ACESSO:aColumns[1]:length := 5
      oFILIAL_ACESSO:aColumns[2]:length := 20
      oFILIAL_ACESSO:aColumns[3]:length := 20

      oFILIAL_ACESSO:aColumns[1]:PICTURE := '@!'
      oFILIAL_ACESSO:aColumns[2]:PICTURE := '@!'
      oFILIAL_ACESSO:aColumns[3]:PICTURE := '@!'

      oFILIAL_ACESSO:aColumns[1]:lEditable:=.T.

      @ 10,450 GET CHECKBOX oTODFILIAL VAR lTODFILIAL CAPTION "Marcar Todos"  SIZE 100,22 ;
         TOOLTIP 'Marcar / Desmarcar Todos os Produtos'
   END PAGE of oTab

   BEGIN PAGE 'Configuração de Taxas e Prazos' OF oTab

      @ 10,30 GROUPBOX ogbTaxas CAPTION "Taxas e Prazos"  SIZE 630,310 ;
         COLOR 16711680
      @ 15,55 BROWSE oBrTaxas ARRAY OF oTab SIZE 620,280 ;
         STYLE WS_VSCROLL + WS_HSCROLL ;
         FONT HFont():Add( '',0,-12,400,,,) ;
         ON CLICK{|| SHOWMSG('CLICOU NO BROWSE') }

      oBrTaxas:aArray := {{'',0,0,0,0,0,0,vCODCXA,0,'',''}}
      CreateArList( oBrTaxas, {{'',0,0,0,0,0,0,vCODCXA,0,'',''}} )

      oBrTaxas:aColumns[1]:heading := "Bandeira"
      oBrTaxas:aColumns[2]:heading := "Dias Cred."
      oBrTaxas:aColumns[3]:heading := "Tx. Transac."
      oBrTaxas:aColumns[4]:heading := "Taxa 1 Par."
      oBrTaxas:aColumns[5]:heading := "Valor 1 Par."
      oBrTaxas:aColumns[6]:heading := "Taxa Demais"
      oBrTaxas:aColumns[10]:heading := "Prazo"
      oBrTaxas:aColumns[11]:heading := "Condição"

      oBrTaxas:aColumns[1]:length := 22
      oBrTaxas:aColumns[2]:length := 06
      oBrTaxas:aColumns[3]:length := 06
      oBrTaxas:aColumns[4]:length := 06
      oBrTaxas:aColumns[5]:length := 06
      oBrTaxas:aColumns[6]:length := 08
      oBrTaxas:aColumns[10]:length := 20

      oBrTaxas:aColumns[1]:PICTURE:='@!'
      oBrTaxas:aColumns[2]:PICTURE:='@ 99999'
      oBrTaxas:aColumns[3]:PICTURE:='@%'
      oBrTaxas:aColumns[4]:PICTURE:='@%'
      oBrTaxas:aColumns[5]:PICTURE:='@%'
      oBrTaxas:aColumns[6]:PICTURE:='@%'
      oBrTaxas:aColumns[10]:PICTURE:='@!'

      //oBrTaxas:aColumns[7]:lHide:=.T.
      //oBrTaxas:aColumns[8]:lHide:=.T.
      //oBrTaxas:aColumns[9]:lHide:=.T.
      oBrTaxas:Refresh(.T.)

      @ 015,345 OWNERBUTTON bCadastrar TEXT "&Cadastrar" SIZE 100, 38

      @ 130,345 OWNERBUTTON bAlterar TEXT "&Alterar" SIZE 100, 38

      @ 245,345 OWNERBUTTON bExcluir TEXT "&Excluir" SIZE 100, 38

   END PAGE OF oTab
   **********************************************
   BEGIN PAGE 'Banco Intermediário Exportação' OF oTab

      @ 005,027 GROUPBOX 'Banco Intermediário' SIZE 620,410 COLOR 16711680 ON INIT {|o| o:HIDE() }

      @ 010,60 SAY oLabelNomeBancoIntermediario CAPTION "Nome Banco:"  SIZE 100,22 TRANSPARENT  ON INIT {|o| o:HIDE() }
      @ 150,60 GET oNomeBancoIntermediario VAR cNomeBancoIntermediario PICTURE '@!' SIZE 400,22 TOOLTIP "" STYLE WS_BORDER MAXLENGTH 100 ON INIT {|o| o:HIDE() }

      @ 010,90 SAY oLabelABACodeIntermediario CAPTION "ABA Code:"  SIZE 100,22 TRANSPARENT  ON INIT {|o| o:HIDE() }
      @ 150,90 GET oABACodeIntermediario VAR cABACodeIntermediario PICTURE '@!' SIZE 100,22 TOOLTIP "" STYLE WS_BORDER MAXLENGTH 100 ON INIT {|o| o:HIDE() }

      @ 010,120 SAY oLabelSwiftCodeIntermediario CAPTION "Swift Code:"  SIZE 100,22 TRANSPARENT  ON INIT {|o| o:HIDE() }
      @ 150,120 GET oSwiftCodeIntermediario VAR cSwiftCodeIntermediario PICTURE '@!' SIZE 100,22 TOOLTIP "" STYLE WS_BORDER MAXLENGTH 100 ON INIT {|o| o:HIDE() }

   END PAGE OF oTab
   */

   @ 466,593  OWNERBUTTON btnOk TEXT "&Salvar" SIZE 100,38 ;
      ON CLICK {|| msginfo('clicou no salvar') }

   @ 576,593  OWNERBUTTON bCancelar TEXT "&Cancelar" SIZE 100,38 ;
      ON CLICK {|| oDLG:Close() }

   ACTIVATE DIALOG oDlg

   hwg_MsgInfo( "aqui fechou dialog" )

   RETURN .T.
É um fonte único, não altere senão o erro some.
Qualquer coisa que apagar do fonte o erro some, pode apagar as funções não usadas que o erro some.

Não vém ao caso se dá pra melhorar ou não.
Não vém ao caso eliminar fonte não necessário.

O que interessa é: compilando com -gc3 o problema desaparece.

Só acontece com harbour, mas não acontece com xharbour.
É bug harbour ? é bug da VM do harbour ?
Só vi isso acontecer na hwgui. Tem a ver com forma de uso ? Mas outras LIBs também usam classe, até fivewin.
Será que não causa mais bugs além desse ?

Tamanho de fonte ?
Não testei se separando em vários fontes se resolve, pode ser que sim, pode ser que não.
Mas e aí ? podemos ser surpreendidos com esse erro a qualquer momento ?

Se é algum limite, deveria haver alerta do harbour.
Pode acontecer a mesma coisa com qualquer fonte a qualquer momento.

Nem tem a ver com usar hwgui ou não, tem a ver com alguma coisa no harbour, que poderia acontecer com qualquer um e com qualquer biblioteca, talvez até no xharbour, uma vez que o núcleo base começou igual para os dois.

O harbour é melhor que xharbour ? ... então porque dá problema só no harbour ?

É problema na hwgui ? mas apagando funções não utilizadas o problema some.

Então....
É uma coisa interessante a ser analizada por quem entende a fundo do harbour.
Cria muitas dúvidas.
E esse é um fonte único demonstrando o problema.
Se apagar linhas do fonte funciona, e não teremos mais um exemplo disso acontecendo.

Aí no harbour não vão olhar, vão dizer que tem a ver com hwgui, que é pra dividir fonte, etc.
Vamos ver se o Kresin pode ajudar, identificando melhor o problema.

bug reportado na hwgui -gc3

Enviado: 25 Out 2024 13:21
por SOSSOFT
Que coisa misteriosa, seria bom entender o motivo do erro