Histórico da Página
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
// Indica ao programa onde estão as Classes USING com.totvs.framework.po.*. // Define a variável que irá representar a Classe DEF VAR oCustFields AS CustomFields NO-UNDO. // Instância a Classe passando o ponto que será customizado (evento) e Json de informações recebido na UPC oCustFields = NEW CustomFields(CustomOrig:ORIG_METADATA, jsonIO). // Tela Editar: Alterar o valor da coluna "Variação máxima data emissão" para "888" (Aba: Digitação/Geração) DELETE OBJECT oCustFields NO-ERROR. |
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
USING PROGRESS.json.ObjectModel.*. USING com.totvs.framework.po.*. DEF INPUT PARAM pEndPoint AS CHAR NO-UNDO. DEF INPUT PARAM pEvent AS CHAR NO-UNDO. DEF INPUT PARAM pAPI AS CHAR NO-UNDO. DEF INPUT-OUTPUT PARAM jsonIO AS JsonObject NO-UNDO. DEF NEW GLOBAL SHARED VAR v_cod_usuar_corren AS CHARACTER FORMAT "x(12)":U LABEL "Usuário Corrente" COLUMN-LABEL "Usuário Corrente" NO-UNDO. IF v_cod_usuar_corren <> "super" THEN RETURN. IF jsonIO = ? THEN DO: MESSAGE "AVILA - jsonIO inválido". RETURN "NOK". END. DEF VAR v_log_mark AS LOGICAL NO-UNDO. DEF VAR v_cod_caminho AS CHARACTER NO-UNDO. DEF VAR v_cod_cam_ajust AS CHARACTER NO-UNDO. DEF VAR oCustPages AS CustomPages NO-UNDO. DEF VAR oCustFields AS CustomFields NO-UNDO. DEF VAR oCustActions AS CustomActions NO-UNDO. DEF VAR oCustRecords AS CustomRecords NO-UNDO. DEF VAR oCustMsgs AS CustomMessages NO-UNDO. DEF VAR oFields AS JsonArray NO-UNDO. DEF VAR oField AS JsonObject NO-UNDO. DEF VAR oAction AS JsonObject NO-UNDO. // Evento de Busca do Metadados da Tela de Lista IF pEndPoint = "getMetaData" AND pEvent = "list" THEN DO: oCustPages = NEW CustomPages(CustomOrig:ORIG_METADATA, jsonIO). oCustFields = NEW CustomFields(CustomOrig:ORIG_METADATA, jsonIO). oCustActions = NEW CustomActions(CustomOrig:ORIG_METADATA, jsonIO). // Tela de Lista: Alterar o Título da Página oCustPages:setPageTitle(oCustPages:getPageTitle() + " - ALTERADO"). // Tela de Lista: Se estiver salvando o Filtro, esconde o geranciador de Colunas IF oCustPages:getPagePropertyLogical("keepfilters") THEN oCustPages:setPageProperty("hideColumnsManager", TRUE). // Tela de Lista: Alterar o label da coluna "FIFO" para "FIFO-ALT" oCustFields:setFieldLabel("enableFIFOInPurchaseReq", "FIFO-ALT"). // Tela de Lista: Incluir uma coluna chamada: "Cópia Usuário" com o valor da coluna "Usuário" ASSIGN oField = oCustFields:addField("userCopy", "Cópia Usuário", FieldType:STRING). IF oField <> ? THEN oField:ADD("allowColumnsManager", TRUE). // Tela e Lista: Retira a o Ação de "Excluir" da Tabela oCustActions:setAction("remove", FALSE). // Tela de Lista: Retira a Ação de "Cópia" oCustActions:removeAction("duplicate"). // Tela de Lista: Faz o Ação de Visualizar abrir a tela de Edição oCustActions:setAction("detail", oCustActions:getActionCharacter("edit")). // Tela de Lista: Incluir uma nova opção no Pagina chamada "EndPoint" que chama uma EndPoint oCustActions:addPageCustomAction(CustomActions:TYPE_ENDPOINT, "Endpoint", "http://localhost:3000/page"). // Tela de Lista: Incluir uma nova opção no Pagina chamada "Rota" que chama uma Rota oCustActions:addPageCustomAction(CustomActions:TYPE_ROUTE, "Rota", "http://www.google.com", "po-icon po-icon-device-desktop"). // Tela de Lista: Incluir o icone de Monitor na Ação "Endpoint" da Pagina oCustActions:setPageCustomActionProperty("Endpoint", "icon", "po-icon po-icon-device-desktop"). // Tela de Lista: Alterar o Endereço da Ação "Endpoint" da Pagina, incluíndo um "2" no final oAction = oCustActions:getPageCustomAction(1). IF oAction <> ? THEN oAction:set("action", oCustActions:getPageCustomActionPropertyCharacter("Endpoint", "action") + "2"). // Testa de Lista: Elimina a Ação de Rota da Pagina oCustActions:removePageCustomAction("ROTA"). // Tela de Lista: Incluir uma nova opção no Tabela chamada "EndPoint" que chama uma EndPoint oCustActions:addTableCustomAction(CustomActions:TYPE_ENDPOINT, "Endpoint", "http://localhost:3000/table"). // Tela de Lista: Incluir uma nova opção no Tabela chamada "EndPoint2" que chama uma EndPoint do Datasul oCustActions:addTableCustomAction(CustomActions:TYPE_ENDPOINT, "Endpoint2", oCustActions:getServerAddress(FALSE) + "\api\fin\v1\customer"). // Tela de Lista: Incluir uma nova opção no Tabela chamada "Rota" que chama uma Rota oCustActions:addTableCustomAction(CustomActions:TYPE_ROUTE, "Rota", "http://www.google.com"). // Tela de Lista: Incluir uma nova opção no Tabela chamada "Rota2" que chama uma Rota oCustActions:addTableCustomAction(CustomActions:TYPE_ROUTE, "Rota2", "http://www.google.com", "po-icon po-icon-device-desktop"). // Tela de Lista: Incluir o icone de Monitor na Ação "Endpoint" da Tabela oCustActions:setTableCustomActionProperty("Endpoint", "icon", "po-icon po-icon-device-desktop"). // Tela de Lista: Alterar o Endereço da Ação "Endpoint" da Table, incluíndo um "2" no final oAction = oCustActions:getTableCustomAction(1). IF oAction <> ? THEN oAction:set("action", oCustActions:getTableCustomActionPropertyCharacter("Endpoint", "action") + "2"). // Testa de Lista: Elimina a Ação de Rota2 da Pagina oCustActions:removeTableCustomAction("Rota2"). // oCustActions:getActions() // oCustActions:getPageCustomActions() // oCustActions:getTableCustomActions() // oCustRecords:getEntityKeyCharacter() // oCustRecords:getEntityKeyInteger() DELETE OBJECT oCustPages NO-ERROR. DELETE OBJECT oCustFields NO-ERROR. DELETE OBJECT oCustActions NO-ERROR. END. // Evento de Busca do Metadados da Tela de Novo/Editar IF pEndPoint = "getMetaData" AND (pEvent = "new" OR pEvent = "edit") THEN DO: oCustFields = NEW CustomFields(CustomOrig:ORIG_METADATA, jsonIO). // Tela Novo/Editar: Desabilitar o campo "Atualizar com erro de duplicata" (Aba: Atualização recebimento fiscal) oCustFields:setDisableField("updatesWithDuplicateError", "fieldsUpdateFiscalConfigurations"). // Tela Novo/Editar: Habilitar o campo "Unidade negócio" (Aba: Digitação/Geração) oCustFields:setEnableField("enableBusinessUnit", "fieldsTypingEnableDisable"). // Tela Novo/Editar: Esconder o campo "Desconto item" (Aba: Digitação/Geração) oCustFields:setHideField("itemDiscount", "fieldsTypingEnableDisable"). // Tela Novo/Editar: Mostrar um campo "Geração nota crédito a pagar" (Aba: Digitação/Geração) oCustFields:setShowField("creditNoteGeneration", "fieldsTypingEnableDisable"). // Tela Novo/Editar: Para o campo "Sequência dos itens" mostrar "Ligado/Desligado" ao invés de "Ativado/Desativado" IF oCustFields:getFieldPropertyCharacter("enableSequence", "type", "fieldsTypingEnableDisable") = "boolean" THEN DO: oCustFields:setFieldProperty("enableSequence", "booleanTrue", "Ligado", "fieldsTypingEnableDisable"). oCustFields:setFieldProperty("enableSequence", "booleanFalse", "Desligado", "fieldsTypingEnableDisable"). END. // Tela Novo/Editar: Pegua a quantidades de campos do agrupador "Habitar/Desabilitar Campos" e joga no label o campo "Sequência dos itens" ASSIGN oFields = oCustFields:getFields("fieldsTypingEnableDisable"). IF oFields <> ? THEN DO: oField = oCustFields:getField("enableSequence", "fieldsTypingEnableDisable"). IF oField <> ? THEN oField:SET("label", "Sequência dos itens (" + string(oFields:LENGTH) + ")"). END. // Tela Novo/Editar: Colocar o Campo "Estado (UF)" depois do campo "Baixa estoque" (Aba: Digitação/Geração) oCustFields:changeFieldOrder("enableState", "enableStockMovement", "fieldsTypingEnableDisable"). //oCustFields:changeFieldOrder("enableState", YES, "fieldsTypingEnableDisable"). // primeiro //oCustFields:changeFieldOrder("enableState", NO, "fieldsTypingEnableDisable"). // último // Tela Novo/Editar: Ao alterar o campo "Caminho completo do executável GZIP" (Aba: Digitação/Geração): // - Muda o conteúdo para minísculo // - Retira os acentos // - Se retirar os acentos, muda o label para "Caminho completo do executável GZIP (AJUST)" oCustFields:setFieldValidate("execGZIPProgram", pAPI, "fieldsTypingConfigurations"). //oCustFields:setFieldValidateCustom("execGZIPProgram", "/api/rep/v1/userParameters/validateField", "fieldsTypingConfigurations"). // Tela Novo/Editar: Ao alterar o campo “Código tributação ICMS” (Aba: Digitação/Geração): // - Se "sim": desabilita o campo “Percentual redução ICMS” e muda o campo "Alíquota ICMS" para "sim", // - Se "não": faz ao contrário oCustFields:addValidateFields("enableICMSTaxationCode"). DELETE OBJECT oCustFields NO-ERROR. END. // Evento de Busca dos Registros da Tela de Lista IF pEndPoint = "findAll" AND pEvent = "findAll" THEN DO: oCustRecords = NEW CustomRecords(CustomOrig:ORIG_GET_ALL, jsonIO). // Tela de Lista: Incluir uma coluna chamada: "Cópia Usuário" com o valor da coluna "Usuário" // Tela de Lista: Alterar o conteúdo da coluna "Nome", concatenado: "- Alterado" oCustRecords:updateRecords(THIS-PROCEDURE, "pi_altera_registros"). DELETE OBJECT oCustRecords NO-ERROR. END. PROCEDURE pi_altera_registros: DEF INPUT PARAM oItem AS JsonObject NO-UNDO. oItem:ADD("userCopy", oItem:getCharacter("userCode")). oItem:SET("userName", oItem:getCharacter("userName") + " - Alterado"). END PROCEDURE. // Evento de Busca de Um Registro da tela de Edição IF pEndPoint = "findById" AND pEvent = "findById" THEN DO: oCustFields = NEW CustomFields(CustomOrig:ORIG_GET_RECORD, jsonIO). // Tela Editar: Alterar o valor da coluna "Variação máxima data emissão" para "888" (Aba: Digitação/Geração) oCustFields:setFieldValue("variationIssuing", 888). DELETE OBJECT oCustFields NO-ERROR. END. // Evento de Alteração de Formulário IF pEndPoint = "validateForm" AND pEvent = "validateForm" THEN DO: oCustFields = NEW CustomFields(CustomOrig:ORIG_VLD_FORM, jsonIO). // Tela Novo/Editar: Ao alterar o campo “Código tributação ICMS” (Aba: Digitação/Geração): // - Se "sim": desabilita o campo “Percentual redução ICMS” e muda o campo "Alíquota ICMS" para "sim", // - Se "não": faz ao contrário IF oCustFields:isChangedField("enableICMSTaxationCode") THEN DO: ASSIGN v_log_mark = oCustFields:getFieldValueLogical("enableICMSTaxationCode"). IF v_log_mark <> ? THEN DO: oCustFields:setFieldProperty("enableICMSReductionPercentage", "disabled", v_log_mark). oCustFields:setFieldValue("enableICMSRate", v_log_mark). END. END. // oCustFields:getReturnRoot(). // oCustFields:getFieldValues(). DELETE OBJECT oCustFields NO-ERROR. END. // Evento de Alteração de Campo IF pEndPoint = "validateField" AND pEvent = "validateField" THEN DO: oCustFields = NEW CustomFields(CustomOrig:ORIG_VLD_FIELD, jsonIO). // Tela Novo/Editar: Ao alterar o campo "Caminho completo do executável GZIP" (Aba: Digitação/Geração): // - Muda o conteúdo para minísculo // - Retira os acentos // - Se retirar os acentos, muda o label para "Caminho completo do executável GZIP (AJUST)" IF oCustFields:isChangedField("execGZIPProgram") THEN DO: ASSIGN v_cod_caminho = oCustFields:getFieldValueCharacter("execGZIPProgram"). IF v_cod_caminho <> ? THEN DO: ASSIGN v_cod_cam_ajust = LC(v_cod_caminho) v_cod_cam_ajust = REPLACE(v_cod_cam_ajust, "á", "a") v_cod_cam_ajust = REPLACE(v_cod_cam_ajust, "é", "e") v_cod_cam_ajust = REPLACE(v_cod_cam_ajust, "í", "i") v_cod_cam_ajust = REPLACE(v_cod_cam_ajust, "ó", "o") v_cod_cam_ajust = REPLACE(v_cod_cam_ajust, "ú", "u") v_cod_cam_ajust = REPLACE(v_cod_cam_ajust, "ã", "a") v_cod_cam_ajust = REPLACE(v_cod_cam_ajust, "õ", "o") v_cod_cam_ajust = REPLACE(v_cod_cam_ajust, "ç", "c"). IF NOT v_cod_cam_ajust MATCHES(v_cod_caminho) THEN oCustFields:setFieldLabel("execGZIPProgram", "Caminho completo do executável GZIP (AJUST)"). ELSE oCustFields:setFieldLabel("execGZIPProgram", "Caminho completo do executável GZIP"). oCustFields:setFieldValue("execGZIPProgram", v_cod_cam_ajust). END. END. DELETE OBJECT oCustFields NO-ERROR. END. // Evento de Alteração de Registro IF pEndPoint = "update" AND pEvent = "beforeUpdate" THEN DO: oCustFields = NEW CustomFields(CustomOrig:ORIG_UPDATE_RECORD, jsonIO). oCustMsgs = NEW CustomMessages(CustomOrig:ORIG_UPDATE_RECORD, jsonIO). // Tela Editar: Valida se o campo "Caminho completo do executável GZIP" foi informado, se não foi, apresenta uma mensagem de Erro IF oCustFields:getFieldValueCharacter("execGZIPProgram") = "" OR oCustFields:getFieldValueCharacter("execGZIPProgram") = ? THEN DO: jsonIO = oCustMsgs:createMessageError(1, "Caminho completo do executável GZIP OBRIGATÓRIO", "O campo 'Caminho completo do executável GZIP' deve ser informado, não pode ser branco !!!!"). DELETE OBJECT oCustFields NO-ERROR. DELETE OBJECT oCustMsgs NO-ERROR. RETURN "NOK". END. DELETE OBJECT oCustFields NO-ERROR. DELETE OBJECT oCustMsgs NO-ERROR. END. RETURN "OK". |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas