Bom dia, Estou a fazer a integração dos movimentos Contabilístico via motor do ERP e me dá o erro “Coluna ContasCorrentes não faz parte da tabela”. Será que estou a fazer algo de errado, ou é mesmo questão da versão?? Abaixo o código:
public void ImportarMovCbl(List<CabecalhoMovCbl> cabecalhos, List<DadosCbl> linhas, string gravaOuValida = “V”)
{
foreach (var cab in cabecalhos)
{
try
{
CblBEDocumento MovCbl = new CblBEDocumento();
MovCbl.Ano = cab.Ano;
MovCbl.Mes = Convert.ToByte(cab.Mes);
MovCbl.Dia = Convert.ToByte(cab.Dia);
MovCbl.Diario = cab.Diario;
MovCbl.NumDiario = cab.NumDiario;
MovCbl.Doc = cab.Documento;
MovCbl.NumDoc = cab.NumDoc;
MovCbl.Moeda = cab.Moeda;
MovCbl.CamposUtil[“CDU_CegidImportApp_Mov”].Valor = 1;
MovCbl.TipoLancamento = “000”;
MovCbl.Modulo = “L”;
MovCbl.IdDocOrigem = MovCbl.ID;
// Filtra as linhas correspondentes ao cabeçalho
var linhasDoDoc = linhas
.Where(l => l.Diario == cab.Diario &&
l.NumDiario == cab.NumDiario &&
l.NumDoc == cab.NumDoc)
.ToList();
if (!linhasDoDoc.Any())
{
cab.ResultadoImportacao = “Falha: Nenhuma linha encontrada para este documento.”;
continue;
}
int numLote = 0;
foreach (var linha in linhasDoDoc)
{
CblBELinhaDocGeral Lmov = new CblBELinhaDocGeral();
Lmov.Descricao = linha.Descricao;
Lmov.Conta = linha.Conta;
Lmov.Valor = Convert.ToDecimal(linha.Valor);
Lmov.ValorAlt = Convert.ToDecimal(linha.Valor);
Lmov.ValorOrigem = Convert.ToDecimal(linha.Valor);
Lmov.Natureza = linha.Natureza;
Lmov.TipoEntidade = linha.TipoEntidade;
Lmov.Entidade = linha.Entidade;
Lmov.Moeda = linha.Moeda;
Lmov.Cambio = linha.Cambio;
Lmov.CambioMAlt = linha.CambioMAlt;
Lmov.CamposUtil[“CDU_CegidImportApp_Mov”].Valor = 1;
Lmov.Lote = numLote;
MovCbl.LinhasGeral.Insere(Lmov);
numLote++;
}
PriEngine.Engine.Contabilidade.Documentos.Actualiza(MovCbl);
}
catch (Exception ex)
{
erro = true;
cab.ResultadoImportacao = ex.Message;
}
}
}