Punto de entrada A140IVPED

Línea de producto:

Microsiga Protheus

Segmento:

Manufactura

Módulo:

SIGACOM - Compras

Rutina:

Rutina

Nombre técnico

e-Fact TOTVS Colaboración

MATA140I

Punto de entrada:

A140IVPED

País:

Brasil

Base de datos:

Todos

Tablas utilizadas:

SDS - Encabezado TOTVS Colaboración

SDT - Ítems TOTVS Colaboración

Sistemas operativos:

Windows® / Linux®

Punto de entrada

Descripción:

El punto de entrada A140IVPED, permite vincular pedidos de compras al importar un documento en el TOTVS Colaboración.

Ubicación:

Rutina de procesamiento de los documentos en el monitor TOTVS Colaboración para documentos SDS/SDT.

Eventos:

El punto de entrada se ejecuta antes de incluir el documento en el monitor TOTVS Colaboración SDS/SDT.

Programa fuente:

MATA140I

Función:

IMPXML_NFE

Parámetros:

Nombre

Tipo

Descripción

Obligatorio

PARAMIXB

Carácter

Código del proveedor

X

PARAMIXB

Carácter

Tienda del proveedor

X

PARAMIXB

Carácter

Código del producto

X

PARAMIXB

Numérico

Cantidad del producto

X

 Devolución:

cPedido

Carácter

Número del pedido

 X

cItPed

Carácter

Ítem del pedido

X

nQuant

Numérico

Cantidad

X

lValida

Lógico

Valida la cantidad del pedido


Nombre

Tipo

Descripción

Obligatorio

 

Ejemplo:

#Include 'Protheus.ch'

User Function A140IVPED()

Local cQry    := ""
Local aRet    := {}
Local lValida := .T. // .T. para validar la cantidad del pedido de compra superior al XML o .F. para no validar la cantidad del pedido de compra superior al XML.

If Select("PED") > 0
         PED->(DbCloseArea())
Endif

cQry += " SELECT C7_NUM,"
cQry += " C7_ITEM,"
cQry += " C7_QUANT"
cQry += " FROM " + RetSqlName("SC7")
cQry += " WHERE D_E_L_E_T_ = ''
cQry += " AND C7_FORNECE = '" + PARAMIXB[1] + "'"
cQry += " AND C7_LOJA = '" + PARAMIXB[2] + "'"
cQry += " AND C7_PRODUTO = '" + PARAMIXB[3] + "'"

cQry := ChangeQuery(cQry)

DbUseArea(.T., "TOPCONN", TCGenQry(,,cQry),"PED", .T., .T.)

DbSelectArea("PED")
While PED->(!EOF())
            aAdd(aRet,{PED->C7_NUM,PED->C7_ITEM,PED->C7_QUANT,lValida})
            PED->(DbSkip())
EndDo

PED->(DbCloseArea())

Return aRet