Olá Edy, removendo a linha
oJornal.Lines.Add(); //<----- Remover esta linha
foi suficiente para resolver o problema. Muito obrigado amigo.
Avalados por :
Olá especialistas, preciso criar uma entrada de diário através do SBO DI API usando C#, mas continuo recebendo o código de erro -4006 (atualizar o tipo de câmbio) mesmo depois de configurá-lo em 'Administração-> Tipos de Câmbio e Índices'. Também revisei o https://scn.sap.com/thread/3813776 post.
Aqui está meu código, o que estou perdendo?
Muito obrigado amigos.
try
{
string CampoMemo = CardCode;
oJornal = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oJournalEntries);
oJornal.TransactionCode = "XXX";
oJornal.Lines.SetCurrentLine(0);
oJornal.Lines.AccountCode = "1-1-01-03-004";
oJornal.Lines.Debit = monto;
oJornal.Lines.Credit = 0;
oJornal.Lines.ContraAccount = "1-1-01-01-003";
oJornal.Lines.LineMemo = CampoMemo;
oJornal.Lines.Reference1 = CardName;
oJornal.Lines.Reference2 = CardCode;
oJornal.Lines.ShortName = "1-1-01-03-004";
oJornal.Lines.Add();
oJornal.Lines.AccountCode = "1-1-01-01-003";
oJornal.Lines.Credit = monto;
oJornal.Lines.Debit = 0;
oJornal.Lines.ContraAccount = "1-1-01-03-004";
oJornal.Lines.LineMemo = CampoMemo;
oJornal.Lines.Reference1 = CardName;
oJornal.Lines.Reference2 = CardCode;
oJornal.Lines.ShortName = "1-1-01-01-003";
oJornal.Lines.Add();
oJornal.ReferenceDate = oCompany.GetDBServerDate();
oJornal.Memo = CampoMemo;
oJornal.Reference = CardName;
oJornal.Reference2 = CardCode;
errCode = oJornal.Add();
if (errCode == 0)
{
return true;
}
else
{
throw new Exception(oCompany.GetLastErrorDescription());
}
}
Olá Edy, removendo a linha
oJornal.Lines.Add(); //<----- Remover esta linha
foi suficiente para resolver o problema. Muito obrigado amigo.
Olá Carlos,
Segundo o e-mail de Edy, você deve excluir a última linha oJornal.Lines.Add. Além disso, você deve chamar SetCurrentLine(1) após a primeira linha oJornal.Lines.Add, caso contrário estará sobrescrevendo a primeira linha.
O que é '1-1-01-01-003'? É um código de conta GL ou um código de BP? Se for o primeiro, então você deveria estar usando o número do sistema para a conta e não o número de conta formatado. Se for um código de BP, por favor verifique em que moeda este BP está configurado e certifique-se de que esta moeda tenha uma taxa de câmbio válida para a data do diário.
Atenciosamente,
Owen
Olá Carlos,
Podes tentar o seguinte?:
1. Elimina a última oJournalLines.Add() de
oJornal.Lines.ShortName = "1-1-01-01-003";
oJornal.Lines.Add();†††††††††† //<----- Elimina esta línea
2. Verifica oCompany.GetDBServerDate(), o que retorna?
3. Tenta criá-lo como um JournalVoucher e tenta contabilizá-lo no JE a partir da aplicação, verifica se tem o mesmo problema. Qual versão do SBO estás a utilizar?
Não deverias ter problemas com a taxa de câmbio, porque o teu JE está apenas a contabilizar na moeda local.
Saudações
Edy
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute