Devolução de Cheque a Receber Segunda Vez
DevolucaoDeChequeAReceberSegundaVez
Esta rotina registra, no módulo Financeiro (submenu Caixa), a devolução de um cheque de terceiros recebido de cliente que já havia sido devolvido uma primeira vez e voltou a ser devolvido pelo banco (“2ª vez”).
Visão Geral
Esta rotina registra, no módulo Financeiro (submenu Caixa), a devolução de um cheque de terceiros recebido de cliente que já havia sido devolvido uma primeira vez e voltou a ser devolvido pelo banco (“2ª vez”). O sistema gera um novo cheque de substituição, um novo título a receber em aberto e a movimentação financeira/bancária correspondente, permitindo a impressão do comprovante de caixa da operação.
Endpoints
POST /DevolucaoDeChequeAReceberSegundaVez/Salvar
Confirma a devolução (2ª vez) de um ou mais cheques de terceiros informados, gerando novo cheque, novo título a receber e a movimentação financeira/bancária vinculada. Retorna as movimentações financeiras, os lançamentos contábeis e os cheques envolvidos na operação recém-criada.
Permissão: coberta pela permissão de acesso à rotina “EditViewDeDevolucaoAReceberSegundaVez” (ID 1595) — não há permissão granular própria para esta ação.
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| dto | DTOCabecalhoDeOperacoes | Sim | Objeto de cabeçalho da operação, contendo a lista “ChequesDeTerceiros” com os cheques a devolver e os demais dados da operação (filial, carteira de pagamento, fato contábil, datas etc.) |
“` POST /DevolucaoDeChequeAReceberSegundaVez/Salvar { “IDDaFilial”: “1”, “IDDaCarteiraDePagamento”: 10, “DataDeLancamento”: “2026-09-10”, “ChequesDeTerceiros”: [ { “IDDoCheque”: “12345” } ] } “`
“`json { “success”: true, “listaDeOperacoesFinanceiras”: [], “listaDeOperacoesContabeis”: [], “listaDeCheques”: [] } “`
Se a lista “ChequesDeTerceiros” vier vazia ou nula, a operação não é executada e o sistema exibe a mensagem transcrita na seção “Regras de Negócio” (NAO_POSSIVEL_SALVAR_DADOS_INFORMADOS_PODEM_ESTAR_INCORRETOS).
POST /DevolucaoDeChequeAReceberSegundaVez/Imprimir
Gera (ou reaproveita, se já existir) o arquivo de comprovante de caixa desta operação, copiando o modelo padrão de relatório (“ComprovanteCaixa.rpt”) para a pasta específica do cliente, de onde o relatório é impresso/exibido. Não recebe parâmetros de entrada nem grava dados de negócio — apenas prepara o arquivo de relatório em disco.
Permissão: coberta pela permissão de acesso à rotina “EditViewDeDevolucaoAReceberSegundaVez” (ID 1595) — não há permissão granular própria para esta ação.
Parâmetros: nenhum.
“` POST /DevolucaoDeChequeAReceberSegundaVez/Imprimir “`
“`json { “success”: true } “`
Modelos de Dados
DTOCabecalhoDeOperacoes (cabeçalho da operação — campos relevantes a esta rotina)
| Campo | Tipo | Descrição |
|---|---|---|
| IDDaFilial | string | Filial em que a operação é lançada |
| IdRotina | int? | Identificador da rotina de origem da operação |
| DataDeLancamento | DateTime | Data contábil/financeira do lançamento |
| IDDoFatoContabil | int | Fato contábil vinculado à operação |
| IDDaCarteiraDePagamento | int | Carteira (conta bancária/caixa) usada na operação |
| ChequesDeTerceiros | List\<DTODeChequesDeTerceiros\> | Lista dos cheques de terceiros a devolver — obrigatória e não pode estar vazia |
| Observacao | string | Observação livre associada à operação |
DTODeChequesDeTerceiros (um item da lista “ChequesDeTerceiros”)
Herda de “DTODeChequesParaOperacoesFinanceiras” (dados básicos do cheque: banco, agência, conta, número, série, valor, datas, participante etc.) e acrescenta:
| Campo | Tipo | Descrição |
|---|---|---|
| IDDoCheque | string | Identificador do título a receber/cheque original a ser devolvido pela 2ª vez. Quando o sistema localiza um título a receber existente com este ID, reaproveita seus dados (participante, banco, valor, vencimento etc.); caso não localize, utiliza os dados informados diretamente no DTO herdado |
Regras de Negócio
- Fato contábil da operação: a rotina utiliza fixamente o fato contábil/operação financeira “BCODEV2CHT” (ID 42 — “DEVOLUÇÃO CHEQUE CLIENTE 2a VEZ”, módulo Banco) para classificar a movimentação bancária gerada. Se não houver fato contábil configurado com seus respectivos lançamentos, a operação é bloqueada.Mensagem exibida: “Não foi possível realizar operação. É obrigatório informar um fato contábil para a seguinte configuração: Operação: DEVOLUÇÃO CHEQUE CLIENTE 2ª VEZ / Variação: (sem variação). Informe um fato contábil para a operação.”
- Carteira de pagamento obrigatória: a operação exige uma carteira de pagamento (conta bancária/caixa) válida e configurada para o tipo de operação.Mensagem exibida: “Não foi possível realizar operação. Carteira não encontrada. Verifique e configure carteira de pagamento para o tipo de operação.”
- Tipo de documento para cheques devolvidos 2ª vez: o sistema exige que exista um parâmetro do financeiro configurado (“Tipo de documento para cheques de terceiros devolvidos 2ª vez”), usado para classificar o novo título a receber gerado.Mensagem exibida: “Não foi possível realizar operação. Documento para cheque inválido ou não configurado. Favor configurar o parâmetro [nome do parâmetro] na lista de parâmetros do financeiro para a inclusão do novo cheque Devolvido.” (o placeholder é substituído pela descrição do parâmetro de configuração exigido)
- Carteira de cheque devolvido de cliente na filial: para cada cheque devolvido, a filial do título a receber original precisa ter configurada a “carteira de cheque devolvido de cliente” (Tabelas Auxiliares > Filial > Financeiro). Sem essa configuração, a devolução é bloqueada.Mensagem exibida: “Não foi possível realizar a Devolução cheque a receber 2ª vez. Não existe configuração da carteira de cheque devolvido de cliente na filial [ID da filial]. Tabelas Auxiliares -> Filial -> Financeiro -> Conta p/ cheques devolvidos de clientes.” (o placeholder é o identificador da filial em que falta a configuração)
- Geração do novo cheque e título a receber: para cada cheque da lista, o sistema cria um novo registro de cheque (status “Aberto”, tipo “Receber”) e um novo título a receber (partida Débito), reaproveitando os dados do título original quando este existir, ou os dados informados manualmente quando não existir título correspondente.
- Geração da movimentação financeira e bancária: após persistir o novo título, o sistema gera a movimentação financeira vinculada (operação financeira “TRECINC”) e a movimentação bancária de devolução (operação “BCODEV2CHT”), marcando a movimentação do título como não conciliada e a movimentação bancária como conciliada.
- Falha genérica de processamento: qualquer erro não tratado especificamente durante o processamento é capturado e reportado de forma genérica, sempre incluindo os dados originais do erro técnico.Mensagem exibida: “[detalhe técnico do erro]. Falha na operação. Verifique os dados e tente novamente.”
- Lista de cheques obrigatória para salvar: a ação “Salvar” só executa a devolução se ao menos um cheque de terceiros for informado no DTO; caso contrário, a operação é interrompida antes de qualquer processamento.Mensagem exibida: “Não foi possível Salvar. Os dados informados podem estar incorretos. Verifique se os dados informados estão corretos.”
- Impressão do comprovante: a ação “Imprimir” apenas garante que o arquivo de relatório “ComprovanteCaixa.rpt” exista na pasta do cliente (copiando o modelo padrão na primeira vez); não valida nem grava nenhum dado de negócio, servindo apenas de apoio para a geração visual do comprovante já processado pela ação “Salvar”.
Lógica Contábil e Financeira
Tabelas envolvidas: TBTITULOREC (novo título a receber gerado pela devolução), TBMOVTOFIN (movimentação financeira do título — operação “TRECINC”) e a movimentação bancária da devolução (operação “BCODEV2CHT”), também persistida como movimentação financeira vinculada à carteira.
Fato(s) contábil(is) utilizado(s): “DEVOLUÇÃO CHEQUE CLIENTE 2a VEZ” (código ListaDeOperFin “BCODEV2CHT”, ID 42, módulo Banco) — usado para classificar a movimentação bancária gerada pela devolução. A movimentação financeira do novo título a receber usa a operação “TRECINC” (inclusão de título a receber).
Lógica de gravação: para cada cheque de terceiros informado, o sistema primeiro cria e persiste (commit) o novo cheque e o novo título a receber (partida Débito). Em seguida, lança a movimentação financeira do título (operação “TRECINC”), marcando-a como não conciliada, e a movimentação bancária da devolução (operação “BCODEV2CHT”), marcando-a como conciliada, associando a esta última o fato contábil e a carteira de pagamento informados. Um segundo commit persiste essas movimentações. O método retorna a lista de todas as movimentações financeiras geradas na operação.
Compensação/baixa futura: o novo título a receber gerado fica em aberto e não é baixado automaticamente por esta rotina — sua liquidação (recebimento efetivo ou nova devolução) é tratada pelas rotinas normais de baixa/compensação de títulos a receber do módulo Financeiro, fora do escopo desta operação.
Permissões
Acesso à rotina: “EditViewDeDevolucaoAReceberSegundaVez” (ID 1595) — recurso filho de “Caixa” (ID 1589), módulo Financeiro.
| Ação | Permissão | ID |
|---|---|---|
| Salvar | coberta por “EditViewDeDevolucaoAReceberSegundaVez” | 1595 |
| Imprimir | coberta por “EditViewDeDevolucaoAReceberSegundaVez” | 1595 |
Não existem entradas de permissão granular próprias (ex: “DevolucaoAReceberSegundaVez/Salvar”) registradas em RecursosGeraisFinanceiro.cs para esta rotina — o acesso à tela já concede acesso às duas ações.