Histórico da Página
...
Linha de Produto: | Protheus | ||||||||||||||||||
Segmento: | Manufatura | ||||||||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | ||||||||||||||||||
Parâmetro(s): |
| ||||||||||||||||||
Idiomas: | Todos | ||||||||||||||||||
País(es): | Todos | ||||||||||||||||||
Banco(s) de Dados: | Todos | ||||||||||||||||||
Sistema(s) Operacional(is): | Todos |
...
Descrição: | O ponto de entrada MRPEDITEXP permite o usuário realizar alterações nos campos de produto no arquivo Excel dos resultados do MRP. |
Localização: | Função getProds do fonte MRPData, chamada pela ação "Exportar Excel" da tela Resultados MRP (em Po UI). |
Eventos: | Permite que sejam manipuladas as informações dos produtos a serem exportadas no o arquivo Excel. |
Programa Fonte: | MRPData.prw |
Sintaxe: | MRPEDITEXP() |
Retorno: | Nil |
Observações: | O segundo parâmetro 2 (oJson) é um objeto Json que possui o cabeçalho a seguinte estrutura: oJson["headers"][nOrdemDaColuna]["id"] := "id_info_item" oJson["headers"] ordenados conforme a ordem de exportação e os itens "][nOrdemDaColuna]["label"] := "Título da Coluna" Onde nOrdemDaColuna é a ordem em que a coluna aparecerá no arquivo Excel. oJson["items"][nItem]["id_info_item"] := "Informação" Onde nItem é o índice para percorrer os produtos e atualizar as informações. |
Exemplo
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#Include "Totvs.ch" //Ponto de Entrada para alterar as informações dos produtos que estão sendo exportados User Function MRPEDITEXP() Local cAliasQry := GetNextAlias() Local cTicket := ParamixB[1] //Recupera o Ticket que está sendo exportado Local oJson := ParamixB[2] //Recupera o Json com os dados que serão exportados Local nIndex := 1 Local nLenHeader := Len(oJson["headers"]) //Número de Colunas Local nLenItems := Len(oJson["items"]) //Quantidade de produtos /* Estrutura padrão do oJson: oJson oJson["headers"] oJson["headers"][ 1]["id"] - "product" oJson["headers"][ 1]["label"] - "Produto" oJson["headers"][ 2]["id"] - "productDescription" oJson["headers"][ 2]["label"] - "Descrição" oJson["headers"][ 3]["id"] - "productType" oJson["headers"][ 3]["label"] - "Tipo" oJson["headers"][ 4]["id"] - "packing" oJson["headers"][ 4]["label"] - "Embalagem" oJson["headers"][ 5]["id"] - "deliveryLeadTime" oJson["headers"][ 5]["label"] - "Lead Time" oJson["headers"][ 6]["id"] - "deadlineType" oJson["headers"][ 6]["label"] - "Tipo Prazo" oJson["headers"][ 7]["id"] - "warehouse" oJson["headers"][ 7]["label"] - "Armazém" oJson["headers"][ 8]["id"] - "optionalSelected" oJson["headers"][ 8]["label"] - "Opcional" oJson["headers"][ 9]["id"] - "minimumLotSize" oJson["headers"][ 9]["label"] - "Lote Mínimo" oJson["headers"][10]["id"] - "economicLotSize" oJson["headers"][10]["label"] - "Lote Econômico" oJson["headers"][11]["id"] - "safetyStock" oJson["headers"][11]["label"] - "Estoque Segurança" oJson["headers"][12]["id"] - "orderPoint" oJson["headers"][12]["label"] - "Ponto Pedido" oJson["headers"][13]["id"] - "unity" oJson["headers"][13]["label"] - "Unidade de Medida" oJson["headers"][14]["id"] - "value" oJson["headers"][14]["label"] - "Valor" oJson["items"][nProd]["product"] - Código do Produto oJson["items"][nProd]["productDescription"] - Descrição do Produto oJson["items"][nProd]["productType"] - Tipo do Produto oJson["items"][nProd]["packing"] - Embalagem oJson["items"][nProd]["deliveryLeadTime"] - Lead Time oJson["items"][nProd]["deadlineType"] - Tipo Prazo oJson["items"][nProd]["warehouse"] - Armazém oJson["items"][nProd]["optionalSelected"] - Opcional oJson["items"][nProd]["minimumLotSize"] - Lote Mínimo oJson["items"][nProd]["economicLotSize"] - Lote Econômico oJson["items"][nProd]["safetyStock"] - Estoque Segurança oJson["items"][nProd]["orderPoint"] - Ponto Pedido oJson["items"][nProd]["unity"] - Unidade de Medida oJson["items"][nProd]["value"] - Valor */ //Adiciona uma coluna com o título "Cabeçalho Específico" aAdd(oJson["headers"], JsonObject():New()) nLenHeader++ oJson["headers"][nLenHeader]["id"] := "especifico" oJson["headers"][nLenHeader]["label"] := "Cabeçalho Específico" //Adiciona uma coluna com o título "Nível" aAdd(oJson["headers"], JsonObject():New()) nLenHeader++ oJson["headers"][nLenHeader]["id"] := "level" oJson["headers"][nLenHeader]["label"] := "Nível" //Percorre todos os produtos para preencher as novas colunas com a informação desejada For nIndex := 1 To nLenItems cProduto := oJson["items"][nIndex]["productIdproduct"] //Recupera o código do produto //Busca o nível do produto na HWB BeginSql Alias cAliasQry SELECT MAX(HWB_NIVEL) Nivel FROM %Table:HWB% WHERE HWB_TICKET = %exp:cTicket% AND HWB_PRODUT = %exp:cProduto% AND %NotDel% EndSql oJson["items"][nIndex]["especifico"] := "Valor Específico" //Preenche a nova coluna de título "Cabeçalho Específico" com o texto "Valor Específico" oJson["items"][nIndex]["level"] := (cAliasQry)->Nivel //Preenche a nova coluna de título "Nível" com o nível obtido na query (cAliasQry)->(dbCloseArea()) Next nIndex Return |