Árvore de páginas

Ponto-de-Entrada: M460NITE - Quebra de NF de saída


Versões:Microsiga Protheus 8.11 , Microsiga Protheus 10
Idiomas:Espanhol , Inglês


Descrição:

QUEBRA DA NF DE SAÍDA
Define a quantidade de itens de Pedido de Venda Liberado ( SC9 ) a serem gerados em uma Nota Fiscal de Saída.

A utilização deste ponto de entrada pode degradar a geração de nota fiscal.


Programa Fonte
MATA461.PRW

Sintaxe

M460NITE - Quebra de NF de saída ( < PARAMIXB > ) --> NRET


Parâmetros:


NomeTipoDescriçãoObrigatório
PARAMIXBNuméricoPARAMIXB[1] : Número de Itens da Nota Fiscal de Saída que foram adicionados no documento.X

ArrayPARAMIXB[2] : Array contendo os Itens de Nota Fiscal de Saída que foram adicionados, sendo para cada posição:

01 - Pedido

02 - Item
03 - Sequência
04 - Quantidade Liberada
05 - Preço de Venda
06 - Produto
07 - Calcula ISS? 
08 - Recno SC9
09 - Recno SC5
10 - Recno SC6
11 - Recno SE4
12 - Recno SB1
13 - Recno SB2
14 - Recno SF4
15 - Recno SB2
16 - Mantido por Compatibilidade (Não Usado)
17 - Quantidade Liberada Segunda Unidade de Medida
X


Retorno
NRET
    (Numérico)
  • ExpN1: Numero de Itens da Nota para quebra.
Exemplo:
#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'TOTVS.CH'

User Function M460NITE()
 
    Local aParam       := PARAMIXB
    Local nItensAtu    := aParam[1] //Número de itens adicionados a nota
    Local aItensAtu    := aParam[2] //Array contendo os itens adicionados a nota
    Local nX           := 1
    Local nQtdNota     := 0
    Local nItensNota   := 10 //Numero de itens limite na nota
    
    //------------------------------------------------------------------------//
    //Neste exemplo colocamos um limite de 10 itens por nota mas caso         //  
    //a soma das quantidades já adicionadas antes do décimo item for          //
    //igual ou maior que 100 o item que bateu esta quantidade será o último   //
    //------------------------------------------------------------------------//
    If nItensAtu < 10
        For nX := 1 to nItensAtu
            nQtdNota += aItensAtu[nX][4]
        Next nX
        If nQtdNota >= 100
            nItensNota := nItensAtu
        EndIf
    EndIf

Return nItensNota