| ♥ 0 | Viva, Estou a tentar efetuar uma correção nas linhas de um documento de rascunho integrado via Vendas através dos motores. Consigo editar o documento, alterar o valor das linhas pretendidas, mas depois não consigo perceber como é que posso efetivá-lo para que deixe de estar em rascunho. Deixo extracto de código abaixo:
CblBELinhaDocGeral Linha ;
CblBEDocumento DocContabilidade;
DocContabilidade = MotorPrimavera.Contabilidade.Documentos.EditaRascunho(2020,
"50",
9000,
"000");
Linha = DocContabilidade.LinhasGeral.EditaID[1];
Linha.set_Valor(123);
Linha.set_ValorAlt(123);
Linha.set_ValorOrigem(123)
MotorPrimavera.Contabilidade.Documentos.BalanceiaDiferencasArredondamento(DocContabilidade);
if ( MotorPrimavera.Contabilidade.Documentos.ValidaActualizacaoRascunho(DocContabilidade, erro))
{
MotorPrimavera.Contabilidade.Documentos.Actualiza(DocContabilidade, erro);
if (erro.Length > 0)
{
MessageBox.Show(erro.ToString());
}
}
Marcado como spam |
| Resposta privada @nunogonalves o documento existe sim, entretanto comecei a utilizar o metodo Actualiza, pois eu quero é criar documentos e nao editar rascunhos. No entanto estou com um erro ao gravar o documento, diz me que nao esta balanceado na financeira. CblBELinhaDocGeral Linha = new CblBELinhaDocGeral();
CblBEDocumento DocContabilidade = new CblBEDocumento();
DocContabilidade.set_Ano(2020);
DocContabilidade.set_Mes(11);
DocContabilidade.set_Dia(3);
DocContabilidade.set_Diario("22");
DocContabilidade.set_NumDiario(110003);
DocContabilidade.set_TipoLancamento("000");
DocContabilidade.set_Doc("411");
DocContabilidade.set_Moeda("EUR");
DocContabilidade.set_DataDoc(data_doc);
DocContabilidade.set_IdDocOrigem("411");
DocContabilidade.set_NumDoc(3);
DocContabilidade.set_DataExpedicao(data_doc);
DocContabilidade.set_DataOperacao(data_doc);
DocContabilidade.set_DataRecepcao(data_doc);
Linha.set_Valor(100);
Linha.set_ValorAlt(100);
Linha.set_ValorOrigem(100);
Linha.set_ValorIncIVA(123);
Linha.set_Iva("12132371");
Linha.set_TaxaIva(23);
Linha.set_TipoLinha("1");
Linha.set_CambioOrigem(1);
Linha.set_Cambio(1);
Linha.set_CambioMAlt(1);
Linha.set_Conta("211110001");
DocContabilidade.LinhasGeral.Insere(Linha);
motor.Contabilidade.Documentos.BalanceiaDiferencasArredondamento(DocContabilidade);
Está a faltar me lançar algum valor de certeza mas nao faço ideia de qual é. Os valores que introduzi nas linhas e Documento tambem foram random.
desculpa por usar como resposta, mas quando faço perguntas nao obtenho qualquer ajuda, e asism ao por como resposta o codigo fica visivel. Marcado como spam Comentários Olá @patrickarsenio, Penso que este exemplo poderá ajudar-te: https://github.com/PrimaverabssDeveloper/ERP10Integration/tree/master/Primavera.Accounting.Documents Não podes de qualquer modo, utilizar valores random. O documento tem de fazer sentido, caso contrário receberás o erro de não balanceamento. @nunogonalves F*** era mesmo isso, um grnde obrigado, levei eu a tarde toda aqui a tentar perceber esta coisa e nao tava atinar, fui ver o exemplo e consegui perceber. Obrigado mesmo. | |
| Resposta privada Olá Nuno Penso que apenas tens de alterar a propriedade "Rascunho" do cblbedocumento para true e depois atualizar. Marcado como spam Comentários Bom dia,
peço desculpa por estar a intrometer me, mas eu por acaso etou a tentar criar/editar documentos e esse codigo ai faz exatamente o que pretendo, mas ao executar o memso obtenho o seguinte erro:
A referência de objecto não foi definida como uma instância de um objecto.
quando estou a tentar dar valor a uma linha, o que podera ser? @patrickarsenio, verifica se o documento rascunho existe. @sergiosereno, pensei que fosse por aí, no entanto, visto que é um rascunho, recebo a mensagem que o registo não é encontrado na tabela "CabecMovCBL". @sergiosereno, tens outra sugestão? Obrigado. |