| ♥ 0 | Estou a tentar clonar um artigo da empresa A para a empresa B. Aparentemente corre tudo bem pois não retorna erro algum, no entanto, o artigo não é criado na empresa B. Abaixo um exemplo do código: string avisos = string.Empty;
string user;
string pass;
user = "integrador";
pass = "pass";
GcpBEArtigo Artigo = null;
GcpBEArtigo NovoArtigo = null;
Database EmpresaA = new Database();
Database EmpresaB = new Database();
try
{
if (!EmpresaA.AbrePlataforma("EmpresaA", user, pass))
{
MessageBox.Show("Erro ao abrir a empresa de origem.",
Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
if (!EmpresaB.AbrePlataforma("EmpresaB", user, pass))
{
MessageBox.Show("Erro ao abrir a empresa de origem.",
Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
Artigo = EmpresaA.MotorPrimavera.Comercial.Artigos.Edita("ART1");
NovoArtigo = new GcpBEArtigo();
NovoArtigo = EmpresaB.PlataformaPrimavera.FuncoesGlobais.ClonaObjecto(Artigo);
if (EmpresaB.MotorPrimavera.Comercial.Artigos.ValidaActualizacao(NovoArtigo, ref avisos))
{
EmpresaB.MotorPrimavera.Comercial.Artigos.Actualiza(NovoArtigo);
if (avisos.Length > 0)
{
MessageBox.Show("Avisos artigo. \n" + avisos);
}
else
{
MessageBox.Show("artigo Gravado");
}
}
else
{
MessageBox.Show("Erro ao replicar artigo " + Artigo,
Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}finally
{
EmpresaA.FechaPlataforma();
EmpresaB.FechaPlataforma();
}
Obrigado. Marcado como spam |
Comentários Boas,
já tentaste validar qual a informação que efectivamente vai no objeto do artigo novo?
Tenta fazer debug e validar se realmente o objecto tem as propriedados do artigo "Art1" , pode o clonar do objecto não estar a copiar tudo. Boa tarde @andralves! Sim, o "NovoArtigo" tem as propriedades preenchidas. @sereno, alguma sugestão? |
1 respostas
| Resposta privada Isso deve ser por causa da propriedade EmModoEdicao vir a True por editares o artigo. Muda para False antes de gravar e já deve dar. Marcado como spam Comentários Perfeito @sereno! É exatamente isso. Obrigado! |