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
- 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) - 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) - 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) - 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) - 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) - 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) - 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
| Campo | Condição | Mensagem | Fonte |
|---|---|---|---|
| CD_MOVIMENTACAO | Sempre 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-0513 | source/TCB001/UdmTCB001.pas:119-163 (TdmTCB001.tabMOVIMENTACAOBeforePost) |
| DS_MOVIMENTACAO | Sempre ao salvar | W-0514 | source/TCB001/UdmTCB001.pas:164-168 (TdmTCB001.tabMOVIMENTACAOBeforePost) |
| DS_NATUREZA | Sempre ao salvar | W-1212 | source/TCB001/UdmTCB001.pas:169-173 (TdmTCB001.tabMOVIMENTACAOBeforePost) |
| CD_CFOD | Sempre ao salvar (CFO Dentro do Estado) | W-1213 | source/TCB001/UdmTCB001.pas:174-178 (TdmTCB001.tabMOVIMENTACAOBeforePost) |
| CD_CFOF | Sempre ao salvar (CFO Fora do Estado) | W-1214 | source/TCB001/UdmTCB001.pas:179-183 (TdmTCB001.tabMOVIMENTACAOBeforePost) |
| CD_HISTORICO | Sempre ao salvar (Histórico contábil) | W-0644 | source/TCB001/UdmTCB001.pas:184-188 (TdmTCB001.tabMOVIMENTACAOBeforePost) |
| CD_OBSFISCAL | Sempre ao salvar | W-0797 | source/TCB001/UdmTCB001.pas:189-193 (TdmTCB001.tabMOVIMENTACAOBeforePost) |
| CD_CST | Sempre ao salvar (Situação Tributária) | W-1215 | source/TCB001/UdmTCB001.pas:194-198 (TdmTCB001.tabMOVIMENTACAOBeforePost) |
| CD_ORIGEM | Sempre ao salvar (Origem da Mercadoria) | W-1216 | source/TCB001/UdmTCB001.pas:199-203 (TdmTCB001.tabMOVIMENTACAOBeforePost) |
| ST_SINCRONIZACAO | Sempre ao salvar; recebe 'N' por padrão em registros novos, então só falha se o valor for apagado manualmente | W-1217 | source/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(verregras/TCB001/TCB001.R001.md)TCB001.R002(verregras/TCB001/TCB001.R002.md)TCB001.R003(verregras/TCB001/TCB001.R003.md)TCB001.R004(verregras/TCB001/TCB001.R004.md)TCB001.R005(verregras/TCB001/TCB001.R005.md)TCB001.R006(verregras/TCB001/TCB001.R006.md)TCB001.R007(verregras/TCB001/TCB001.R007.md)TCB001.R008(verregras/TCB001/TCB001.R008.md)TCB001.R009(verregras/TCB001/TCB001.R009.md)TCB001.R010(verregras/TCB001/TCB001.R010.md)TCB001.R011(verregras/TCB001/TCB001.R011.md)TCB001.R012(verregras/TCB001/TCB001.R012.md)TCB001.R013(verregras/TCB001/TCB001.R013.md)TCB001.R014(verregras/TCB001/TCB001.R014.md)TCB001.R015(verregras/TCB001/TCB001.R015.md)TCB001.R016(verregras/TCB001/TCB001.R016.md)TCB001.R017(verregras/TCB001/TCB001.R017.md)TCB001.R018(verregras/TCB001/TCB001.R018.md)TCB001.R019(verregras/TCB001/TCB001.R019.md)TCB001.R020(verregras/TCB001/TCB001.R020.md)TCB001.R021(verregras/TCB001/TCB001.R021.md)TCB001.R022(verregras/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.