Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.
Base de Conhecimento

Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Compras (SIGACOM) - Punto de Entrada para agregar/modificar items de Productos (LOCXPE54)

Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Compras (SIGACOM) - Punto de Entrada para agregar/modificar items de Productos (LOCXPE54)

Duda
¿Cuál es el punto de entrada para agregar/modificar items de Productos (aCols) usando la opción "Otras Acciones >> Facturas" en la carga de documentos del tipo NCP/NDP?

Ambiente
Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Compras (SIGACOM) - A partir de la versión 11

Solución
El punto de entrada LOCXPE54 permite agregar o modificar los ítems del array aCols. Este punto de entrada se ejecuta en el proceso de carga de documentos del tipo NCP/NDP a través de la opción "Otras Acciones >> Facturas".

El punto de entrada LOCXPE54 recibe como parámetro el tipo de documento que está cargando en el sistema. A continuación, se comparte un ejemplo de la función de usuario para el punto de entrada LOCXPE54.

 

#Include 'Protheus.ch'

User Function LOCXPE54()
Local nTipoDoc := StrZero(Paramixb[1], 2)
Local nUsado := Len(aHeader)
Local nPItem := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_ITEM', 'D2_ITEM')})
Local nPProduto := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_COD', 'D2_COD')})
Local nPLocal := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_LOCAL', 'D2_LOCAL')})
Local nPTes := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_TES', 'D2_TES')})
Local nCfo := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_CF', 'D2_CF')})
Local nPUM := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_UM', 'D2_UM')})
Local nPTotal := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_TOTAL', 'D2_TOTAL')})
Local nPVlUnit := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_VUNIT', 'D2_PRCVEN')})
Local nPProvEn := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_PROVENT', 'D2_PROVENT')})
Local nPFornec := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_FORNECE', 'D2_CLIENTE')})
Local nPFornLj := Ascan(aHeader,{|x| Alltrim(x[2]) == IIf( nTipoDoc $ '08/09', 'D1_LOJA', 'D2_LOJA')})
Local cItem := aCols[Len(aCols)][nPItem]
Local nX, nY := 0

If !MsgYesNo("¿Agregar item adicional?","LOCXPE54")
Return
EndIf

Aadd(aCols, Array(nUsado+1))
nX := Len(aCols)
For nY := 1 to Len(aHeader)
aCols[nX][nY] := CriaVar(aHeader[nY][2])
Next nY
aCols[nX][nUsado+1] := .F.
If nPItem > 0
cItem := Soma1(cItem)
If nPItem <> 0
aCols[nX][nPItem] := cItem
EndIf
Endif

If nPProduto > 0 ; aCols[nX][nPProduto] := '000000000000002' ; EndIf
If nPLocal > 0 ; aCols[nX][nPLocal] := '01' ; EndIf
If nPTes > 0 ; aCols[nX][nPTes] := IIf( nTipoDoc $ '08/09', '006', '501') ; EndIf
If nCfo > 0 ; aCols[nX][nCfo] := IIf( nTipoDoc $ '08/09', '112', '612') ; EndIf
If nPUM > 0 ; aCols[nX][nPUM] := 'PC' ; EndIf
If nPTotal > 0 ; aCols[nX][nPTotal] := 10.00 ; EndIf
If nPVlUnit > 0 ; aCols[nX][nPVlUnit] := 10.00 ; EndIf
If nPProvEn > 0 ; aCols[nX][nPProvEn] := 'BA' ; EndIf
If nPFornec > 0 ; aCols[nX][nPFornec] := IIf( nTipoDoc $ '08/09', M->F1_FORNECE, M->F2_CLIENTE) ; EndIf
If nPFornLj > 0 ; aCols[nX][nPFornLj] := IIf( nTipoDoc $ '08/09', M->F1_LOJA, M->F2_LOJA) ; EndIf

Return
¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0

0 Comentarios

Inicie sesión para dejar un comentario.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Rellene los campos siguientes para iniciar el chat:

Chat _