Histórico da Página
CONTEÚDO
01. INTRODUÇÃO / OBJETIVO Âncoraintroducao introducao
introducao | |
introducao |
...
O objeto deste utilitário é facilitar a manipulação destas informações, disponibilizando métodos que realizam as ações desejadas, sem a necessidade do profundo conhecimento da estrutura. Além disto, há uma considerável redução nas linhas de código necessárias para executar a mesma ação. Por exemplo, para desabilitar um campo (cenário apresentado anteriormente), é necessário apenas uma linha de código.
02.UTILIZAÇÃO DO UTILITÁRIO Âncora utilizacao utilizacao
utilizacao | |
utilizacao |
O utilitário disponibiliza um conjuntos de Classes que podem ser utilizadas diretamente dentro da UPC para executar as ações desejadas.
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
// Indica a UPC onde estão as Classes USING PROGRESS.json.ObjectModel.*. // Classes da Progress USING com.totvs.framework.po.*. // Classes do Utilitário // Parâmetros recebidos pela UPC 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. // Define a variável que irá representar a Classe DEF VAR oCustFields AS CustomFields NO-UNDO. // Evento de Busca do Metadata da de Novo/Editar IF pEndPoint = "getMetaData" AND (pEvent = "new" OR pEvent = "edit") THEN DO: // Realiza a instância da Classe oCustFields = NEW CustomFields(CustomOrig:ORIG_METADATA, jsonIO). // Desabilita o campo "Atualizar com erro de duplicata" (nome interno: updatesWithDuplicateError) oCustFields:setDisableField("updatesWithDuplicateError"). // Retira a Classe da memória DELETE OBJECT oCustFields NO-ERROR. END. |
03.CLASSES Âncora classes classes
classes | |
classes |
Abaixo segue a lista das Classes disponíveis, indicando o objetivo de cada uma delas, juntamente com os Métodos disponíveis.
a.CustomOrig Âncora CustomOrig CustomOrig
CustomOrig | |
CustomOrig |
Este é uma classe auxiliar, que não possui métodos. Ela é utilizada apenas para definir as opções disponíveis de pontos de customização.
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
// Evento de Alteração de Formulário IF pEndPoint = "validateForm" AND pEvent = "validateForm" THEN DO: // Realiza a instância da Classe oCustFields = NEW CustomFields(CustomOrig:ORIG_VLD_FORM, jsonIO). ... ... END. |
b.CustomPages Âncora CustomPages CustomPages
CustomPages | |
CustomPages |
Classe utilizada para manipular as propriedades gerais da Página, como por exemplo o Título dela.
...
Método | Descrição | Exemplo |
---|---|---|
setPageTitle ( pCodTitle ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível alterar o Título. | Altera o Titulo da Tela. | // Altera o Título da Página oCustPages:setPageTitle(oCustPages:getPageTitle() + " - ALTERADO"). |
getPageTitle ( ) Retorno (CHARACTER): Título da Página. | Retorna o Titulo da Tela. | // Altera o Título da Página oCustPages:setPageTitle(oCustPages:getPageTitle() + " - ALTERADO"). |
setPageProperty ( pCodProperty , pCodValue ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível alterar a Propriedade. | Altera uma propriedade da Tela. | // Altera a propriedade para salvar o Filtro da busca Avançada oCustPages:setPageProperty("keepfilters", TRUE). |
getPagePropertyCharacter ( pCodProperty ) getPagePropertyInteger ( pCodProperty ) getPagePropertyDecimal ( pCodProperty ) getPagePropertyLogical ( pCodProperty ) Parâmetros:
Retorno (CHARACTER,INTEGER,DECIMAL,LOGICAL): Valor da Propriedade. | Retorna o valor de uma propriedade da Tela. |
c.CustomFields Âncora CustomFields CustomFields
CustomFields | |
CustomFields |
Classe utilizada para realizar customizações relacionadas aos campos, tais como: alterar o label, desabilitar, esconder, etc.. Através dela, também é possível incluir campos customizados, assim como atualizar o valor dos mesmos. Ela pode ser utilizada para tratar tanto os campos de Tabelas, como de Formulários.
...
Método | Descrição | Exemplo |
---|---|---|
setFieldLabel ( pCodField , pCodLabel [ , pGroupId ] ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível alterar o Label. | Altera o Label de um Atributo. | // Altera o label da coluna "FIFO" para "FIFO-ALT" oCustFields:setFieldLabel("enableFIFOInPurchaseReq", |
setDisableField ( pCodField [ , pGroupId ] ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível desabilitar o atributo. | Desabilita um Atributo. | // Desabilita o campo "Atualizar com erro de duplicata" oCustFields:setDisableField("updatesWithDuplicateError", |
setEnableField ( pCodField [ , pGroupId ] ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível habilitar o atributo. | Habilita um Atributo. | // Habilita o campo "Unidade negócio" (Aba: Digitação/Geração) oCustFields:setEnableField("enableBusinessUnit", |
setHideField ( pCodField [ , pGroupId ] ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível esconder o atributo. | Esconde um Atributo. | // Esconde o campo "Desconto item" oCustFields:setHideField("itemDiscount"). |
setShowField ( pCodField [ , pGroupId ] ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível apresentar o atributo. | Mostra um Atributo. | // Mostra o campo "Geração nota crédito a pagar" oCustFields:setShowField("creditNoteGeneration"). |
setFieldProperty ( pCodField , pCodProperty , pCodValue [ , pGroupId ] ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível alterar a propriedade. | Altera uma propriedade de um Atributo. | // Para o campo "Sequência dos itens" mostrar "Ligado/Desligado" IF oCustFields:getFieldPropertyCharacter("enableSequence", oCustFields:setFieldProperty("enableSequence", oCustFields:setFieldProperty("enableSequence", END. |
getFieldPropertyCharacter ( pCodField , pCodProperty [ , pGroupId ] ) getFieldPropertyInteger ( pCodField , pCodProperty [ , pGroupId ] ) getFieldPropertyDecimal ( pCodField , pCodProperty [ , pGroupId ] ) getFieldPropertyLogical ( pCodField , pCodProperty [ , pGroupId ] ) Parâmetros:
Retorno (CHARACTER,INTEGER,DECIMAL,LOGICAL): Valor da Propriedade. | Retorna o valor de uma propriedade de um Atributo. | // Para o campo "Sequência dos itens" mostrar "Ligado/Desligado" IF oCustFields:getFieldPropertyCharacter("enableSequence", oCustFields:setFieldProperty("enableSequence", oCustFields:setFieldProperty("enableSequence", END. |
getFields ( [ pGroupId ] ) Parâmetros:
Retorno (JsonArray): Lista de Atributos. | Retorna um JsonArray que representa a lista de Atributos. | // Pegua a quantidades de campos do agrupador "Impostos" e joga ASSIGN oFields = oCustFields:getFields("fieldsTax") oField = oCustFields:getField("totalTax", IF oFields <> ? AND oField <> ? THEN oField:SET("label", "Total (" + string(oFields:LENGTH) + ")"). |
getField ( pCodField [ , pGroupId ] ) Parâmetros:
Retorno (JsonObject): Um atributo. | Retorna um JsonObject que representa um Atributo. | // Pegua a quantidades de campos do agrupador "Impostos" e joga ASSIGN oFields = oCustFields:getFields("fieldsTax") oField = oCustFields:getField("totalTax", IF oFields <> ? AND oField <> ? THEN oField:SET("label", "Total (" + string(oFields:LENGTH) + ")"). |
addField ( pCodField , pCodLabel , pCodType [ , pPosition ] [ , pGroupId ] ) Parâmetros:
Retorno (JsonObject): Atributo Incluído. | Incluir um novo Atributo. | // Inclui uma coluna chamada: "Cópia Usuário" ASSIGN oField = oCustFields:addField("userCopy", // Inclui a nova coluna no Gerenciador de Colunas IF oField <> ? THEN oField:ADD("allowColumnsManager", |
changeFieldOrder ( pCodField [ , pPosition ] [ , pGroupId ] ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível alterar a ordem. | Altera a Ordem de um Atributo. | // Colocar o Campo "Estado (UF)" depois do campo "Baixa estoque" // Coloca o campo "CPF" como sendo o primeiro campo do Formulário |
setFieldValidate ( pCodField , pCodProg [ , pGroupId ] ) setFieldValidateCustom ( pCodField , pEndpoint [ , pGroupId ] ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível incluir a propriedade no atributo. | Incluir a propriedade 'validate' no Atributo (monitora a alterado do campo - evento validateField). | // Indica que, ao alterar o campo "Caminho completo do executável GZIP", |
addValidateFields ( pCodField ) Parâmetros:
Retorno (LOGICAL): Lógico indicativo se foi possível incluir o atributo. | Inclui um Atributo no ValidateFields do Formulário (evento validateForm). Observação: Utilizar este método para tela que implementam o componente DynamicForm. | // Indica que, ao alterar o campo "Código tributação ICMS", oCustFields:addValidateFields("enableICMSTaxationCode"). |
isChangedField ( pCodField ) Parâmetros:
Retorno (LOGICAL): Lógico indicativo se o atributo teve seu valor alterado. | Verifica se um Atributo foi alterado (eventos ValidateForm e ValidateField). | // Se alterar o campo “Código tributação ICMS” (Aba: Digitação/Geração): ASSIGN vValorMark = oCustFields:getFieldValueLogical("enableICMSTaxationCode"). IF vValorMark <> ? THEN DO: oCustFields:setFieldValue("enableICMSRate", // Se alterar o campo "Caminho completo do executável GZIP" ASSIGN vValorAtual = oCustFields:getFieldValueCharacter("execGZIPProgram"). IF vValorAtual <> ? THEN DO: oCustFields:setFieldValue("execGZIPProgram", IF NOT vValorAjust MATCHES(vValorAtual) THEN |
getReturnRoot ( ) Retorno (JsonObject): Root de retorno. | Retorno um JsonOject que representa o Root de retorno (eventos ValidateForm e ValidateField). | |
getFieldValueCharacter ( pCodField ) getFieldValueInteger ( pCodField ) getFieldValueDecimal ( pCodField ) getFieldValueLogical ( pCodField ) getFieldValueDate ( pCodField ) getFieldValueJsonObject ( pCodField ) getFieldValueJsonArray ( pCodField ) Parâmetros:
Retorno (CHARACTER,INTEGER,DECIMAL,LOGICAL,DATE,JsonObject,JsonArray): Valor do atributo. | Retorna o valor de um Atributo. | // Se alterar o campo “Código tributação ICMS” (Aba: Digitação/Geração): ASSIGN vValorMark = oCustFields:getFieldValueLogical("enableICMSTaxationCode"). IF vValorMark <> ? THEN DO: oCustFields:setFieldValue("enableICMSRate", // Se alterar o campo "Caminho completo do executável GZIP" ASSIGN vValorAtual = oCustFields:getFieldValueCharacter("execGZIPProgram"). IF vValorAtual <> ? THEN DO: oCustFields:setFieldValue("execGZIPProgram", IF NOT vValorAjust MATCHES(vValorAtual) THEN |
setFieldValue ( pCodField , pCodValue ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível alterar o atributo. | Altera o valor de um Atributo. | // Se alterar o campo “Código tributação ICMS” (Aba: Digitação/Geração): ASSIGN vValorMark = oCustFields:getFieldValueLogical("enableICMSTaxationCode"). IF vValorMark <> ? THEN DO: oCustFields:setFieldValue("enableICMSRate", // Se alterar o campo "Caminho completo do executável GZIP" ASSIGN vValorAtual = oCustFields:getFieldValueCharacter("execGZIPProgram"). IF vValorAtual <> ? THEN DO: oCustFields:setFieldValue("execGZIPProgram", IF NOT vValorAjust MATCHES(vValorAtual) THEN // Altera o valor da coluna "Variação máxima data emissão" para "888" |
getFieldValues ( ) Retorno (JsonObject): Valores do registro. | Retorno um JsonOject que representa os Valores do registro ou retorno(eventos ValidateForm e ValidateField). |
d.CustomActions Âncora CustomActions CustomActions
CustomActions | |
CustomActions |
Classe utilizada para realizar customizações relacionadas as Ações da tela HTML. Estas ações podem ser de 2 tipos:
...
Método | Descrição | Exemplo |
---|---|---|
setAction ( pCodAction , pCodValue ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível incluir/alterar a Ação. | Inclui ou Altera uma Ação Padrão. | // Retira a Ação Padrão de "Excluir" da Tabela oCustActions:setAction("remove", |
getActionCharacter ( pCodAction ) getActionLogical ( pCodAction ) Parâmetros:
Retorno (CHARACTER,LOGICAL): Valor da Ação. | Retorna o valor de uma Ação Padrão. | // Faz a Ação Padrão de Visualizar abrir a tela de Edição oCustActions:setAction("detail", |
removeAction ( pCodAction ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível remover a Ação. | Remove uma Ação Padrão. | // Retira a Ação Padrão de "Cópia" da Tabela oCustActions:removeAction("duplicate"). |
getActions ( ) Retorno (JsonObject): Ações padrões. | retorna um JsonObject que representa as Ação Padrão. | |
setPageCustomActionProperty ( pIdAction , pCodProperty , pCodValue ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível alterar a propriedade. | Altera uma propriedade de uma Ação Customizada de Página. | // Inclui o icone de Refresh na Ação Customizada "Atz Dados" da Pagina oCustActions:setPageCustomActionProperty("Atz Dados", |
getPageCustomActionPropertyCharacter ( pIdAction , pCodProperty ) getPageCustomActionPropertyInteger ( pIdAction , pCodProperty ) getPageCustomActionPropertyDecimal ( pIdAction , pCodProperty ) getPageCustomActionPropertyLogical ( pIdAction , pCodProperty ) Parâmetros:
Retorno (CHARACTER,INTEGER,DECIMAL,LOGICAL): Valor da Propriedade. | Retorna o valor de uma propriedade de uma Ação Customizada de Página. | |
getPageCustomAction ( pIdAction ) Parâmetros:
Retorno (JsonObject): Uma Ação Customizada de Página. | Retorna um JsonObject que representa uma Ação Customizada de Página. | // Altera o Endereço da primeira Ação Customizada da Pagina oAction = oCustActions:getPageCustomAction(1). IF oAction <> ? THEN oAction:set("action", |
addPageCustomAction ( pNumType , pCodLabel , pCodAddress [ , pCodIcon ] ) Parâmetros:
Retorno (JsonObject): Ação Customizada de Página Incluída. | Incluir uma nova Ação Customizada na Página. | // Inclui uma nova Ação Customizada no Pagina chamada "Atz Dados" que chama // Inclui uma nova Ação Customizada no Pagina chamada "Google" que chama uma |
removePageCustomAction ( pIdAction ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível remover a Ação. | Remove uma Ação Customizada de Página. | // Elimina a Ação Customizada chamada "Doctos" da Pagina oCustActions:removePageCustomAction("Doctos"). |
getPageCustomActions ( ) Retorno (JsonArray): Ações Customizadas de Página. | Retorna a lista de Ações Customizadas de Página. | |
setTableCustomActionProperty ( pIdAction , pCodProperty , pCodValue ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível alterar a propriedade. | Altera uma propriedade de uma Ação Customizada de Tabela. | |
getTableCustomActionPropertyCharacter ( pIdAction , pCodProperty ) getTableCustomActionPropertyInteger ( pIdAction , pCodProperty ) getTableCustomActionPropertyDecimal ( pIdAction , pCodProperty ) getTableCustomActionPropertyLogical ( pIdAction , pCodProperty ) Parâmetros:
Retorno (CHARACTER,INTEGER,DECIMAL,LOGICAL): Valor da Propriedade. | Retorna o valor de uma propriedade de uma Ação Customizada de Tabela. | |
getTableCustomAction ( pIdAction ) Parâmetros:
Retorno (JsonObject): Uma Ação Customizada de Tabela. | Retorna um JsonObject que representa uma Ação Customizada de Tabela. | |
addTableCustomAction ( pNumType , pCodLabel , pCodAddress [ , pCodIcon ] [ , pConcatKeys ] ) Parâmetros:
Retorno (JsonObject): Ação Customizada de Tabela Incluída. | Incluir uma nova Ação Customizada na Tabela. | // Inclui uma nova Ação Customizada no Tabela chamada "Bloqueia" que chama // Inclui uma nova Ação Customizada no Tabela chamada "Det Adicional" que |
removeTableCustomAction ( pIdAction ) Parâmetros:
Retorno (LOGICAL): Indicativo se foi possível remover a Ação. | Remove uma Ação Customizada de Tabela. | // Elimina a Ação Customizada chamada "Relacto" da Pagina oCustActions:removeTableCustomAction("Relacto"). |
getTableCustomActions ( ) Retorno (JsonArray): Ações Customizadas de Tabela. | Retorna a lista de Ações Customizadas de Tabela. | |
getServerAddress ( pIsExt ) Parâmetros:
Retorno (CHARACTER): Endereço no formato: http://HOST:PORT. | Retorna o Endereço onde o Datasul está hospedado. |
e.CustomRecords Âncora CustomRecords CustomRecords
CustomRecords | |
CustomRecords |
Classe utilizada para alterar os registros que estão sendo enviados pela tela HTML. Ela pode ser utlizalida tanto no evento que retornam vários registros, com naqueles que é retornado apenas um.
...
Método | Descrição | Exemplo |
---|---|---|
getEntityKeyCharacter ( ) getEntityKeyInteger ( ) Retorno (CHARACTER,INTEGER): Chave do registro. | Retorna a chave do Registro na manipulação do Metadata (Alteração, Detalhe). | |
updateRecords ( pProg , pPiName ) Parâmetros:
Retorno (LOGICAL): Indicativo se é possível alterar o registro. | Navega nos registros e executa uma PI interna da UPC para customização dos dados. | // Indica que dever ser executada a PI "pi_altera_registros" para |
f.CustomMessages Âncora CustomMessages CustomMessages
CustomMessages | |
CustomMessages |
Classe utilizada para criação de mensagens que erro que serão enviadas para a tela HTML.
...
Método | Descrição | Exemplo |
---|---|---|
createMessageError ( pMsgNumber , pMsgDescription , pMsgHelp ) Parâmetros:
Retorno (JsonObject): Mensagem no padrão TOTVS de Mensagem. | Cria uma mensagem do tipo ERROR para enviar ao FrontEnd. | // Valida se o campo "Caminho completo do executável GZIP" foi |
04.EXEMPLOS DA UTILIZAÇÃO DAS
...
CLASSES Âncora exemplos exemplos
exemplos | |
exemplos |
Abaixo segue o exemplo de uma UPC utilizado grande parte dos métodos das classes do utilitário:
...