Pular para o conteúdo principal

TCB001 — Movimentações (enriquecimento)

Menu: Cadastros > Tabelas Contábeis > Movimentações

Objetivo​

A tela TCB001 (Movimentações) cadastra o "tipo de movimentação" contábil/fiscal usado por outras rotinas do ERP (notas, financeiro, estoque) para vincular automaticamente CFO, CST, Origem, Observação Fiscal e Históricos contábeis/estoque a cada lançamento. O analista de suporte usa essa tela para explicar por que um documento (nota, lançamento) puxou determinado CFO, histórico ou natureza, e para corrigir cadastros de movimentação que impedem a emissão ou lançamento de documentos por dados fiscais incompletos ou incompatíveis com o Tipo de Operação (Entrada/Saída).

Fluxo principal​

  1. Clicar em 'Novo' (ou F5) para iniciar o cadastro; o cursor vai para o campo Código e o registro entra em modo de inclusão. (Toolbar) — source/TCB001/UTCB001.pas:362-369 (TfrmTCB001.btnNovoClick)
  2. Informar o Código (ou deixar em branco para o sistema gerar automaticamente) e a Descrição da Movimentação. (Aba Geral) — source/TCB001/UdmTCB001.pas:119-168 (TdmTCB001.tabMOVIMENTACAOBeforePost)
  3. Selecionar o Tipo de Operação (Entrada ou Saída); isso limpa e redefine os campos dependentes (Operação de Estoque, Tipo de Conta, CFOs e Históricos). (Aba Geral) — source/TCB001/UdmTCB001.pas:530-542 (TdmTCB001.tabMOVIMENTACAOTP_OPERACAOValidate)
  4. Preencher Natureza da Operação, CFO Dentro do Estado, CFO Fora do Estado, Histórico, Observação Fiscal, Situação Tributária (CST) e Origem da Mercadoria — todos obrigatórios para salvar. (Aba Geral) — source/TCB001/UdmTCB001.pas:169-203 (TdmTCB001.tabMOVIMENTACAOBeforePost)
  5. Se a Finalidade for definida como Nota de Crédito ou Nota de Débito, ir à aba 'Nota de Débito/Crédito' e escolher o Tipo correspondente na lista. (Aba Geral / Aba Nota de Débito/Crédito) — source/TCB001/UTCB001.pas:855-896 (TfrmTCB001.cmbST_COMPLEMENTARChange)
  6. Se aplicável, informar a Movimentação de Devolução, apontando para uma movimentação de Tipo de Operação oposto que esteja marcada como Devolução ou Retorno. (Aba Acumulador) — source/TCB001/UdmTCB001.pas:578-600 (TdmTCB001.tabMOVIMENTACAOCD_MOVDEVOLUCAOValidate)
  7. Clicar em 'Salvar' (F6); o sistema grava o registro, confirma a transação e localiza o registro salvo na lista, exibindo mensagem de sucesso. (Toolbar) — source/TCB001/UTCB001.pas:338-360 (TfrmTCB001.btnSalvarClick)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
CD_MOVIMENTACAOSempre ao salvar; se deixado em branco na inclusão, o sistema gera o código automaticamente pela sequência SEQ_MOVIMENTACAO antes de checar a obrigatoriedade.W-0513source/TCB001/UdmTCB001.pas:119-163 (TdmTCB001.tabMOVIMENTACAOBeforePost)
DS_MOVIMENTACAOSempre ao salvarW-0514source/TCB001/UdmTCB001.pas:164-168 (TdmTCB001.tabMOVIMENTACAOBeforePost)
DS_NATUREZASempre ao salvarW-1212source/TCB001/UdmTCB001.pas:169-173 (TdmTCB001.tabMOVIMENTACAOBeforePost)
CD_CFODSempre ao salvar (CFO Dentro do Estado)W-1213source/TCB001/UdmTCB001.pas:174-178 (TdmTCB001.tabMOVIMENTACAOBeforePost)
CD_CFOFSempre ao salvar (CFO Fora do Estado)W-1214source/TCB001/UdmTCB001.pas:179-183 (TdmTCB001.tabMOVIMENTACAOBeforePost)
CD_HISTORICOSempre ao salvar (Histórico contábil)W-0644source/TCB001/UdmTCB001.pas:184-188 (TdmTCB001.tabMOVIMENTACAOBeforePost)
CD_OBSFISCALSempre ao salvarW-0797source/TCB001/UdmTCB001.pas:189-193 (TdmTCB001.tabMOVIMENTACAOBeforePost)
CD_CSTSempre ao salvar (Situação Tributária)W-1215source/TCB001/UdmTCB001.pas:194-198 (TdmTCB001.tabMOVIMENTACAOBeforePost)
CD_ORIGEMSempre ao salvar (Origem da Mercadoria)W-1216source/TCB001/UdmTCB001.pas:199-203 (TdmTCB001.tabMOVIMENTACAOBeforePost)
ST_SINCRONIZACAOSempre ao salvar; recebe 'N' por padrão em registros novos, então só falha se o valor for apagado manualmenteW-1217source/TCB001/UdmTCB001.pas:204-207 (TdmTCB001.tabMOVIMENTACAOBeforePost)

Mensagens: causa e ação​

E-0290​

Causa: O código informado no campo Movimentação de Devolução (CD_MOVDEVOLUCAO) não existe na tabela MOVIMENTACAO.

Ação: Informe um código de movimentação existente ou use F9 no campo para pesquisar.

Fonte: source/TCB001/UdmTCB001.pas:594-597 (TdmTCB001.tabMOVIMENTACAOCD_MOVDEVOLUCAOValidate)

E-0292​

Causa: O código de Tipo de Conta informado não existe com um tipo compatível com o Tipo de Operação atual (CR/AC/HR para Saída; CP/AF/HP para Entrada).

Ação: Cadastre o Tipo de Conta em TFC005 com o tipo correto, ou verifique se o Tipo de Operação da movimentação está certo.

Fonte: source/TCB001/UdmTCB001.pas:270-280 (TdmTCB001.tabMOVIMENTACAOCD_TIPOCONTAValidate)

E-0295​

Causa: O código informado em CFO Dentro do Estado ou CFO Fora do Estado não existe na tabela CFO.

Ação: Cadastre o CFO em TFI002 ou informe um código existente (use F9 para pesquisar).

Fonte: source/TCB001/UdmTCB001.pas:357-359 (TdmTCB001.tabMOVIMENTACAOCD_CFODValidate), source/TCB001/UdmTCB001.pas:396-399 (TdmTCB001.tabMOVIMENTACAOCD_CFOFValidate)

E-0296​

Causa: A Observação Fiscal informada existe, mas está marcada como inativa (ST_ATIVO = 'N').

Ação: Reative a Observação Fiscal em TFI003 ou selecione outra que esteja ativa.

Fonte: source/TCB001/UdmTCB001.pas:413-415 (TdmTCB001.tabMOVIMENTACAOCD_OBSFISCALValidate)

E-0297​

Causa: O código de Observação Fiscal informado não existe na tabela OBSFISCAL.

Ação: Cadastre a Observação Fiscal em TFI003 ou informe um código existente.

Fonte: source/TCB001/UdmTCB001.pas:417-419 (TdmTCB001.tabMOVIMENTACAOCD_OBSFISCALValidate)

E-0298​

Causa: O código de CST informado não existe na tabela CST.

Ação: Cadastre o CST em TFI004 ou selecione um código existente (F9).

Fonte: source/TCB001/UdmTCB001.pas:497-501 (TdmTCB001.tabMOVIMENTACAOCD_CSTValidate)

E-0299​

Causa: O código de Origem da Mercadoria informado não existe na tabela ORIGEM.

Ação: Cadastre a Origem em TFI006 ou selecione um código existente (F9).

Fonte: source/TCB001/UdmTCB001.pas:515-520 (TdmTCB001.tabMOVIMENTACAOCD_ORIGEMValidate)

W-0213​

Causa: O código informado em algum campo de Histórico (Contábil, Estoque, Comissão, Despesa/Juro ou Substituição) não existe na tabela HISTORICO.

Ação: Cadastre o histórico em TCB003 ou informe um código existente (F9).

Fonte: source/TCB001/UdmTCB001.pas:449-451 (TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate), source/TCB001/UdmTCB001.pas:481-483 (TdmTCB001.tabMOVIMENTACAOCD_HISTESTOQUEValidate)

W-0215​

Causa: O histórico informado existe, mas está inativo (ST_ATIVO = 'N').

Ação: Ative o histórico em TCB003 ou escolha outro histórico ativo.

Fonte: source/TCB001/UdmTCB001.pas:434-435 (TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate)

W-0219​

Causa: O código de Operação de Estoque informado não existe na tabela OPERACAO.

Ação: Cadastre a operação em TEQ001 ou informe um código existente.

Fonte: source/TCB001/UdmTCB001.pas:318-321 (TdmTCB001.tabMOVIMENTACAOCD_OPERACAOValidate)

W-0221​

Causa: A Operação de Estoque informada existe, mas está inativa.

Ação: Ative a operação em TEQ001 ou escolha outra ativa.

Fonte: source/TCB001/UdmTCB001.pas:310-312 (TdmTCB001.tabMOVIMENTACAOCD_OPERACAOValidate)

W-1176​

Causa: O CFO informado (Dentro ou Fora do Estado) existe, mas está inativo.

Ação: Ative o CFO em TFI002 ou escolha outro CFO ativo.

Fonte: source/TCB001/UdmTCB001.pas:340-341 (TdmTCB001.tabMOVIMENTACAOCD_CFODValidate), source/TCB001/UdmTCB001.pas:379-380 (TdmTCB001.tabMOVIMENTACAOCD_CFOFValidate)

W-1180​

Causa: O histórico selecionado tem natureza 'Pagamento', mas a movimentação é de Entrada (para o campo Histórico de Estoque a checagem é invertida: dispara para Saída com natureza 'Recebimento').

Ação: Selecione um histórico com natureza compatível com o Tipo de Operação.

Fonte: source/TCB001/UdmTCB001.pas:436-437 (TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate), source/TCB001/UdmTCB001.pas:470-471 (TdmTCB001.tabMOVIMENTACAOCD_HISTESTOQUEValidate)

W-1181​

Causa: O histórico selecionado tem natureza 'Recebimento', mas a movimentação é de Saída (para o campo Histórico de Estoque a checagem é invertida: dispara para Entrada com natureza 'Recebimento').

Ação: Selecione um histórico com natureza compatível com o Tipo de Operação.

Fonte: source/TCB001/UdmTCB001.pas:438-439 (TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate), source/TCB001/UdmTCB001.pas:468-469 (TdmTCB001.tabMOVIMENTACAOCD_HISTESTOQUEValidate)

W-1218​

Causa: A Operação de Estoque selecionada é do tipo Saída (TP_OPERACAO='S'), mas a Movimentação é de Entrada.

Ação: Escolha uma Operação de Estoque do tipo Entrada.

Fonte: source/TCB001/UdmTCB001.pas:313-314 (TdmTCB001.tabMOVIMENTACAOCD_OPERACAOValidate)

W-1219​

Causa: A Operação de Estoque selecionada é do tipo Entrada, mas a Movimentação é de Saída.

Ação: Escolha uma Operação de Estoque do tipo Saída.

Fonte: source/TCB001/UdmTCB001.pas:315-316 (TdmTCB001.tabMOVIMENTACAOCD_OPERACAOValidate)

W-1220​

Causa: O CFO Dentro do Estado informado (não-serviço) está na faixa de CFOP de Saída (≥4000 ou entre 2001 e 2999), mas a movimentação é de Entrada.

Ação: Informe um CFO de Entrada compatível para dentro do estado.

Fonte: source/TCB001/UdmTCB001.pas:347-349 (TdmTCB001.tabMOVIMENTACAOCD_CFODValidate)

W-1221​

Causa: O CFO Dentro do Estado informado (não-serviço) não está na faixa de CFOP de Saída (≥6000 ou <5000), mas a movimentação é de Saída.

Ação: Informe um CFO de Saída compatível para dentro do estado.

Fonte: source/TCB001/UdmTCB001.pas:350-352 (TdmTCB001.tabMOVIMENTACAOCD_CFODValidate)

W-1222​

Causa: O CFO Fora do Estado informado (não-serviço) está fora da faixa de Entrada (2000–4999), mas a movimentação é de Entrada.

Ação: Informe um CFO de Entrada compatível para fora do estado.

Fonte: source/TCB001/UdmTCB001.pas:386-388 (TdmTCB001.tabMOVIMENTACAOCD_CFOFValidate)

W-1223​

Causa: O CFO Fora do Estado informado (não-serviço) é menor que 6000, mas a movimentação é de Saída.

Ação: Informe um CFO de Saída compatível para fora do estado (≥6000).

Fonte: source/TCB001/UdmTCB001.pas:389-390 (TdmTCB001.tabMOVIMENTACAOCD_CFOFValidate)

W-1224​

Causa: O histórico selecionado está cadastrado com Tipo 'Adiantamento' (TP_HISTORICO = 'A'), reservado a outra rotina do sistema.

Ação: Selecione outro histórico ou corrija o Tipo do histórico em TCB003, se estiver cadastrado incorretamente.

Fonte: source/TCB001/UdmTCB001.pas:440-441 (TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate)

W-1225​

Causa: O histórico selecionado está cadastrado com Tipo 'Desconto' (TP_HISTORICO = 'D'), reservado a outra rotina do sistema.

Ação: Selecione outro histórico ou corrija o Tipo do histórico em TCB003.

Fonte: source/TCB001/UdmTCB001.pas:442-443 (TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate)

W-1226​

Causa: O histórico selecionado está cadastrado com Tipo 'Juro' (TP_HISTORICO = 'J'), reservado a outra rotina do sistema.

Ação: Selecione outro histórico ou corrija o Tipo do histórico em TCB003.

Fonte: source/TCB001/UdmTCB001.pas:444-445 (TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate)

W-1227​

Causa: O histórico selecionado está cadastrado com Tipo 'Cheque Pré-Datado' (TP_HISTORICO = 'H'), reservado a outra rotina do sistema.

Ação: Selecione outro histórico ou corrija o Tipo do histórico em TCB003.

Fonte: source/TCB001/UdmTCB001.pas:446-447 (TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate)

W-1228​

Causa: A movimentação selecionada no campo Movimentação de Devolução tem ST_DEVOLUCAO = 'N' (não é do tipo Devolução/Retorno).

Ação: Selecione uma movimentação cujo campo Devolução/Retorno esteja marcado como Devolução ou Retorno.

Fonte: source/TCB001/UdmTCB001.pas:590-591 (TdmTCB001.tabMOVIMENTACAOCD_MOVDEVOLUCAOValidate)

W-1229​

Causa: A movimentação selecionada como Movimentação de Devolução tem o mesmo Tipo de Operação (Entrada/Saída) da movimentação atual.

Ação: Uma devolução de Entrada deve apontar para uma movimentação de Saída, e uma devolução de Saída deve apontar para uma de Entrada.

Fonte: source/TCB001/UdmTCB001.pas:588-589 (TdmTCB001.tabMOVIMENTACAOCD_MOVDEVOLUCAOValidate)

W-1230​

Causa: O código informado no campo Natureza Reinf não existe na tabela NATUREZARENDIMENTOREINF.

Ação: Cadastre a Natureza de Rendimento em TFI021 ou selecione um código existente (F9).

Fonte: source/TCB001/UdmTCB001.pas:684-685 (TdmTCB001.tabMOVIMENTACAOCD_NATUREZAREINFValidate)

W-1804​

Causa: A Finalidade da nota (ST_COMPLEMENTAR) foi definida como Nota de Crédito ou Nota de Débito, mas o campo Tipo na aba 'Nota de Débito/Crédito' ficou no valor sentinela '-1' (<Selecione>), ou seja, não foi escolhido.

Ação: Abra a aba 'Nota de Débito/Crédito' e selecione um Tipo válido na lista antes de salvar.

Fonte: source/TCB001/UdmTCB001.pas:225-231 (TdmTCB001.tabMOVIMENTACAOBeforePost)

Movimentação de Entrada não pode ter Finalidade Nota de Débito. Utilize Nota de Crédito!​

Causa: A movimentação é de Entrada (TP_OPERACAO='E') e a Finalidade foi marcada como Nota de Débito (ST_COMPLEMENTAR='D'), combinação não permitida.

Ação: Altere a Finalidade para Nota de Crédito ou para outro valor compatível com Entrada.

Fonte: source/TCB001/UdmTCB001.pas:212-217 (TdmTCB001.tabMOVIMENTACAOBeforePost)

Movimentação de Saída não pode ter Finalidade Nota de Crédito. Utilize Nota de Débito!​

Causa: A movimentação é de Saída (TP_OPERACAO='S') e a Finalidade foi marcada como Nota de Crédito (ST_COMPLEMENTAR='C'), combinação não permitida.

Ação: Altere a Finalidade para Nota de Débito ou para outro valor compatível com Saída.

Fonte: source/TCB001/UdmTCB001.pas:218-223 (TdmTCB001.tabMOVIMENTACAOBeforePost)

Regras de negócio​

  • TCB001.R001 (ver regras/TCB001/TCB001.R001.md)
  • TCB001.R002 (ver regras/TCB001/TCB001.R002.md)
  • TCB001.R003 (ver regras/TCB001/TCB001.R003.md)
  • TCB001.R004 (ver regras/TCB001/TCB001.R004.md)
  • TCB001.R005 (ver regras/TCB001/TCB001.R005.md)
  • TCB001.R006 (ver regras/TCB001/TCB001.R006.md)
  • TCB001.R007 (ver regras/TCB001/TCB001.R007.md)
  • TCB001.R008 (ver regras/TCB001/TCB001.R008.md)
  • TCB001.R009 (ver regras/TCB001/TCB001.R009.md)
  • TCB001.R010 (ver regras/TCB001/TCB001.R010.md)
  • TCB001.R011 (ver regras/TCB001/TCB001.R011.md)
  • TCB001.R012 (ver regras/TCB001/TCB001.R012.md)
  • TCB001.R013 (ver regras/TCB001/TCB001.R013.md)
  • TCB001.R014 (ver regras/TCB001/TCB001.R014.md)
  • TCB001.R015 (ver regras/TCB001/TCB001.R015.md)
  • TCB001.R016 (ver regras/TCB001/TCB001.R016.md)
  • TCB001.R017 (ver regras/TCB001/TCB001.R017.md)
  • TCB001.R018 (ver regras/TCB001/TCB001.R018.md)
  • TCB001.R019 (ver regras/TCB001/TCB001.R019.md)
  • TCB001.R020 (ver regras/TCB001/TCB001.R020.md)
  • TCB001.R021 (ver regras/TCB001/TCB001.R021.md)
  • TCB001.R022 (ver regras/TCB001/TCB001.R022.md)

Perguntas frequentes​

P: Por que não consigo salvar a Movimentação e aparece 'É Obrigatório informar a Natureza da Operação!'? R: O campo Natureza (DS_NATUREZA, aba Geral) está em branco. Preencha esse campo antes de salvar. Fonte: source/TCB001/UdmTCB001.pas:169-173 (TdmTCB001.tabMOVIMENTACAOBeforePost)

P: Deu a mensagem 'O CFO não está Cadastrado! Verifique'. O que fazer? R: O código informado em CFO Dentro do Estado ou CFO Fora do Estado não existe na tabela de CFO (TFI002). Use F9 no campo para pesquisar um CFO válido ou cadastre-o em TFI002. Fonte: source/TCB001/UdmTCB001.pas:326-362 (TdmTCB001.tabMOVIMENTACAOCD_CFODValidate), source/TCB001/UdmTCB001.pas:364-402 (TdmTCB001.tabMOVIMENTACAOCD_CFOFValidate)

P: Por que, ao trocar o Tipo de Operação de Entrada para Saída (ou vice-versa), os campos Operação, Tipo de Conta, CFOs e Históricos ficam em branco? R: O sistema limpa automaticamente esses campos ao mudar o Tipo de Operação, pois cada um depende diretamente se a movimentação é de Entrada ou Saída. É necessário preenchê-los novamente. Fonte: source/TCB001/UdmTCB001.pas:530-542 (TdmTCB001.tabMOVIMENTACAOTP_OPERACAOValidate)

P: Por que não vejo os botões Novo, Salvar e Excluir na tela de Movimentações? R: O usuário está com o programa em modo de acesso somente consulta (tipo de acesso 2); nesse caso a tela oculta os botões de inclusão, gravação e exclusão. Ajuste o perfil de acesso ao programa se o usuário precisar cadastrar. Fonte: source/TCB001/UTCB001.pas:228-234 (iniciar)

P: Deu o erro 'Movimentação de Entrada não pode ter Finalidade Nota de Débito. Utilize Nota de Crédito!' (ou o equivalente para Saída/Nota de Crédito). O que fazer? R: A combinação de Tipo de Operação e Finalidade (campo ST_COMPLEMENTAR, aba Geral) é inválida: Entrada não aceita Finalidade 'Nota de Débito' e Saída não aceita 'Nota de Crédito'. Corrija a Finalidade para o valor compatível com o Tipo de Operação. Fonte: source/TCB001/UdmTCB001.pas:212-223 (TdmTCB001.tabMOVIMENTACAOBeforePost)

P: Apareceu 'A Movimentação com Finalidade Nota de Crédito/Débito obriga a selecionar um Tipo na aba Nota de Débito/Crédito'. R: Ao marcar a Finalidade como Nota de Crédito ou Nota de Débito, é preciso ir na aba 'Nota de Débito/Crédito' e escolher um Tipo da lista (não deixar em '<Selecione>'). Só então é possível salvar. Fonte: source/TCB001/UdmTCB001.pas:225-232 (TdmTCB001.tabMOVIMENTACAOBeforePost), source/TCB001/UTCB001.dfm:2054-2062

P: Por que a aba 'SPED Reinf' some quando eu mudo a Movimentação para Saída? R: Essa aba só é exibida para movimentações do Tipo de Operação Entrada; para Saída ela fica oculta. Fonte: source/TCB001/UTCB001.pas:840-853 (TfrmTCB001.cmbTP_OPERACAOChange), source/TCB001/UTCB001.pas:247-250 (iniciar)

P: O sistema avisa 'A Movimentação de Devolução não pode ser de Entrada/Saída. Verifique!'. O que significa? R: No campo Movimentação de Devolução (aba Acumulador) você selecionou uma movimentação com o mesmo Tipo de Operação da movimentação atual. Uma devolução de Entrada deve apontar para uma movimentação de Saída, e vice-versa. Fonte: source/TCB001/UdmTCB001.pas:587-589 (TdmTCB001.tabMOVIMENTACAOCD_MOVDEVOLUCAOValidate)

P: Recebi 'O Histórico deve ter a Natureza Recebimento/Pagamento!'. Como resolvo? R: O histórico escolhido tem uma natureza incompatível com o Tipo de Operação da movimentação. Para os campos de Histórico contábil, Comissão, Despesa/Juro e Substituição/Difal: Entrada exige natureza Recebimento e Saída exige natureza Pagamento. Para o campo Histórico de Estoque a regra é invertida (Entrada exige Pagamento, Saída exige Recebimento). Escolha outro histórico compatível ou ajuste a natureza dele em TCB003. Fonte: source/TCB001/UdmTCB001.pas:436-439 (TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate), source/TCB001/UdmTCB001.pas:468-471 (TdmTCB001.tabMOVIMENTACAOCD_HISTESTOQUEValidate)

P: Por que, ao digitar um código de Movimentação que já existe durante a inclusão, a tela muda sozinha para o registro existente? R: Ao sair do campo Código, o sistema verifica se aquele código já está cadastrado; se estiver, cancela a inclusão em andamento, reabre a consulta e localiza o registro existente, para evitar duplicidade de código. Fonte: source/TCB001/UTCB001.pas:818-838 (TfrmTCB001.edtCD_MOVIMENTACAOExit)

P: Como eu pesquiso o código de CFO, Histórico, Operação, CST ou Origem em vez de decorar o número? R: Posicione o cursor no campo de código e pressione F9 (ou digite uma letra) para abrir a lista de pesquisa filtrada conforme o Tipo de Operação selecionado. Fonte: source/TCB001/UTCB001.pas:422-447 (TfrmTCB001.edtCD_OPERACAOKeyDown), source/TCB001/UTCB001.pas:449-479 (TfrmTCB001.edtCD_CFODKeyDown)

P: Recebi 'O Tipo do Histórico não pode ser de Adiantamento/Desconto/Juro/Cheque Pré-Datado!'. Por quê? R: Os históricos cadastrados com esses tipos são reservados para outras rotinas do sistema (adiantamento, desconto, juro ou cheque pré-datado) e não podem ser vinculados a uma Movimentação contábil. Escolha um histórico de outro tipo ou corrija o cadastro do histórico em TCB003 se ele foi classificado incorretamente. Fonte: source/TCB001/UdmTCB001.pas:440-447 (TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate)

Dúvidas em aberto (o código não responde)​

  • Por que a regra de natureza do Histórico de Estoque (CD_HISTESTOQUE) é invertida em relação à do Histórico contábil (Entrada exige natureza Pagamento e Saída exige Recebimento, ao contrário dos demais campos de histórico)? — Comparar TdmTCB001.tabMOVIMENTACAOCD_HISTESTOQUEValidate (UdmTCB001.pas:468-471) com TdmTCB001.tabMOVIMENTACAOCD_HISTORICOValidate (UdmTCB001.pas:436-439); não há comentário explicando a inversão.
  • Os campos CST/CSOSN de Devolução (ST_CSTDEVOLUCAO) e Benefício de Devolução (ST_BENEFICIODEVOLUCAO), que ficam visíveis na aba Tributação quando a Devolução/Retorno está marcada, são realmente opcionais? Não há checagem desses campos em tabMOVIMENTACAOBeforePost. — cmbST_DEVOLUCAOChange (UTCB001.pas:898-924) só controla visibilidade; nenhuma validação equivalente foi encontrada em UdmTCB001.pas.
  • Os campos Tipo de Conta (CD_TIPOCONTA), Operação de Estoque (CD_OPERACAO) e Histórico de Estoque (CD_HISTESTOQUE) são opcionais mesmo sendo usados no financeiro/estoque? Não há mensagem de obrigatoriedade dedicada a eles em tabMOVIMENTACAOBeforePost. — Comparado à lista de campos obrigatórios em UdmTCB001.pas:158-207, esses três campos não aparecem.
  • Os campos da aba SPED Pis/Cofins (CST PIS, CST COFINS, Base Crédito, Tipo Crédito) têm alguma validação própria do módulo TCB001, ou dependem só de outra rotina/relatório? — Não há Validate nem checagem no BeforePost para esses campos nos arquivos lidos.