'Nome       : EmdFacWord.imp
'Tipo       : LST
'Data       : 2003/11/19
'Versao     : 1.0
'Descricao  : Formato de documento tipo Factura para WORD

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0   2003/??/?? --------------------------------------------------
'Versao base


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


'==============================================================================
#ESP - Campos especificos
'==============================================================================
'- Modo WORD ------------------------------------------------------------------
Guardar documento                [WordGrv]=S
Nome do documento a guardar      [WordNom]=[DOC]
'Nome do documento a guardar      [WordNom]=RND:EmdFac

Mostrar documento           (S/N)  [WordVer]=N
Listar documento            (S/N)  [WordLst]=S

'Usar mail - Nao usa           (N)  [MailUsa]=N
'Usar mail - Automatico        (A)  [MailUsa]=A
Usar mail - Manual            (M)  [MailUsa]=M

Usar opcoes de mail          (S/N) [MailOpc]=S
Juntar documento word a mail (S/N) [MailDoc]=S

Tipo de assunto (? ou PAG)         [MailAss]=PAG
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Nome                       [DocNom]=Factura
Vias                       [DocVia]=Original
'Vias                       [DocVia]=Original;Duplicado
Tipo                       [DocTip]=
Dados especificos          [DocEsp]=ESP1
Nome da imagem do logotipo [DocEsp]=ImgLogo=LogoDoc.bmp

'formato
Impressora                 [DocPrt]=
Linhas por pagina          [DocLpg]=0         'zero usa valor automatico
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Base para documento         [FxDOC]=WordDoc
Listar cabecalho            [FxCAB]=Cab
Listar linhas               [FxLIN]=Lin, 0; Ajt, 0; Txl, 0; Doc, 0
Listar fim                  [FxFIM]=Fim

Matriz auxiliar            [DocMat]=EmdFacWord.doc
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
Pag       = Doc_CntPag
DataExt   = FrmVal$(Sig_DtHoje,45,0)

'descricao da empresa 
EmpNome   = Emp_Inf_Nome$
EmpMorada = Emp_Inf_Morada$
EmpLocal  = Emp_Inf_Local$
EmpCpost  = Emp_Inf_Cpost$
EmpTel    = Emp_Inf_Telef$
EmpFax    = Emp_Inf_Fax$
EmpCtrb   = Emp_Inf_Contrib$
EmpTps    = Emp_Inf_NatJur$
EmpReg    = Emp_Inf_NumReg$

'indicacao do destinatario do documento
Ct        = Cta_Mst_Ct$
Nome      = Cta_Mst_Nome$
Morada    = Cta_Ang_Morada$
Local     = Cta_Ang_Local$
Cpost     = Cta_Ang_Cpost$
Ctrb      = Cta_Mst_Ctrb$

'informacoes sobre o documento
DocNome   = Emd_Ide_Nome$
DocNum    = FrmNdo$("",Emd_Ide_Tdoc$,Emd_Ide_Ndoc$)
DocVia    = Emd_Ide_Via$
DocDtl    = FrmVal$(Emd_Ide_Dtl,45,0)
DocInf    = Emd_Ide_Descr$
DocHor    = FrmVal$(Emd_Ide_HorSai,53,0)

'linhas do documento
LinCt    = Emd_Lin_Ct$
LinDt    = FrmVal$(Emd_Lin_Dt,44,0)
LinVl    = FrmVal$(Emd_Lin_Vl,20,10.2)
LinTv    = Emd_Lin_Tv$
LinInf   = Emd_Lin_Inf$

'totais do documento
TotVal   = FrmNum$(13.2,Emd_Tot_Val)
TotDesco = FrmNum$(13.2,Emd_Tot_Desco)
TotIva   = FrmNum$(13.2,Emd_Tot_Iva)
TotIvaTx = "I.V.A. "+FrmNum$(2.0,Emd_Tot_IvaTx)+"%"
TotDoc   = FrmNum$(13.2,Emd_Tot_Doc)
TotEur   = FrmNum$(13.2,MoeCnv("N",Emd_Tot_Doc,Emd_Ide_Moeda,2))

'variaveis a substituir pelo WORD
wDocNome = Emd_Ide_Nome$
wDocNum  = FrmNdo$("",Emd_Ide_Tdoc$,Emd_Ide_Ndoc$)
wDocVia  = Emd_Ide_Via$
wTotDoc  = FrmNum$(13.2,Emd_Tot_Doc)
##


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

Sub FxIni 'funcao de inicializacao
call Word_FxIni                        'inicializar funcoes para listar em WORD
End sub


Sub Word_OpcDocIni 'preparar opcoes do documento
'msgbox "","OpcDoc - INI",""

'tipos de linhas
linTipNum = 3                                      'numero de tipos de linha
linTipZer = 1                                      'tipo da linha de ajuste (em branco)
linTipTxl = 2                                      'tipo da linha de texto livre
linTipNor = 3                                      'tipo da linha normal
end sub


'------------------------------------------------------------------------------
' Funcoes para impressao do documento
'------------------------------------------------------------------------------
Sub WordDoc_DocIni
res = MsgSba(0,"Listar documento ...")

'msgbox "","Doc - INI",""

ideTdo$  = Emd_Doc_Tdoc$                           'tipo de documento
ideNdo$  = Emd_Doc_Ndoc$                           'numero de documento

call Word_DocIni                                   'inicio de documento
end sub


Sub WordDoc_ViaIni
'msgbox "","Doc Via - INI",Doc_Ide_Via$

call Word_ViaIni                                   'inicio de via
end sub


Sub WordDoc_ViaFim
'msgbox "","Doc Via - FIM",Doc_Ide_Via$
end sub


Sub WordDoc_DocFim
'msgbox "","Doc - FIM",""

call Word_DocLst                                   'listar documento em WORD
end sub


'------------------------------------------------------------------------------
' Linhas do Documento
'------------------------------------------------------------------------------
Sub LinTxl 'texto livre
if cntVia = 1 then                                 'guardar linha ?
   call IncLinCnt                                  'incrementar contador de linhas
   res = VBS_MemLin(linTipTxl)                     'memorizar linha
end if
end sub


Sub Lin 'linha de valor
if cntVia = 1 then                                 'guardar linha ?
   call IncLinCnt                                  'incrementar contador de linhas
   res = VBS_MemLin(linTipNor)                     'memorizar linha
end if
end sub

##


'==============================================================================
#INC - Inclusao de ficheiros
'==============================================================================
'Funcoes comuns para documentos WORD  =[EMD_DOC],EmdDocWord.inc
Funcoes comuns para documentos WORD  =[SIG_DIR.FCO]\FicSig\Inc\DocWord.inc
##


