01. DATOS GENERALES

Producto:

TOTVS Backoffice

Línea de producto:

Línea Protheus

Segmento:

Backoffice

Módulo:SIGAFAT - Facturación
Función:MATA461 - Documento de salida

02. DESCRIPCIÓN

Este punto de entrada permite determinar si habrá o no la división del Documento de salida y si se llama cuando el sistema no determina previamente que hay una división.

El punto de entrada se ejecuta al generar el documento de salida.

03. SINTAXIS

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

04. PARÁMETROS

Los parámetros son accesibles por la array pública PARAMIXB.

Nombre

Tipo

Descripción

Estándar

Obligatorio

Referencia

aParamIXBCharacterAlias de la tabla con los ítems liberados (SC9)
[ 1 ] - cAlias 



aParamIXBArray

Array con los siguientes campos como {C9_PEDIDO,C9_ITEM,C9_SEQUEN,C9_QTDLIB, Precio venta, C9_PRODUTO,
SF4->F4_ISS="S", Reg.SC9, Reg.SC5, Reg.SC6, Reg.SE4, Reg.SB1,Reg.SB2, Reg.SF4}

[ 2 ] - aPvlNfs




05. DEVOLUCIÓN

Devolución

Tipo

Descripción

Obligatorio

lRetLógico

Variable lógica que indica si habrá división o no:

.T. - Continua.

.F. - No continua.

06. EJEMPLO

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 con los siguientes 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 - Compatibilidad (No utilizado)
    C9_QTDLIB2})    //17
*/

For nX := 1 To Len(aPvlNfs)
    SB1->(DbGoTo(aPvlNfs[nX,12]))
    lQuebra := If(Upper(Alltrim(SB1->B1_TIPO )) == "PA",.T.,lQuebra)
    //Si en alguno de los ítems de los pedidos de venta existe un producto con el tipo "PA", se devuelve la división como Verdadero
    If lQuebra
        Exit
    EndIf
Next

Return(lQuebra)