Hola Edy, eliminando la línea
oJornal.Lines.Add(); //<----- Eliminar esta línea
fue suficiente para resolver el problema. Muchas gracias amigo.
Avalados por :
Hola expertos, necesito crear una entrada de diario a través de SBO DI API usando C# pero sigo obteniendo el código de error -4006 (actualizar el tipo de cambio) a pesar de que ya lo configuré en 'Administración->Tipos de Cambio e Índices'. También revisé el https://scn.sap.com/thread/3813776 post.
Aquí está mi código, ¿qué me falta?
Muchas gracias 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());
}
}
Hola Edy, eliminando la línea
oJornal.Lines.Add(); //<----- Eliminar esta línea
fue suficiente para resolver el problema. Muchas gracias amigo.
Hola Carlos,
Según el correo electrónico de Edy, debes eliminar la última línea oJornal.Lines.Add. También debes llamar a SetCurrentLine(1) después de la primera línea oJornal.Lines.Add, de lo contrario estarás sobrescribiendo la primera línea.
¿Qué es '1-1-01-01-003"? ¿Es un código de cuenta GL o un código de BP? Si es lo primero, entonces deberías estar usando el número de sistema para la cuenta y no el número de cuenta formateado. Si es un código de BP, por favor verifica en qué moneda está configurado este BP y asegúrate de que esta moneda tenga una tasa de cambio válida para la fecha del diario.
Saludos cordiales,
Owen
Hola Carlos,
¿Puedes intentar lo siguiente?:
1. Elimina la última oJournalLines.Add() de
oJornal.Lines.ShortName = "1-1-01-01-003";
oJornal.Lines.Add(); //<----- Elimina esta línea
2. Verifica oCompany.GetDBServerDate(), ¿Qué te devuelve?
3. Intenta crearlo como un JournalVoucher y trata de contabilizarlo en JE desde la aplicación, verifica si tiene el mismo problema. ¿Qué versión de SBO estás utilizando?
No deberías tener problemas con la tasa de cambio, porque tu JE solo está contabilizando en moneda local.
Saludos
Edy
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute