Producto: | TOTVS Backoffice |
---|---|
Línea de producto: | Línea Protheus |
Segmento: | Backoffice |
Módulo: | SIGAFAT - Facturación |
Función: | MATA461 - Documento de salida |
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.
M460QUEB ( [ cAlias ], [ aPvlNfs ] ) --> lQuebra
Los parámetros son accesibles por la array pública PARAMIXB.
Nombre | Tipo | Descripción | Estándar | Obligatorio | Referencia |
---|---|---|---|---|---|
aParamIXB | Character | Alias de la tabla con los ítems liberados (SC9) [ 1 ] - cAlias | |||
aParamIXB | Array | Array con los siguientes campos como {C9_PEDIDO,C9_ITEM,C9_SEQUEN,C9_QTDLIB, Precio venta, C9_PRODUTO, [ 2 ] - aPvlNfs |
Devolución | Tipo | Descripción | Obligatorio |
---|---|---|---|
lRet | Lógico | Variable lógica que indica si habrá división o no: .T. - Continua. .F. - No continua. | Sí |
#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)