Duda
¿Cuál es el punto de entrada para modificar los ítems al incluir una NCC a partir de un documento origen?
Ambiente
Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Facturación (SIGAFAT) - A partir da versión 12.1.11
Solución
Para modificar los ítems de una NCC a partir de un documento origen, existe el punto de entrada LXDORIG. Este punto de entrada fue habilitado para permitir modificar los ítems de una NCC cuando es registrada a partir de un documento origen.
Para el punto de entrada LXDORIG se recomienda tener las siguientes consideraciones:
- El punto de entrada es detona por cada ítem del documento origen.
- El punto de entrada no recibe ningún parámetro y tampoco retorna algún valor.
- Para identificar el ítem que será modificado, se recomiendo usar la función LEN(). Ejemplo: Len(aCols).
A continuación, se comparte un ejemplo de la función de usuario:
#INCLUDE "PROTHEUS.CH"
User Function LXDORIG()
Local nLinea := IIf(Valtype(nLenAcols) == "N", nLenAcols, 1)
Local nCpoDesc := Ascan(aHeader,{|x| Alltrim(x[2]) == 'D1_DESC'})
Local nCpoVDes := Ascan(aHeader,{|x| Alltrim(x[2]) == 'D1_VALDESC'})
Local nCpoTot := Ascan(aHeader,{|x| Alltrim(x[2]) == 'D1_TOTAL'})
If nCpoDesc <> 0
aCols[nLinea][nCpoDesc] := 10.00
aCols[nLinea][nCpoVDes] := (aCols[nLinea][nCpoTot] * 10.00) /100
EndIf
MaFisAlt('IT_DESCONTO', aCols[nLinea][nCpoVDes], nLinea)
MaColsToFis(aHeader,aCols,nLinea,"MT100")
Return
En el ejemplo anterior, se asigna un descuento por ítem en la NCC.
0 Comentarios