Histórico da Página
01. Visão geral
Através do serviço RestProcess, via RESTful, o usuário poderá executar o processo de geração de movimento por regime de caixa.
Essa solicitação está disponibilizada através do método: POST e serão processados utilizando os valores dos parâmetros do processo. Esses parâmetros podem ser obtidos através do método GET com o serviço GetSchema.
No link serviços RESTful no RM é possível obter todas as informações sobre os serviços disponibilizados.
| Informações | ||
|---|---|---|
| ||
Para utilização dos serviços, é necessário que seja utilizada a forma de autenticação básica, onde deverão ser passados os valores de usuário e senha do usuário de acesso ao sistema. |
| Nota |
|---|
Conforme documentação disponibilizada pela equipe de FrameWork, os serviços via RESTful estão disponibilizados, à partir da versão 12.1.6 da linha RM. Se necessário clique aqui para obter ajuda na configuração do Host. |
02. Processos - Geração de Movimento por Regime de Caixa
Para a geração de movimento por regime de caixa, temos 02 processos possíveis: EduNFESliceableData, EduNFEData.
Processo - EduNFEData
Até a versão 12.1.2406 e até o patch 12.1.2410.xxx, esse processo é utilizado quando estamos na visão do contrato e executamos o processo de geração de movimento por regime de caixa para os boletos selecionados pelo filtro informado. E também pelo botão "Geração de Movimento" no menu "Financeiro / Contábil → NF-e".
A partir do patch 12.1.2410.xxx e versões superiores, a visão do contrato passou a utilizar o processo EduNFESliceableData, que permite fracionamento de jobs.
O processo utiliza a informação da propriedade FiltroBoleto para identificar quais foram os boletos selecionados
FiltroBoleto
Informar o valore do filtro no seguinte formato: [
"FLANBOLETO.IDBOLETO = :F1",
14470
]
Observa que o filtro para selecionar os boletos no primeiro tem a consulta SQL e depois os parâmetros para essa consulta, exemplo:
[
"FLANBOLETO.CODCOLIGADA = :F1 AND FLANBOLETO.IDBOLETO = :F2",
15,
14470
]
Processo - EduNFECompetenciaSliceableData (Disponível a partir do patch 12.1.2410.xxx e versões superiores)
Esse processo é utilizado quando acessamos o botão "Geração de Movimento" no menu "Financeiro / Contábil → NF-e" do Educacional. E também na tela de visão de contrato quando executa o processo de geração de movimento por regime de caixa para os contratos selecionados. Ele permite o fracionamento de jobs para geração de movimento por regime de caixa em ambas opções de acesso.
O processo utiliza a informação da propriedade FiltroBoleto para identificar quais foram os boletos selecionados
FiltroBoleto
Informar o valore do filtro no seguinte formato: [
"FLANBOLETO.IDBOLETO = :F1",
14470
]
Observa que o filtro para selecionar os boletos no primeiro tem a consulta SQL e depois os parâmetros para essa consulta, exemplo:
[
"FLANBOLETO.CODCOLIGADA = :F1 AND FLANBOLETO.IDBOLETO = :F2",
15,
14470
]
O processo via o menu utiliza, além de outros campos, o filtro para identificar quais boletos terão seus movimentos por regime de caixa gerados.
Filtro utilizado
Filtro de boletos selecionados!
Para utilizar o fracionamento de jobs é necessário informar os seguintes parâmetros:
ProcessName
- Deve ser informado com o valor padrão "Serviços gerais de movimento", os jobs utilizam o nome do processo para identificação.
ServerName
- Informar o nome do processo que está sendo executado: "EduNFECompetenciaSliceableDataEduNFESliceableData". Esta informação é utilizada para identificar se existe fracionamento configurado.
SlicesCount
- Deve conter a quantidade de frações utilizadas para execução do processo, este número deve respeitar o máximo de frações cadastrado em Ambiente/Processos/Segurança de Jobs Fracionáveis. Por exemplo, o número máximo de frações configurada neste caso é de 4, sendo assim mesmo que seja informado um valor maior que 4 só serão criados 4 jobs durante a execução.
03. Parâmetros do processo - GetSchema
Para a execução de um processo, é necessária a informação dos valores dos parâmetros retornados. Para sabermos quais são os parâmetros do processo, podemos utilizar o serviço GetSchema que retornará todas as informações necessárias.
A execução do GetSchema é necessária a utilização da URL:
HTTP://<SERVIDOR>:<HTTPORT>/rest/restprocess/getschema/<NOMEDOPROCESSO>
A execução do processo de geração de movimento por competênciaregime de caixa, podemos fazer a consulta utilizando os 02 processos:
Exemplo:
http://localhost:8051/rest/restprocess/getschema/EduNFECompetenciaDataEduNFEData
http://localhost:8051/rest/restprocess/getschema/EduNFECompetenciaSliceableDataEduNFESliceableData
Obs.: O retorno é o mesmo, independente do processo. Os dois utilizam a mesma estrutura de campos.
Retorno do GetSchema:
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
{
"TipoTarefa": 0,
"StatusLanc": 0,
"FiltroBoleto": null,
"MovimentoNFEParams": {
"CodColigada": 0,
"CodFilial": 0,
"CodTipoCurso": 0,
"CodTMv": null,
"CodServico": null,
"PermiteRegerarMov": false,
"PermiteMovValorLiquidoZero": false,
"DesconsideraBolsaCredito": false,
"CodSistemaLogado": null,
"CodUsuarioLogado": null,
"OrigemDataEmissao": 0,
"TipoTarefaMovimento": 0,
"Filtro": null,
"LogEventoAtivado": false,
"DataComp": null,
"TipoRespFinanceiro": 0,
"DataEmissaoInicial": "0001-01-01T00:00:00-02:00",
"DataEmissaoFinal": "0001-01-01T00:00:00-02:00",
"DataVencInicial": null,
"DataVencFinal": null,
"DiaFixo": null,
"PrimaryKeyList": [],
"PrimaryKeyNames": null,
"Context": null
},
"Boletos": [
{
"CodColigada": 0,
"IdBoleto": 0,
"CNABStatus": 0,
"CodColCFO": 0,
"CodCFO": null,
"NomeCliFor": null,
"DataVencimento": "0001-01-01T00:00:00-02:00",
"CodFilialNfe": null,
"FiltrouPorLancamento": true,
"ListIdLacamentosFiltrados": [
0
],
"InternalIdListaAcordos": null[
}
],{
"MesAno": "0001-01-01T00:00:00-02:00",
"GerarMovimentoValorZero": false,
"CodColigada": 0,
"CodFilialCodColigada": 0,
"CodTipoCurso": 0,
"SlicesCount": 0,
"RMSJobIds": null,
"EnableTracingIdBoleto": false0,
"LocalOnlyExecutor": null,
"EnableJobErrorProgressbar": false,
"PrimaryKeyList": [
["IdLan": 0,
"//O valor apresentado abaixo deve ser do tipo System.Int32." "Classificacao": 0,
0
]"StatusLan": 0,
[
"BaixaPendente"//O valor apresentado abaixo deve ser do tipo System.Double.",
: 0,
0.0
],"InternalId": null
[
}
"//O valor apresentado abaixo deve ser do tipo System.String."],
"TEXTOInternalId": null
],}
],
[ "MesAno": "0001-01-01T00:00:00-02:00",
"GerarMovimentoValorZero": false,
"//O valor apresentado abaixo deve ser do tipo System.DateTime.""CodColigada": 0,
"CodFilial": 0,
"CodTipoCurso": 0,
"2024-04-02T00:00:00-03:00""SlicesCount": 0,
"RMSJobIds": null,
]
]"EnableTracing": false,
"PrimaryKeyNamesLocalOnlyExecutor": [null,
"COLUNAPKEnableJobErrorProgressbar"
]: false,
"ContextPrimaryKeyList": {[
"$id": "1",
[
"_params": {
"//O valor apresentado abaixo deve ser do "$EXERCICIOFISCAL": 22tipo System.Int32.",
"$CODLOCPRT": -1,0
],
"$CODTIPOCURSO": 1,
[
"$EDUTIPOUSR": "-1",
"//O valor apresentado abaixo deve ser do tipo "$CODUNIDADEBIB": -1System.Double.",
0.0
"$CODCOLIGADA": 1],
[
"$RHTIPOUSR": "-1",
"//O valor apresentado abaixo deve ser do "$CODIGOEXTERNO": "-1tipo System.String.",
"$CODSISTEMA": "S",TEXTO"
],
"$CODUSUARIOSERVICO": "",
[
"$IDPRJ": -1,
"//O valor apresentado abaixo deve ser do "$CHAPAFUNCIONARIO": "-1tipo System.DateTime.",
"$CODFILIAL": 12025-01-10T00:00:00-03:00"
},]
],
"EnvironmentPrimaryKeyNames": 4[
}
} |
04. Execução do processo
Para a execução do processo é necessário utilizar a URL:
HTTP://<SERVIDOR>:<HTTPORT>/rest/restprocess/executeprocess/<NOMEDOPROCESSO>
Para a realização dessa requisição, deverá ser utilizado o método: POST.
Geração de movimento por competência - NOMEDOPROCESSO (EduNFECompetenciaData)
Segue o exemplo de um conjunto de informações necessárias para a execução do processo:
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
{ "TipoTarefa": 0, "MesAno": "2022-01-31", "GerarMovimentoValorZero": true, "MovimentoNFEParams": { "CodColigada": 1, "CodFilial": 1, "CodTipoCurso": 1, "CodTMv": "2.2.62", "CodSistemaLogado": "S", "CodUsuarioLogado": "mestre", "TipoTarefaMovimento": 2, "Filtro": null, "TipoRespFinanceiro": 0 }, "PrimaryKeyList": [ [ 1, "PACMEN-000490", "COLUNAPK" ], 72, "1126" ] ], "PrimaryKeyNames": [ "CODCOLIGADA", "RA","Context": { "IDPERLET", "CODCONTRATO" ], "Context": { $id": "1", "_params": { "$EXERCICIOFISCAL": 22, "$CODLOCPRT": -1, 12, "$CODTIPOCURSO": 1, "$EDUTIPOUSR": "-1", "$CODUNIDADEBIB": -1, "$CODCOLIGADA": 1, "$RHTIPOUSR": "-1", "$CODIGOEXTERNO": "-1", "$CODSISTEMA": "S", "$CODUSUARIOSERVICO": "", "$IDPRJ "$IDPRJ": -1, "$CHAPAFUNCIONARIO": "-1", "$CHAPAFUNCIONARIO "$CODFILIAL": "-1", "$CODFILIAL": 1 }, "Environment": 4 } }1 }, "Environment": 4 } } |
04. Execução do processo
Para a execução do processo é necessário utilizar a URL:
HTTP://<SERVIDOR>:<HTTPORT>/rest/restprocess/executeprocess/<NOMEDOPROCESSO>
Para a realização dessa requisição, deverá ser utilizado o método: POST.
Geração de movimento por
competênciaregime de caixa - NOMEDOPROCESSO (
EduNFECompetenciaSliceableDataEduNFEData)
Segue o exemplo de um conjunto de informações necessárias para a execução do processo com a utilização das PrimaryKeyList e PrimaryKeyNames:
| Bloco de código | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
{ "TipoTarefa": 0, "StatusLanc": -1, "FiltroBoleto": [ { "ProcessName": "Inclusão/exclusão do movimento de competência", "ServerName": "EduNFECompetenciaSliceableData"FLANBOLETO.IDBOLETO = :F1", 14470 ], "SlicesCountGerarMovimentoValorZero": 3false, "TipoTarefaCodColigada": 01, "MesAnoCodFilial": "2022-01-31"1, "GerarMovimentoValorZeroCodTipoCurso": true1, "MovimentoNFEParams": { "CodColigada": 1, "CodFilial": 1, "CodTipoCurso": 1, "CodTMv": "2.2.6210", "CodSistemaLogadoPermiteRegerarMov": "S"true, "CodUsuarioLogadoPermiteMovValorLiquidoZero": "mestre"false, "TipoTarefaMovimentoDesconsideraBolsaCredito": 2false, "FiltroCodSistemaLogado": null"S", "TipoRespFinanceiroCodUsuarioLogado": 0 }, "PrimaryKeyList": [ [ 1, "mestre", "PACMEN-000490", 72OrigemDataEmissao": 0, "1126TipoTarefaMovimento": 0, ] ], "PrimaryKeyNames": ["DataEmissaoInicial": "2025/01/06", "DataEmissaoFinal": "2025/01/10", "CODCOLIGADADataVencInicial": null, "RADataVencFinal", "IDPERLET": null, "DiaFixo": "CODCONTRATO" ]}, "Context": { "_params": { "$EXERCICIOFISCAL": 22, "$CODLOCPRT": -112, "$CODTIPOCURSO": 1, "$EDUTIPOUSR": "-1", "$CODUNIDADEBIB": -1, "$CODCOLIGADA": 1, "$RHTIPOUSR": "-1", "$CODIGOEXTERNO": "-1", "$CODSISTEMA": "S", "$CODUSUARIOSERVICO": "", "$IDPRJ": -1, "$CHAPAFUNCIONARIO": "-1", "$CODFILIAL": 1 }, "Environment": 4 } } |
Geração de movimento por competência - NOMEDOPROCESSO (EduNFESliceableData)
Segue o exemplo de um conjunto de informações necessárias para a execução do processo com a utilização do Filtro:
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
{
"ProcessName": "Inclusão/exclusão do movimento de competência",
"ServerName": "EduNFECompetenciaSliceableData",
"SlicesCount": 3,
"TipoTarefa": 0,
"MesAno": "2022-01-31",
"GerarMovimentoValorZero": true,
"MovimentoNFEParams": {
"CodColigada": 1,
"CodFilial": 1,
"CodTipoCurso": 1,
"CodTMv": "2.2.62",
"CodSistemaLogado": "S",
"CodUsuarioLogado": "mestre",
"TipoTarefaMovimento": 2,
"Filtro": "SCONTRATO.CODCOLIGADA = 1 AND SCONTRATO.RA = 'PACMEN-000490' AND SCONTRATO.IDPERLET = 72 AND SCONTRATO.CODCONTRATO = '1126'",
"TipoRespFinanceiro": 0
},
"PrimaryKeyList": [],
"PrimaryKeyNames": [": "mestre",
"TipoTarefaMovimento": 2,
"Filtro": null,
"TipoRespFinanceiro": 0
},
"PrimaryKeyList": [
[
1,
"PACMEN-000490",
72,
"1126"
]
],
"PrimaryKeyNames": [
"CODCOLIGADA",
"RA",
"IDPERLET",
"CODCONTRATO"
],
"Context": {
"_params": {
"$EXERCICIOFISCAL": 22,
"$CODLOCPRT": -1,
"$CODTIPOCURSO": 1,
"$EDUTIPOUSR": "-1",
"$CODUNIDADEBIB": -1,
"$CODCOLIGADA": 1,
"$RHTIPOUSR": "-1",
"$CODIGOEXTERNO": "-1",
"$CODSISTEMA": "S",
"$CODUSUARIOSERVICO": "",
"$IDPRJ": -1,
"$CHAPAFUNCIONARIO": "-1",
"$CODFILIAL": 1
},
"Environment": 4
}
} |
05. Descrição dos campos e tipos de dados
Abaixo segue uma descrição de cada tag do JSON de retorno do getSchema.
- TipoTarefa: Tipo de tarefa que o processo irá utilizar na sua execução e é esperado um valor inteiro, referente ao código do tipo de tarefa desejado. Na geração por movimento por competência deve ser informado sempre o valor ZERO.Valores possíveis:
- 0: Geração/Regeração de movimento por regime de caixa
- 1: Exclusão do movimento por regime de caixa
- 4: Cancelamento do movimento por regime de caixa
- StatusLanMesAno: Campo utilizado para informar o mês e ano da competência para a geração do movimento. Deve ser informada no formato "yyyy/MM/dd" com a utilização via rest. Onde:status do lançamento a ser selecionado presente no boleto: Valores possíveis:
- -1: Todos os lançamentos
- 0: Somente os lançamentos em aberto
- 1: Somente os lançamentos baixados
- 3: Somente os lançamentos baixados por acordo
- yyyy: Será ano da competência
- MM: Será mês da competência
- dd: Será o último dia do mês da competência
- GerarMovimentoValorZero: Campo utilizado para informar se deve gerar movimento com valor zerado. Valores possíveis:
- true,
- false.
- PrimaryKeyList: Lista dos valores que serão utilizados na identificação dos contratos que serão processados.
- movimento com valor zerado. Valores possíveis:
- true,
- false.
- FiltroBoleto: Lista do filtro para seleção dos boletos para a geração do movimento por regime de caixa.
- CodColigada: Código da coligada que será considerada na execução do processo. Esse campo espera um valor inteiro.
- CodFilial: Código da filial que será considerada na execução do processo. Esse campo espera um valor inteiro.
- CodTipoCurso: Código do nível de ensino que será considerada na execução do processo. Esse campo espera um valor inteiroPrimaryKeyNames: Lista com os nomes dos campos que serão utilizados para identificação dos valores da lista acima.
- MovimentoNFEParams: Conjunto de campos necessários para a execução do processo.
- CodColigada: Código da coligada que será considerada na execução do processo. Esse campo espera um valor inteiro.
- CodFilial: Código da filial que será considerada na execução do processo. Esse campo espera um valor inteiro.
- CodTipoCurso: Código do nível de ensino que será considerada na execução do processo. Esse campo espera um valor inteiro.
- CodTMv: Campo utilizado para informar o código do tipo de movimento a ser utilizado na geração do movimento por competência.
- CodSistemaLogado: Campo utilizado para informar o sistema logado para indicar a origem do movimento a ser criado. Deve ser informado sempre com o valor de "S"
- que será considerada na execução do processo. Esse campo espera um valor inteiro.
- CodTipoCurso: Código do nível de ensino que será considerada na execução do processo. Esse campo espera um valor inteiro.
- CodTMv: Campo utilizado para informar o código do tipo de movimento a ser utilizado na geração do movimento por competência.
- CodSistemaLogado: Campo utilizado para informar o sistema logado para indicar a origem do movimento a ser criado. Deve ser informado sempre com o valor de "S"
- CodUsuarioLogado: Campo utilizado para informar o usuário logado. Deve ser informado o código do usuário logado no RM.
- PermiteRegerarMov: Campo utilizado para informar se será permitido regerar o movimento por regime de caixa.
- PermiteMovValorLiquidoZero: Campo utilizado para informar se será permitido gerar/regerar o movimento por regime de caixa com valor líquido igual a zero.
- DesconsideraBolsaCredito: Campo utilizado para informar se serão desconsiderados os lançamentos de bolsa de crédito.
- OrigemDataEmissao: Campo utilizado para informar a origem da data de emissão do movimento. Valores possíveis:
- 0: Data de emissão do lançamento
- 1: Data de vencimento do lançamento
- 2: Data de baixa do lançamento
- 3: Data de competência do lançamento
- 4: Data do atual do sistema
- OrigemDataEmissao: Campo utilizado para informar a origem da data de emissão do movimento. Valores possíveis:
- TipoRespFinanceiro: Campo utilizado para informar o tipo de responsável financeiro que estará presente no movimento a ser criado. Valores possíveis:
- 0: Indica que será o responsável do financeiro do aluno
- 1: Indica que será o responsável do financeiro do contrato
- TipoTarefaMovimento: Campo utilizado para informar o tipo de tarefa a ser executada para o movimento. Valores possíveis:
- 1: Indica que os movimentos vinculados ao contrato serão excluídos
- 2: Indica que os movimentos serão incluídos e vinculados ao contrato
- 3: Indica que os movimentos vinculados ao contrato serão alterados
- 4: Indica que os movimentos vinculados ao contrato serão cancelados. ATENÇÃO: Essa opção não está disponível para a integração Protheus, pois no Protheus não o conceito de cancelamento no pedido de venda.
- TipoTarefaMovimento: Campo utilizado para informar o tipo de tarefa a ser executada para o movimento. Valores possíveis:
- Context: Informações relacionadas ao contexto{
"_params": {
"$EXERCICIOFISCAL": -1, (Não é utilizado pelo Educacional e pode ser informado com -1)
"$CODLOCPRT": -1, (Não é utilizado pelo Educacional e pode ser informado com -1)
"$CODTIPOCURSO": 1, (Código do nível de ensino)
"$EDUTIPOUSR": "-1", (Não é utilizado pelo sistema e pode ser informado com -1)
"$CODUNIDADEBIB": 1, (Não é utilizado pelo Educacional e pode ser informado com -1)
"$CODCOLIGADA": 1, (Código da coligada)
"$RHTIPOUSR": "-1", (Não é utilizado pelo Educacional e pode ser informado com -1)
"$CODIGOEXTERNO": "-1", (Não é utilizado pelo Educacional e pode ser informado com -1)
"$CODSISTEMA": "S", (Código "S" necessário para informar que é uma execução do módulo Educacional)
"$CODUSUARIOSERVICO": "", (Não é utilizado pelo Educacional e pode ser informado com "")
"$IDPRJ": 2, (Não é utilizado pelo Educacional e pode ser informado com -1)
"$CHAPAFUNCIONARIO": "-1", (Não é utilizado pelo Educacional e pode ser informado com -1)
"$CODFILIAL": 1 (Código da filial)
},
"Environment": 4 (É necessário informar o código 4 para que o sistema identifique a execução em ambiente desktop)
}
}
Campos necessários, para a utilização de fracionamento de jobs: (EduNFECompetenciaSliceableData)
- ProcessName: Campo que espera um valor string e deverá ser utilizado quando por padrão utilizar "Inclusão/exclusão do movimento de competência".
- ServerName": Campo que espera um valor string e deverá ser utilizado para o fracionamento de jobs, deve conter o nome do processo chamado ex: EduNFECompetenciaSliceableData.
- SlicesCount: Campo que espera um valor inteiro e deverá para informar a quantidade de fracionamentos da execução do processo ex: 4.
- CodColigada: Código da coligada que será considerada na execução do processo. Esse campo espera um valor inteiro.
- CodFilial: Código da filial que será considerada na execução do processo. Esse campo espera um valor inteiro.
- CodTipoCurso: Código do nível de ensino que será considerada na execução do processo. Esse campo espera um valor inteiro.
Parâmetros internos que não precisam ser informados:
- StatusLanc
- TipoRespFinanceiro
- TipoTarefaMovimento
- LogEventoAtivado
- FiltroBoleto
- RMSJobIds
- EnableTracing
- LocalOnlyExecutor
- EnableJobErrorProgressbar
- MovimentoNFEParams
- CodServico
- PermiteRegerarMov
- PermiteMovValorLiquidoZero
- DesconsideraBolsaCredito
- OrigemDataEmissao
- DataComp
- DataEmissaoInicial
- DataEmissaoFinal
- DataVencInicial
- DataVencFinal
- DiaFixo
- Context
- Boletos
- CodColigada
- IdBoleto
- CNABStatus
- CodColCFO
- CodCFO
- NomeCliFor
- DataVencimento
- CodFilialNfe
- FiltrouPorLancamento
- ListIdLacamentosFiltrados
- InternalId
