Histórico da Página
01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Jurídico |
Módulo: | Pré-faturamento de Serviços - SIGAPFS |
Função: | Geração de arquivos E-billing 1998B e 1998BI - TXT - LEDES98 |
02. PONTO DE ENTRADA
Descrição: | Este ponto de entrada permite a alteração dos campos usados no preenchimento das informações do arquivo e-billing 1998B e 1998B Internacional. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Localização: | Atualizações >> Movimentações >> E-billing LEDES 1998B | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Programa Fonte: | LEDES98 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Função: | MontaCabec | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ponto de Entrada: | LEDES98Es | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parâmetros: |
| Retorno: |
|
03. EXEMPLO
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "PARMTYPE.CH"
| |||||||||||||||||||||||||||||||||
Retorno: |
|
---|
03. EXEMPLO
#INCLUDE "PROTHEUS.CH"
#INCLUDE "PARMTYPE.CH"
User Function Ledes98Es()
Local aCabecHonC := {}
Local aCabecDesC := {}
Local aCabecTabC := {}
Local aCabecAjuC := nil
Local aCabecImpC := nil
Local aCabecFixC := {}
Local l1998BI := .F.
Local nC := 0
Local aRet := {}
If ValType(PARAMIXB) == "A" .AND. Len(PARAMIXB) >= 5 .AND. ValType(PARAMIXB[02]//-------------------------------------------------------------------
/*/{Protheus.doc} J203Adt
Ponto de entrada para utilização de adiantamentos na emissão de fatura
@param PARAMIXB, array , Parâmetros do ponto de entrada
PARAMIXB[1], caracter, Código do Escritório da Fatura
PARAMIXB[2], caracter, Código da Fatura
PARAMIXB[3], caracter, Código da Fila de Emissão da Fatura
PARAMIXB[4], numérico, Valor Total da Fatura
@author TOTVS
@since 19/03/2020
/*/
//-------------------------------------------------------------------
User Function J203Adt()
Local aArea := GetArea()
Local aAreaNXA := NXA->(GetArea())
Local cEscrit := ""
Local cNumFat := ""
Local cFila := ""
Local nVlFatura := 0
Local cCliente := 0
Local cLojaCli := 0
Local aAdtUser := {}
Local aRetorno := {}
If ValType( PARAMIXB ) == "A"
cEscrit l1998BI := PARAMIXB PARAMIXB[101]
cNumFat aCabecHonC := PARAMIXB[2]
cFila := PARAMIXB[3]
nVlFatura := PARAMIXB[4]
//----------------------
// Posiciona na fatura
aClone(PARAMIXB[02])
aCabecDesC := aClone(PARAMIXB[03])
aCabecTabC := aClone(PARAMIXB[04])
For nC := 1 to Len(aCabecHonC)
Do Case
Case aCabecHonC[nC, 05] = "RD0_NOME"
aCabecHonC[nC, 05] := "NUR_APELI"
Case aCabecHonC[nC, 05] == "EXP21"
aCabecHonC[nC, 06] := "NUR_APELI"
Case aCabecHonC[nC, 05] == "EXP22"
aCabecHonC[nC, 06] := "NUR_APELI"
EndCase
Next nC
aAdd(aRet, aClone(aCabecHonC)) // Posição 01
For nC := 1 to Len(aCabecDesC)
Do Case
Case aCabecDesC[nC, 05] = "RD0_NOME"
aCabecDesC[nC, 05] := "NUR_APELI"
Case aCabecDesC[nC, 05] == "EXP21"
aCabecDesC[nC, 06] := "NUR_APELI"
Case aCabecDesC[nC, 05] == "EXP22"
aCabecDesC[nC, 06] := "NUR_APELI"
EndCase
Next nC
aAdd(aRet, aClone(aCabecDesC)) // Posição 02
For nC := 1 to Len(aCabecTabC)
Do Case
Case aCabecTabC[nC, 05] = "RD0_NOME"
aCabecTabC[nC, 05] := "NUR_APELI"
Case aCabecTabC[nC, 05] == "EXP21"
aCabecTabC[nC, 06] := "NUR_APELI"
Case aCabecTabC[nC, 05] == "EXP22"
aCabecTabC[nC, 06] := "NUR_APELI"
EndCase
Next nC
aAdd(aRet, aClone(aCabecTabC)) // Posição 03
aAdd(aRet, aClone(aCabecAjuC)) // Posição 04
aAdd(aRet, aClone(aCabecImpC)) // Posição 05
If Len(PARAMIXB) >= 7 // Necessário atualização do pacote DJURFAT1-11658
aCabecFixC := aClone(PARAMIXB[07])
For nC := 1 to Len(aCabecFixC)
Do Case
Case aCabecFixC[nC, 05] = "RD0_NOME"
aCabecFixC[nC, 05] := "NUR_APELI"
Case aCabecFixC[nC, 05] == "EXP21"
aCabecFixC[nC, 06] := "NUR_APELI"
Case aCabecFixC[nC, 05] == "EXP22"
aCabecFixC[nC, 06] := "NUR_APELI"
EndCase
Next nC
aAdd(aRet, aClone(aCabecFixC)) // Posição 06
EndIf
Else
aRet := Array(6)
EndIf
Return aRet //----------------------
NXA->( DBSetOrder(1) ) // NXA_FILIAL + NXA_ESCRIT + NXA_COD
If NXA->( DbSeek( xFilial("NXA") + cEscrit + cNumFat ) )
cCliente := NXA->NXA_CCLIPG
cLojaCli := NXA->NXA_CLOJPG
//--------------------------------
// Encontra adiantamentos válidos
//--------------------------------
aAdtUser := BuscaAdt( cCliente, cLojaCli )
EndIf
EndIf
aRetorno := { .F., aAdtUser }
RestArea(aAreaNXA)
RestArea(aArea)
Return (aRetorno)
//===========================================================
Static Function BuscaAdt(cCliente, cLojaCli)
Local cAlsTmp := GetNextAlias()
Local cPrefAdt := PadR( SuperGetMV("MV_JADTPRF", .F., "" ), TamSX3("E1_PREFIXO")[1] )
Local cTipoAdt := PadR( SuperGetMV("MV_JADTTP" , .F., "RA"), TamSX3("E1_TIPO")[1] )
Local cParcAdt := PadR( SuperGetMV("MV_JADTPAR", .F., "" ), TamSX3("E1_PARCELA")[1] )
Local lResiduo := .F.
Local aAdtUser := {}
BeginSql Alias cAlsTmp
SELECT NWF.R_E_C_N_O_ RECNOADT, SE1.R_E_C_N_O_ RECNOTIT, SE1.E1_SALDO VALOR
FROM %Table:NWF% NWF
INNER JOIN %Table:SE1% SE1
ON SE1.E1_FILIAL = %xFilial:SE1%
AND SE1.E1_CLIENTE = NWF.NWF_CCLIAD
AND SE1.E1_LOJA = NWF.NWF_CLOJAD
AND SE1.E1_PREFIXO = %Exp:cPrefAdt%
AND SE1.E1_NUM = NWF.NWF_TITULO
AND SE1.E1_PARCELA = %Exp:cParcAdt%
AND SE1.E1_TIPO = %Exp:cTipoAdt%
AND SE1.E1_ORIGEM = 'JURA069'
AND SE1.E1_SALDO > 0 // Aditamentos com saldo
AND SE1.%NotDel%
WHERE NWF.NWF_FILIAL = %xFilial:NWF%
AND NWF.NWF_CCLIAD= %Exp:cCliente%
AND NWF.NWF_CLOJAD = %Exp:cLojaCli%
AND NWF.NWF_TITGER = '1' // Somente adiantamentos com títulos gerados
AND NWF.%NotDel%
EndSql
While (cAlsTmp)->( !EOF() )
Aadd( aAdtUser, { (cAlsTmp)->RECNOADT, (cAlsTmp)->RECNOTIT, 100, lResiduo } )
(cAlsTmp)->( DbSkip() )
End
(cAlsTmp)->(DbCloseArea())
Return (aAdtUser)
Templatedocumentos |
---|
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |