Árvore de páginas

Versões comparadas

Chave

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

Ponto de Entrada - MT161CPO

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGACOM - Compras

Rotina:

Rotina

Nome Técnico

Análise de Cotações

MATA161

País(es):

Brasil

Banco(s) de Dados:

Todos

Sistemas Operacionais:

Todos

Ponto de Entrada

Descrição:

O Ponto de Entrada MT161CPO permite incluir campos customizados nas grids "Produtos" e "Item da Proposta", na rotina Análise de Cotação (MATA161).

Eventos:

A chamada do Ponto de Entrada MT161CPO , ocorre ao clicar no botão "Análise da cotação" na rotina Analisa Cotações (MATA161).

Programa Fonte:

MATA161.PRW

Função:

MATA161 - Analise Análise da Cotação - Mapa de Cotação

Parâmetros:
ParâmetroTipoDescriçãoObrigatório
PARAMIXB[1]ArrayArray contendo os dados das propostas dos fornecedoresNão
PARAMIXB[2]ArrayArray com os dados da grid "Produtos"Não
Retorno:
NomeTipoDescriçãoObrigatório
aRetArrayArray com quatro dimensões contendo:
1 - Os dados das propostas dos fornecedores na mesma estrutura do array recebido como parâmetro PARAMIXB[1], acrescido das informações dos campos incluídos.
2 - Array com o nome dos campos incluídos na grid "Item da Proposta".
3 - Os dados dos produtos  na mesma estrutura do array recebido como parâmetro PARAMIXB[2], acrescido das informações dos campos incluídos.
4 -   Array com o nome dos campos incluídos na grid "Produtos".
Sim
Exemplo:

User Function MT161CPO()

Local aPropostas := PARAMIXB[1] // Array com os dados das propostas dos Fornecedores
Local aItens := PARAMIXB[2] // Array com os dados da grid "Produtos"
Local aCampos := {"C8_XTESTE"} // Array com os campos adicionados na grid "Item da Proposta"
Local aCposProd := {"C8_XVALOR"} // Array com os campos adicionados na grid "Produtos"
Local aRetorno := {}
Local nX := 0
Local nY := 0
Local nZ := 0
Local nCount := 0

For nX := 1 To Len(aPropostas)
For nY := 1 To Len(aPropostas[nX])
For nZ := 1 To Len(aPropostas[nX][nY][2])
nCount++
AADD(aPropostas[nX][nY][2][nZ],"TESTE "+Str(nCount,2))
next nZ
Next nY
Next nX

For nX := 1 To Len(aItens)
AADD(aItens[nX],nX)
Next nX

AADD(aRetorno,aPropostas)
AADD(aRetorno,aCampos)
AADD(aRetorno,aItens)
AADD(aRetorno,aCposProd)

Return aRetorno

Informações adicionais:

Os nomes dos campos devem ser incluídos nos arrays de retorno na mesma ordem em que foram incluídos nas informações dos produtos e das propostas.
No array de produtos, todos os produtos devem ter os mesmos campos incluídos e no array de dados das propostas todas as propostas devem ter os mesmos campos incluídos.
Este ponto de entrada não efetua gravação de campos na tabela SC8 e também não permite editar as informações dos campos customizados na tela, somente exibição das informações.

Estrutura do Array aPropostas

//CABEÇALHO//
//aPropostas[n] : número da página
//aPropostas[n,p] : posição do pedido na página (1,2)
//aPropostas[n,p,1,x] : Dados do cabeçalho da proposta
//aPropostas[n,p,1,1 ] : Cod Fornecedor
//aPropostas[n,p,1,2 ] : Loja
//aPropostas[n,p,1,3 ] : Nome
//aPropostas[n,p,1,4 ] : Proposta
//aPropostas[n,p,1,5 ] : Cond pagto
//aPropostas[n,p,1,6 ] : Frete
//aPropostas[n,p,1,7 ] : Valor total (soma de nCusto dos itens)
//ITENS DA PROPOSTA//
//aPropostas[n,p,2,x] : Itens da proposta
//aPropostas[n,p,2,x,1] : Flag vencendor
//aPropostas[n,p,2,x,2] : Item
//aPropostas[n,p,2,x,3] : Cod produto
//aPropostas[n,p,2,x,4] : Valor total (nCusto)
//aPropostas[n,p,2,x,5] : Data de entrega
//aPropostas[n,p,2,x,6] : Observações
//aPropostas[n,p,2,x,7] : Filial Entrega
//aPropostas[n,p,2,x,8] : Flag finalizado
//aPropostas[n,p,2,x,9] : Recno SC8
//aPropostas[n,p,2,x,10]: Identificador de rastramento (C8_IDENT)
//aPropostas[n,p,2,x,11]: Posição do item dentro do array de itens
//aPropostas[n,p,2,x,12]: Número da proposta

Estrutura do Array de aItens

//aItens[n,x]: Numero do item
//aItens[n,1]: C8_PRODUTO
//aItens[n,2]: C8_IDENT
//aItens[n,3]: C8_QUANT
//aItens[n,4]: C8_ UM
//aItens[n,5]: C8_ DATPRF
//aItens[n,6]: C8_ FILENT
//aItens[n,7]: valor do produto por proposta escolhida
//aItens[n,8]: Descrição do Produto
//aItens[n,9]: Flag finalizado
//aItens[n,10]: Fornecedor
//aItens[n,11]: Loja
//aItens[n,12]: Item
//aItens[n,13]: Numero da proposta
//aItens[n,14]: Item da solicitacao