Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 Tempo aproximado para leitura: 05 min

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:

Nome

Tipo

Descrição

Obrigatório

PARAMIXBarray

Array com 4 6 posições

NomeTipoDescrição
PARAMIXB[1]caractereLógicoIndica se o e-billing é o 1998BI (internacioal)Código do escritório da fatura
PARAMIXB[2]caractereArrayArray com a Estrutura dos Dados* de HonoráriosCódigo da fatura
PARAMIXB[3]caractereArrayArray com a Estrutura dos Dados* de DespesasCódigo da fila de emissão da fatura
PARAMIXB[4]numéricoArrayArray com a Estrutura dos Dados* de HonoráriosValor líquido da fatura






Sim



Retorno:

Nome

Tipo

Descrição

Obrigatório

aRetorno

Array

Array com 2 posições

NomeTipoDescrição
aRetorno[1]Lógico

Quando verdadeiro, irá utilizar somente os adiantamentos informados via ponto de entrada. 

Quando falso, além de usar os adiantamentos informados via ponto de entrada, também utilizará os demais adiantamentos disponíveis cadastrados no sistema, caso a fatura possua saldo.

aRetorno[2]arrayArray multidimensional com dados dos adiantamentos que serão utilizados, respeitando a estrutura abaixo:
aRetorno[2][n][1]numéricoRecno do adiantamento (NWF).
aRetorno[2][n][2]numéricoRecno do título de adiantamento (SE1).
aRetorno[2][n][3]numéricoValor a ser utilizado do adiantamento.
aRetorno[2][n][4]lógicoQuando verdadeiro, permite que o usuário utilize o saldo residual do adiantamento caso exista.
Sim




03. EXEMPLO

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "PARMTYPE.CH"

//-------------------------------------------------------------------
/*/{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   := PARAMIXB[1]
        cNumFat   := PARAMIXB[2]
        cFila     := PARAMIXB[3]
        nVlFatura := PARAMIXB[4]

        //----------------------
        // Posiciona na fatura
        //----------------------
        NXA->( DBSetOrder(1) ) // NXA_FILIAL + NXA_ESCRIT + NXA_COD
        If NXA->( DbSeekxFilial("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(cClientecLojaCli)
    Local cAlsTmp   := GetNextAlias()
    Local cPrefAdt   := PadRSuperGetMV("MV_JADTPRF".F.""  ), TamSX3("E1_PREFIXO")[1] )
    Local cTipoAdt  := PadRSuperGetMV("MV_JADTTP" , .F."RA"), TamSX3("E1_TIPO")[1]    )
    Local cParcAdt   := PadRSuperGetMV("MV_JADTPAR".F.""  ), TamSX3("E1_PARCELA")[1] )
    Local lResiduo   := .F.
    Local aAdtUser  := {}

    BeginSql Alias cAlsTmp
        SELECT NWF.R_E_C_N_O_ RECNOADTSE1.R_E_C_N_O_ RECNOTITSE1.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>