Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Backoffice

Módulo:SIGAFAT - Faturamento
Função:MATA461 - Documento de Saída

02. DESCRIÇÃO

Este ponto de entrada permite escolher se haverá ou não a quebra do Documento de Saída e é chamado quando o sistema não pré-determina que há uma quebra.

O ponto de entrada é executado ao gerar o documento de saída.

03. SINTAXE

M460QUEB ( [ cAlias ], [ aPvlNfs ] ) --> lQuebra

04. PARÂMETROS

Os parâmetros são acessíveis pela array pública PARAMIXB.

Nome

Tipo

Descrição

Default

Obrigatório

Referência

aParamIXBCharacterAlias da tabela com os itens liberados (SC9)
[ 1 ] - cAlias 



aParamIXBArray

Array com os seguintes campos como {C9_PEDIDO,C9_ITEM,C9_SEQUEN,C9_QTDLIB,Preco Venda,C9_PRODUTO,
SF4->F4_ISS="S", Reg.SC9, Reg.SC5, Reg.SC6, Reg.SE4, Reg.SB1,Reg.SB2, Reg.SF4}

[ 2 ] - aPvlNfs




05. RETORNO

Retorno

Tipo

Descrição

Obrigatório

lRetLógico

Variável lógica indicando se haverá a quebra ou não, sendo:

.T. - Continua.

.F. - Não Continua.

Sim

06. EXEMPLO

M460QUEB
#INCLUDE 'PROTHEUS.CH'  #

************************
User Function M460QUEB()
************************

Local lQuebra    := .F.
Local cAlias     := ""
Local aPvlNfs    := {}
Local nX         := 1

cAlias  := ParamIxb[01]
aPvlNfs := If(Len(ParamIxb[02]) <> 0 , aClone(ParamIxb[02]),{})

/*
aPvlNfs    Array com os seguintes campos como 
  { C9_PEDIDO   ,;    //01
    C9_ITEM     ,;    //02
    C9_SEQUEN   ,;    //03
    C9_QTDLIB   ,;    //04
    nPrcVen     ,;    //05
    C9_PRODUTO  ,;    //06
    F4ISS=="S"  ,;    //07
    C9RECNO     ,;    //08
    C5RECNO     ,;    //09
    C6RECNO     ,;    //10
    E4RECNO     ,;    //11
    B1RECNO     ,;    //12
    B2RECNO     ,;    //13
    F4RECNO     ,;    //14
    B2_LOCAL    ,;    //15
    0           ,;    //16 - Compatibilidade (Não Usado)
    C9_QTDLIB2})    //17
*/

For nX := 1 To Len(aPvlNfs)
    SB1->(DbGoTo(aPvlNfs[nX,12]))
    lQuebra := If(Upper(Alltrim(SB1->B1_TIPO )) == "PA",.T.,lQuebra)
    //Caso em algum dos itens do pedidos de venda tenha produto com o tipo "PA" é retornardo a quebra como Verdadeiro
    If lQuebra
        Exit
    EndIf
Next

Return(lQuebra)