Inclusão de Financeiros
Para incluirmos titulos financeiros devemos fazer uso do serviço CRUDServiceProvider.saveRecord do módulo mge.
Esse exemplo demonstra a inclusão de um registro (INSERT), mas o mesmo serviço com a mesma estrutura pode ser usado para realizar modificações em registros existentes (UPDATE), bastando para isso enviar um elemento a mais (conforme comentários) no XML.
Parâmetros de chamada
dataSet
Elemento XML com campos solicitados, filtro, etc. Cada sub-elemento está detalhado no exemplo abaixo.
Dados modificados
Quando bem sucedida, a chamada deste serviço inclui um novo registro na tabela de títulos financeiros.
Geração de chave
A entidade de dados 'Financeiro' (tabela TGFFIN) possui geração de chave automática, portanto o campo NUFIN será gerado automaticamente e retornado na resposta do serviço. Isso significa que esse campo não deve fazer parte do XML de chamada do serviço.
Transação
Método de requisição: POST
URL:
https://api.sankhya.com.br/gateway/v1/mge/service.sbr?serviceName=CRUDServiceProvider.saveRecord
Headers HTTP:
- Content-Type: text/xml;charset=ISO-8859-1
- Autorization: bearerToken=[TOKEN gerado no serviço de autenticação]
Estrutura básica da requisição:
<dataSet>
<entity>
<fieldset/>
<field/>
</entity>
<dataRow>
<localFields>
<!-- campos com os dados a serem salvos -->
</localFields>
<!--
O elemento 'key' só deve estar presente caso seja uma atualização de registro já existente.
Quando ausente, o sistema entende ser um INSERT
-->
<key>
<!--
campos da chave primaria devem ser colocados aqui em caso de UPDATE.
Neste exemplo, o titulo financeiro de nro.único 9988 teria os dados alterados (campos presentes em 'localFields')
-->
<NUFIN>9988</NUFIN>
</key>
</dataRow>
</dataSet>
Estrutura básica da resposta:
<entities total='1'>
<entity>
<!-- campos retornados, inclusive NUFIN gerado -->
</entity>
</entities>
Exemplo de uso (financeiros vinculados à Pedido/Nota)
Exemplo de corpo da requisição:
<serviceRequest serviceName="CRUDServiceProvider.saveRecord">
<requestBody>
<dataSet rootEntity="Financeiro" includePresentationFields="S" datasetid="1444487520009_1">
<entity path="">
<fieldset list="*"/>
</entity>
<!--
Deve haver apenas um elemento 'dataRow' por chamada, o que limita o serviço a incluir um título financeiro por vez
-->
<dataRow>
<localFields>
<!-- campos explicados mais abaixo-->
<NUMNOTA>0</NUMNOTA>
<RECDESP>1</RECDESP>
<CODPARC>1</CODPARC>
<CODTIPOPER>421</CODTIPOPER>
<CODTIPTIT>1</CODTIPTIT>
<CODEMP>1</CODEMP>
<CODCENCUS>0</CODCENCUS>
<CODPROJ>0</CODPROJ>
<CODNAT>0</CODNAT>
<DTNEG>14/10/2015</DTNEG>
<DTVENC>01/12/2015</DTVENC>
<VLRDESDOB>250.25</VLRDESDOB>
<DESDOBRAMENTO>2</DESDOBRAMENTO>
<NUNOTA>103206</NUNOTA>
<ORIGEM>E</ORIGEM>
<PROVISAO>S</PROVISAO>
</localFields>
</dataRow>
</dataSet>
</requestBody>
</serviceRequest>
Resposta bem sucedida:
<?xml version="1.0" encoding="UTF-8"?>
<serviceResponse serviceName="CRUDServiceProvider.saveRecord" status="1" pendingPrinting="false" transactionId="ce27a42e-f8d7-40c2-902d-d6c78f27f348">
<responseBody>
<entities total="1">
<entity>
<!--
Campo de chave primária foi gerado pelo sistema e retornado junto com as outras colunas.
-->
<NUFIN>5571</NUFIN>
<!-- varias colunas omitidas aqui -->
</entity>
</entities>
</responseBody>
</serviceResponse>
Principais campos
Nome do campo | Valor | Descrição |
---|---|---|
NUMNOTA | 0 | Número da nota. Quando financeiro de nota/pedido esse nro. é gerado na confirmação da nota e atualizada no financeiro |
RECDESP | 1 | 1 = Receita, -1 = Despesa |
CODPARC | 1 | Código do Parceiro. Se financeiro de nota/pedido, esse código deve ser igual ao CODPARC da nota |
CODTIPOPER | 421 | Cód.Tipo operação. Se financeiro de pedido/nota, então deve ter o mesmo valor da nota/pedido |
CODTIPTIT | 1 | Cód. do Tipo de título (Dinheiro, cheque, cartão, etc) |
CODEMP | 1 | Cód.empresa. Se financeiro de pedido/nota então a empresa deve ser a mesma da nota. |
CODCENCUS | 0 | Cód. do Centro de resultados |
CODPROJ | 0 | Cód. do Projeto |
CODNAT | 0 | Cód. da Natureza de receitas/despesas |
DTNEG | 14/10/2015 | Data da negociação. Se financeiro de nota/pedido então deve ser a mesma data de neg. da nota |
DTVENC | 01/12/2015 | Data de vencimento. |
VLRDESDOB | 250.52 | Valor do titulo. |
DESDOBRAMENTO | 1 | Nro. do desdobramento. Para financeiros de nota/pedidos esse nro deve ser sequencial começando por 1 |
NUNOTA | 103206 | Nro.único da nota com a qual esse titulo financeiro está vinculado |
ORIGEM | E | Origem do titulo financeiro. E = Estoque (nota), F = Financeiro avulso. |
PROVISAO | S | Determina se o título é uma provisão financeira ou um título real. S = Provisão, N = Real |
Updated about 1 year ago