Fórum
Ver pergunta

Documento transferência de estado   

12 visualizações
1
0

Boa tarde, estou a construir uma app onde os utilizadores podem fazer a aprovação/rejeição de documentos pendentes, no entanto estou a ter um erro que não sei de onde vem:

O código encontra-se desta forma

CctBEDocumentoTransf docTransf = new CctBEDocumentoTransf()
{
TipoConta = “C”,
Modulo = “M”,
Tipodoc = $@”APR{level}”,
Serie = serieAPR,
DataDoc = DateTime.Now,
Cambio = 1,
CambioMAlt = 1,
CambioMBase = 1,
TransferenciaEstado = true,
EstadoDestino = estado,
//TotalDoc = pendente.ValorTotal,
TotalDoc = pendente.ValorTotal * -1,
TipoEntidade = pendente.TipoEntidade,
Entidade = pendente.Entidade,
TipoEntidadeDestino = pendente.TipoEntidade,
EntidadeDestino = pendente.Entidade,
Moeda = pendente.Moeda,
MoedaDaUEM = pendente.MoedaDaUEM,
TipoContaDestino = pendente.TipoConta,
IDObra = pendente.IDObra,
Utilizador = ctx.Utilizador,
ModoPag = pendente.ModoPag
};

 

if (motor.PagamentosRecebimentos.Pendentes.Existe(“000”, Modulo, TipoDoc, Serie, NumDocInt))
{

CctBELinhaTransf lin = new CctBELinhaTransf();
lin.IDObra = pendente.IDObra;
lin.MoedaDocOrig = pendente.Moeda;
lin.ValorOrig = pendente.ValorTotal * -1;
//lin.ValorOrig = pendente.ValorTotal;
//lin.ValorRec = pendente.ValorTotal;
lin.ValorRec = pendente.ValorTotal * -1;
lin.TipoConta = pendente.TipoConta;
lin.EntidadeOrigem = pendente.Entidade;
lin.Estado = $@”AG{level}”;
lin.FilialOrig = “000”;
lin.ModuloOrig = Modulo;
lin.NumDocOrigInt = pendente.NumDocInt;
lin.NumDocOrig = pendente.NumDoc;
lin.SerieOrig = Serie;
lin.TipoDocOrig = TipoDoc;
lin.NumPrestacaoOrig = pendente.NumPrestacao;
//lin.NumTransferencia = 0;
lin.TipoEntidadeOrigem = pendente.TipoEntidade;
lin.IDHistorico = pendente.IDHistorico;
lin.ModoPag = pendente.ModoPag;

docTransf.DocumentosTransferir.Add(lin);
}

string strWarnings = string.Empty;
motor.PagamentosRecebimentos.Transferencias.Actualiza(docTransf, strWarnings);

Funciona para algumas ocasiões mas outras não. Inclusivé tive que alterar a natureza do valor para entrar correctamente.
No documento do erro, confirmei que se encontra no Primavera e na BD directamente.

Já vi uma publicação há uns anos com o mesmo problema mas não obteve resposta.

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 2 dias e 14 horas sratobubblevelcom
3 respostas
0
Resposta privada

Não relacionado directamente com a programação mas temos aqui um problema com dois clientes que pode estar relacionado. Estes clientes tinham documentos de Encomenda e GT, criados na v10, que estavam pendentes.
Criaram faturas através da transformação de documentos e em ambos os casos os documentos nunca ficaram como terminados por completo.
Na Encomenda, o stock reservado nunca foi libertado aquando conversão para fatura, o que com gerou problemas de stock nesse artigo.
Na GT, apesar de ter sido criada uma fatura que a liquidava na totalidade, ela nunca passou de pendente a fechada, o que também causou problemas.

Talvez esteja a enfrentar um bug semelhante? Documentos que geram estados pendentes, apesar de continuarem a aparecer como tal após liquidação o que por sí já é estranho, talvez fiquem ali num limbo que nem são uma coisa nem são outra? Aconselho a levar este problema à Primavera

Faça login para poder traduzir
Marcado como spam
Criado há 1 dia e 13 horas ricardogiro
ricardogiro Responsiveness Member
    Comentários
    Edit: criaram as faturas pra esses documentos após actualizar pra Evolution. Num dos casos, uma fatura que liquidava parcialmente a GT na v10 nao deu problemas, mas outra feita com o mesmo propósito no Evolution mostrou o comportamento acima referido. Por favor verifique no programa em si, se existem documentos finais criados com este documento que causa a excepção como origem (seja por transformação ou cópia de linhas)
    1 dia e 13 horas
    ricardogiro
      Pensei que pudesse estar correcto visto que realmente tinha estado a testar algumas faturas que tinham sido transformadas e que pudesse estar relacionado com isso. No entanto acabei de criar uma VFA do zero, simples, com artigo serviço e também dá o erro na aprovação. Vou tentar verificar directamente com a Primavera para tentar resolver o problema e perceber qual o erro. Obrigada pela ajuda!
      14 horas e 27 minutos
      sratobubblevelcom
        0
        Resposta privada

        Obrigada pela ajuda Ricardo.

        Em debug ele quebra no motor actualiza, com o erro no print.

        Fazendo a query nos pendentes com os dados copiados do objecto docTransf o documento aparece.

        Faça login para poder traduzir
        Marcado como spam
        Criado há 1 dia e 18 horas sratobubblevelcom
          0
          Resposta privada

          Com o debugger não consegue ir até onde ele está a rebentar? Ou o documento não está em estado pendente por alguma razão, ou realmente ele não encontra (por exemplo espaço em branco e afins).

          Se precisar de ajuda a usar o debugger no Primavera avise

          Faça login para poder traduzir
          Marcado como spam
          Criado há 1 dia e 18 horas ricardogiro
          ricardogiro Responsiveness Member