Histórico da Página
POSCusOrd - Ordenação personalizada da consulta de Ordem de Produção
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 |
Ponto de Entrada
Descrição: | O ponto de entrada POSCusOrd será executado ao realizar uma consulta de ordem de produção no App Minha Produção e nele será possível manipular a consulta SQL que trará as ordens de produção filtradas para que realize a ordenação conforme necessitar, assim como atribuir um nome à ordenação para que apareça na tela de resultados da consulta. | ||||||||
Localização: | API ProductionOrderSearch, método GET ProductionOrderMaster - Responsável por retornar uma lista de ordens de produção durante a utilização do APP Minha Produção - Consulta de OP. | ||||||||
Eventos: | Não se aplica. | ||||||||
Programa Fonte: | ProductionOrderSearch.PRW | ||||||||
Sintaxe: | POSCusOrd( ) --> aRetOrd | ||||||||
Retorno: |
| ||||||||
Observações: | Não é permitida a utilização de qualquer componente de interface gráfica nesse ponto de entrada, visto que a função será executada durante uma requisição REST. |
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "TOTVS.CH" User Function POSCusOrd() //parâmetros Local cUserCode := PARAMIXB[1] Local cFormCode := PARAMIXB[2] Local cApType := PARAMIXB[3] //0-Menu,1-Apont. Produção(MATA250),3-Apont. Produção MOD 2(MATA681),4-Apont. Produção SFC (SFCA314),6-Cad. Ordem Produção(MATA650) Local cQuery := PARAMIXB[4] Local lDesc := PARAMIXB[5] //partes da query Local nFieldsIni := AT("TC_",cQuery) Local nFieldsFin := AT("FROM",cQuery) Local cFields := AllTrim(SUBSTRING(cQuery,nFieldsIni,nFieldsFin-nFieldsIni)) Local cTable := AllTrim(SUBSTR(cQuery,nFieldsFin+4)) //nome da ordenação no app Local cSortName := "" //query customizada Local cQueryOrd := "" //array de retorno - [1] = nome da ordenação, [2] = query //obs.: para não aplicar ordenação na consulta, manter o array vazio Local aRet := {} conout("cUserCode: " + cUserCode) conout("cFormCode: " + cFormCode) conout("cApType: " + cApType) conout("cQuery: " + cQuery) conout("lDesc: " + IIF(lDesc,"true","false")) If cApType == "3" cSortName := "Carga Máquina" cQueryOrd := "SELECT " cQueryOrd += cFields cQueryOrd += " FROM " + cTable + " TC" cQueryOrd += " LEFT JOIN "+RetSqlName("SH8")+" SH8 ON SH8.H8_OP = TC.TC_OP AND SH8.H8_OPER = TC.TC_OPER" cQueryOrd += " ORDER BY SH8.H8_OPER,SH8.H8_BITINI" EndIf If cApType $ "|1|4|6|" cSortName := "Prev. Término" cQueryOrd := cQuery cQueryOrd += " ORDER BY TC_DATPRF" If lDesc cQueryOrd += " DESC" EndIf EndIf //A pesquisa de OP localizada no menu não terá ordenação customizada, portanto, será devolvido o array vazio If !Empty(cSortName) aAdd(aRet,cSortName) aAdd(aRet,cQueryOrd) EndIf Return aRet |