Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 

MA411GRV -

...

Maneja los datos del pedidos de ventas generado a través de EDI de Ventas (TOTVS Colaboración)

Características del requisito

Línea de producto

...

Características do Requisito

Linha de ProdutoBanco(s) de Dados Operacionalis

:

Microsiga Protheus

Segmento:

ServiçosServicios

Módulo:

FaturamentoFacturación

RotinaRutina:

RotinaRutina

Nome TécnicoNombre técnico

MATA411

TOTVS Colaboração Colaboración - Pedidos de VendaVenta

País(es):

Todos

Bases de Datos:

Todos

Sistema(s)

operativo(

s):

Todos


  

Ponto

Punto de Entrada

DescriçãoA finalidade do ponto é permitir manipular os dados que serão gravados no pedido de vendas através

do TOTVS Colaboração.

Parâmetros Cabeçalho do Itens do Pedido Operação Caractere Conteúdo do Sim

Descripción:

La finalidad del punto de entrada MA411GRV

es permitir manejar los datos que se grabarán en el pedido de ventas por medio del

del TOTVS Colaboración.

LocalizaciónLocalização:

/Pedidos/Pedidos de Vendaventa

Eventos:


Programa Fontefuente:

MATA411.PRW

Parámetros:

PARAMIXB[1] - Tipo: Array--->

encabezado del pedido

PARAMIXB[2] - Tipo: Array-->

Ítems del pedido

PARAMIXB[3] - Tipo: Numério-->

Operación CRUD

PARAMIXB[4] - Tipo:

Carácter-->

contenido del XML

RetornoRespuesta:

Nome

Nombre

Tipo

Descrição

Descripción

Obrigatório

Obligatorio

aData( aCabeçalho, aItens )

Array

Dados do cabeçalho, dados do(s) item(ns)

Datos del encabezado, datos del(os) ítem(s)

 

ExemploEjemplo:

Bloco de código
languagec#
linenumberstrue
#Include 'PROTHEUS.CH'
#Include 'XMLXFUN.CH'
#Include 'FILEIO.CH'
#Include "FWEVENTVIEWCONSTS.CH"
 
 
User Function MA411Grv()
 
Local aCabPed       	:= PARAMIXB[1] //CabeçalhoEncabezado dodel pedido
Local aItePed       	:= PARAMIXB[2] //ItensÍtems dodel pedido
Local nOpc          	:= PARAMIXB[3] //OperaçãoOperación dodel sistema
Local cXML          	:= PARAMIXB[4] //ConteúdoContenido dodel XML
Local nPosQuant     	:= 0
Local nPosVlrUnit   	:= 0
Local nPosTotal     	:= 0
Local nPosTES			:= 0	
Local nPosCusto			:= 0
Local nPosStore			:= 0
Local nPosProd			:= 0
Local nX           		:= 0
Local nY            	:= 0
Local oXML          	:= TXMLManager():New()
Local aItens        	:= {}
 
//-------------------------------------------------------------------
// Parseia o XML. 
//-------------------------------------------------------------------  
If ( ! Empty( cXML ) .And. ( oXML:Read( cXML ) ) ) 
 
    //-------------------------------------------------------------------
    // Recupera oslos itensítems dodel pedido.  
    //-------------------------------------------------------------------          
    aItens			:= oXML:XPathGetChildArray( "/BusinessContent/SalesOrderItens" ) 
    
    nPosCusto	  := aScan( aCabPed, { |z| z[1] == "C5_CLIENTE" } )
	nPosStore	  := aScan( aCabPed, { |z| z[1] == "C5_LOJACLI" } )
	nPosQuant     := aScan( aItePed[1], {|z| z[1] == "C6_QTDVEN" } )
	nPosVlrUnit   := aScan( aItePed[1], {|z| z[1] == "C6_PRCVEN" } )
	nPosTotal     := aScan( aItePed[1], {|z| z[1] == "C6_VALOR" } )
	nPosProd	  := aScan( aItePed[1], { |z| z[1] == "C6_PRODUTO" } )
	nPosTES       := aScan( aItePed[1], { |z| z[1] == "C6_TES" } )
 
    For nX := 1 To Len( aItens )
     
        nVlrUnit    := Val( oXML:XPathGetNodeValue( aItens[nX][2] +"/UnityPrice" )    )
         
        //-------------------------------------------------------------------  
        // AlteraModifica oel preçoprecio de vendaventa
        //-------------------------------------------------------------------  
        If nVlrUnit > 0
            aItePed[nX][nPosVlrUnit][2] := nVlrUnit + ( nVlrUnit * 0.20 )
            aItePed[nX][nPosTotal][2]   := A410Arred( aItePed[nX][nPosVlrUnit][2] * aItePed[nX][nPosQuant][2] , "C6_VALOR" )
        EndIf
        
        //-------------------------------------------------- ----------------  
        // 			PreencheCompleta oel TES de acordoacuerdo comcon oel TES Inteligente
        // ParâmetrosParámetros de dala rotinarutina:
        // ExpN1 = Documento de 1 - Entrada / 2 -Saida Salida                     
        // ExpC2 = Tipo de Operacaooperación TabelaTabla "DF" dodel SX5                  
        // ExpC3 = CodigoCódigo dode Clientecliente ouo Fornecedorproveedor
        // ExpC4 = LojaTienda dodel Clientecliente ouo Fornecedorproveedor                        
        // ExpC5 = Tipo CF
        // ExpC6 = ProdutoProducto                           
        // ExpC7 = Campo    
        //-------------------------------------------------------------------  
        aItePed[nX][nPosTES][2] := MaTesInt( 2, '01', aCabPed[nPosCusto][2], aCabPed[nPosStore][2], 'C', aItePed[nX][nPosProd][2] )    
      
    Next nX
EndIf 
 
Return{ aCabPed, aItePed }