Árvore de páginas

Versões comparadas

Chave

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

01. DADOS GERAIS

Produto:

Solucoes_totvs_cross
SolucaoCrossTOTVS Backoffice

Linha de Produto:

Linhas_totvs
SegmentoDistribuição
RegionConstrução Projetos
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoBackoffice

Módulo:SIGAFAT - Faturamento
Função:MAPVLNFS - Geração de Documento de Saída a partir de Itens Liberados de Pedido(s) de Venda
Abrangências:Microsiga Protheus 12
Versões:Microsiga Protheus 12
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível com as Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)
Idiomas:Todos

02. DESCRIÇÃO

Função utilizada para a geração do Documento Fiscal de Saída a partir de itens liberados do Pedido de Venda.

03. SINTAXE

MaPvlNfs( < aPvlNfs >, < cSerieNFS >, [ lMostraCtb ], [ lAglutCtb ], [ lCtbOnLine ], [ lCtbCusto ], [ lReajuste ], [ nCalAcrs ], [ nArredPrcLis ], [ lAtuSA7 ],  [ lECF ], [ cEmbExp ], [ bAtuFin ], [ bAtuPGerNF ], [ bAtuPvl ], [ bFatSE1 ], [ dDataMoe ], [ lJunta ] )

04. PARÂMETROS

NomeTipoDescriçãoDefaultObrigatórioReferência
aPvlNfsArrayArray com os itens a serem gerados
Sim
cSerieNFSCaractereSérie da Nota Fiscal
Sim
lMostraCtbLógicoMostra Lançamento Contábil
Não
lAglutCtbLógicoAglutina Lançamento Contábil
Não
lCtbOnLineLógicoContabiliza On-Line
Não
lCtbCustoLógicoContabiliza Custo On-Line
Não
lReajusteLógicoReajuste de preço na Nota Fiscal
Não
nCalAcrsNuméricoTipo de Acréscimo Financeiro
Não
nArredPrcLisNuméricoTipo de Arredondamento
Não
lAtuSA7LógicoAtualiza Amarração Cliente x Produto
Não
lECFLógicoCupom Fiscal
Não
cEmbExpCaractereNúmero do Embarque de Exportação
Não
bAtuFinBloco de CódigoBloco de Código para complemento de atualização dos títulos financeiros
Não
bAtuPGerNFBloco de CódigoBloco de Código para complemento de atualização dos dados após a geração da Nota Fiscal{||}Não
bAtuPvlBloco de CódigoBloco de Código de atualização do Pedido de Venda antes da geração da Nota Fiscal{||}Não
bFatSE1Bloco de CódigoBloco de Código para indicar se o valor do Título a Receber será gravado no campo F2_VALFAT quando o parâmetro MV_TMSMFAT estiver com o valor igual a "2".{|| .T. }Não
dDataMoeDataData da cotação para conversão dos valores da Moeda do Pedido de Venda para a Moeda FortedDatabaseNão
lJuntaLógicoAglutina Pedido Iguais.F.Não

05. RETORNO

cNumNFS - Tipo: Caractere - Número do Documento Fiscal de Saída

06. EXEMPLO

Bloco de código
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function MyPVLNFS()

    Local aPvlDocS := {}
    Local nPrcVen := 0
    Local cC5Num  := "pcpAO9"
    Local cSerie  := "001"
    Local cEmbExp := ""
    Local cDoc    := ""

    PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "FAT" TABLES "SF2","SD2","SA1","SA2","SB1","SB2","SF4","SED","SE1"

    SC5->(DbSetOrder(1))
    SC5->(MsSeek(xFilial("SC5")+cC5Num))

    SC6->(dbSetOrder(1))
    SC6->(MsSeek(xFilial("SC6")+SC5->C5_NUM))

    // Obter os dados de cada item do pedido de vendas liberado para gerar o Documento de Saída
    While SC6->(!Eof() .And. C6_FILIAL == xFilial("SC6")) .And. SC6->C6_NUM == SC5->C5_NUM

        SC9->(DbSetOrder(1))
        SC9->(MsSeek(xFilial("SC9")+SC6->(C6_NUM+C6_ITEM))) //FILIAL+NUMERO+ITEM

        SE4->(DbSetOrder(1))
        SE4->(MsSeek(xFilial("SE4")+SC5->C5_CONDPAG) )  //FILIAL+CONDICAO PAGTO

        SB1->(DbSetOrder(1))
        SB1->(MsSeek(xFilial("SB1")+SC6->C6_PRODUTO))    //FILIAL+PRODUTO

        SB2->(DbSetOrder(1))
        SB2->(MsSeek(xFilial("SB2")+SC6->(C6_PRODUTO+C6_LOCAL))) //FILIAL+PRODUTO+LOCAL

        SF4->(DbSetOrder(1))
        SF4->(MsSeek(xFilial("SF4")+SC6->C6_TES))   //FILIAL+TES

        nPrcVen := SC9->C9_PRCVEN
        If ( SC5->C5_MOEDA <> 1 )
            nPrcVen := xMoeda(nPrcVen,SC5->C5_MOEDA,1,dDataBase)
        EndIf

        AAdd(aPvlDocS,{ SC9->C9_PEDIDO,;
                        SC9->C9_ITEM,;
                        SC9->C9_SEQUEN,;
                        SC9->C9_QTDLIB,;
                        nPrcVen,;
                        SC9->C9_PRODUTO,;
                        .F.,;
                        SC9->(RecNo()),;
                        SC5->(RecNo()),;
                        SC6->(RecNo()),;
                        SE4->(RecNo()),;
                        SB1->(RecNo()),;
                        SB2->(RecNo()),;
                        SF4->(RecNo())})

        SC6->(DbSkip())
    EndDo
    
    cDoc := MaPvlNfs(  /*aPvlNfs*/         aPvlDocS,;  // 01 - Array com os itens a serem gerados
                       /*cSerieNFS*/       cSerie,;    // 02 - Serie da Nota Fiscal
                       /*lMostraCtb*/      .F.,;       // 03 - Mostra Lançamento Contábil
                       /*lAglutCtb*/       .F.,;       // 04 - Aglutina Lançamento Contábil
                       /*lCtbOnLine*/      .F.,;       // 05 - Contabiliza On-Line
                       /*lCtbCusto*/       .T.,;       // 06 - Contabiliza Custo On-Line
                       /*lReajuste*/       .F.,;       // 07 - Reajuste de preço na Nota Fiscal
                       /*nCalAcrs*/        0,;         // 08 - Tipo de Acréscimo Financeiro
                       /*nArredPrcLis*/    0,;         // 09 - Tipo de Arredondamento
                       /*lAtuSA7*/         .T.,;       // 10 - Atualiza Amarração Cliente x Produto
                       /*lECF*/            .F.,;       // 11 - Cupom Fiscal
                       /*cEmbExp*/         cEmbExp,;   // 12 - Número do Embarque de Exportação
                       /*bAtuFin*/         {||},;      // 13 - Bloco de Código para complemento de atualização dos títulos financeiros
                       /*bAtuPGerNF*/      {||},;      // 14 - Bloco de Código para complemento de atualização dos dados após a geração da Nota Fiscal
                       /*bAtuPvl*/         {||},;      // 15 - Bloco de Código de atualização do Pedido de Venda antes da geração da Nota Fiscal
                       /*bFatSE1*/         {|| .T. },; // 16 - Bloco de Código para indicar se o valor do Titulo a Receber será gravado no campo F2_VALFAT quando o parâmetro MV_TMSMFAT estiver com o valor igual a "2".
                       /*dDataMoe*/        dDatabase,; // 17 - Data da cotação para conversão dos valores da Moeda do Pedido de Venda para a Moeda Forte
                       /*lJunta*/          .F.)        // 18 - Aglutina Pedido Iguais
    
    If !Empty(cDoc)
        Conout("Documento de Saída: " + cSerie + "-" + cDoc + ", gerado com sucesso!!!")
    EndIf

    RESET ENVIRONMENT

Return .T.

07. DEMAIS INFORMAÇÕES

Não há.

08. ASSUNTOS RELACIONADOS

  • Não há.


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;
}

.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { 
	background: #FF9900; !important 
}

.menu-item.active-tab { 
	border-bottom: none !important; 
}

</style>