Histórico da Página
...
INTERNALID = Indica se deve retornar o ID(Recno) como informação complementar das linhas do GRID (padrão: false)
USESX3ORDER = Indica se deve ignorar a ordem dos campos passado no body e carregar os dados de acordo com a ordem da SX3 (padrão: false)
- Disponível a partir da lib 20240812
Exemplo de utilização
Ao publicar um modelo de dados, se o mesmo utilizar alias, basta publicá-lo.
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "TOTVS.CH" #INCLUDE "FWMVCDEF.CH" PUBLISH USER MODEL REST NAME Branch RESOURCE OBJECT oRestBranch Class oRestBranch From FwRestModel Data lSm0Closed Method Activate() Method DeActivate() Method Total() Method SetAlias() Method Skip() Method Seek() EndClass Method Activate() Class oRestBranch self:lSm0Closed := .F. If Select("SM0") == 0 self:lSm0Closed := .T. OpenSm0(, .F.) EndIf Return _Super:Activate() Method DeActivate() Class oRestBranch If self:lSm0Closed SM0->(dbCloseArea()) EndIf Return _Super:DeActivate() Method Total() Class oRestBranch Local nRecno := SM0->(Recno()) Local nTotal := 0 If self:Seek() While !SM0->(Eof()) nTotal++ self:Skip() End EndIf SM0->(dbGoTo(nRecno)) Return nTotal Method SetAlias() Class oRestBranch self:cAlias := "SM0" Return .T. Method Skip(nSkip) Class oRestBranch Local lRet := .F. SM0->(DbSkip(nSkip)) lRet := !SM0->(Eof()) Return lRet Method Seek(cPk) Class oRestBranch Local lRet := .F. If Empty(cPK) SM0->(DbGotop()) lRet := !SM0->(Eof()) Else cPK := SubStr(cPK, Len(xFilial("SM0")) + 1) // Removo o valor da filial que e inserido automaticamente pelo model no valor da PK. SM0->(dbSetOrder(1)) lRet := SM0->(DbSeek(cPK)) Endif Return lRet // MODELO DE DADOS Static Function Modeldef() Local oStruSM0 := DefStrModel() oModel := FWFormModel():New( 'MYFILIAL', {|| }, {|| }, {|| }, {|| } ) oModel:AddFields( 'SM0MASTER', , oStruSM0, {|| }, {|| },{|oM| MyLoad() }) oModel:SetDescription( "Empresas Protheus" ) oModel:GetModel( 'SM0MASTER' ):SetDescription( "Empresas Protheus" ) oModel:SetPrimaryKey( {"M0_CODIGO", "M0_CODFIL"} ) Return oModel Static Function DefStrModel() Local oStruct := FWFormModelStruct():New() Local bValid := { || .T.} Local bWhen := { || } Local bRelac := { || } // TABELA oStruct:AddTable( "SM0", {}, "Filiais", {|| }) // INDICES oStruct:AddIndex(1, "1", "M0_CODIGO", "Cód Empresa", "", "", .T.) // CAMPOS oStruct:AddField( "Cód Empresa" , "Cód Empresa" , "M0_CODIGO" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "Cód Filial" , "Cód Filial" , "M0_CODFIL" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "Nome Empresa" , "Nome Empresa" , "M0_NOMECOM", "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "CNPJ" , "CNPJ" , "M0_CGC" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "UF" , "UF" , "M0_ESTENT" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "Insc Estadual" , "Insc Estadual" , "M0_INSC" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "Insc Municipal", "Insc Municipal" , "M0_INSCM" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "Cód Munic" , "Cód Munic" , "M0_CODMUN" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "Nome Filial" , "Nome Filial" , "M0_FILIAL" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "Município" , "Município" , "M0_CIDENT" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "Inscrição" , "Inscrição" , "M0_INSCANT", "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "NIRE" , "NIRE" , "M0_NIRE" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "Data do Nire" , "Data do Nire" , "M0_DTRE" , "D", 08, 0, bValid, bWhen, , , bRelac, .F., , , ) oStruct:AddField( "End Cob" , "End Cob" , "M0_ENDCOB" , "C", 50, 0, bValid, bWhen, , , bRelac, .F., , , ) Return oStruct Static Function MyLoad() Local aRet := {} aRet := {{SM0->M0_CODIGO, SM0->M0_CODFIL, SM0->M0_NOMECOM, SM0->M0_CGC, SM0->M0_ESTENT, SM0->M0_INSC, SM0->M0_INSCM, SM0->M0_CODMUN,; SM0->M0_FILIAL, SM0->M0_CIDENT, SM0->M0_INSCANT, SM0->M0_NIRE, SM0->M0_DTRE, SM0->M0_ENDCOB}, ; SM0->(Recno())} Return aRet |
...
- Após essa alteração, ao efetuar novamente um GET para obter informações do servidor REST, notamos que o valor foi alterado corretamente.
...
Caracteres XML Reservados
Importante
...
se atentar a utilização dos caracteres XML reservados, devendo estes serem tratados na origem conforme
...
tabela abaixo para evitar erros de parser do XML.
Caractere reservado | Entidade nomeada |
---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas