Fórum
Ver pergunta

ERRO AO VALIDAR LINHAS DAS COMPRAS   

102 visualizações
0
0

Saudações,

Elaborei o seguinte codigo no editor de compras:

 

if(strTipoDoc.Substring(0, 1)==”E” || strTipoDoc.Substring(0, 1) == “O”)
{
object objNumdoc = this.DocumentoCompra.NumDoc;

try
{
this.DocumentoCompra.Linhas.GetEdita(NumLinha).CamposUtil[“Cdu_OC”].Valor = this.DocumentoCompra.Tipodoc;
}
catch
{
BSO.DesfazTransaccao();

}}}

 

O codigo funciona quando tenho mais de uma linha no documento, quando é preenchida somente a primeira linha da o erro em anexo.

Faça login para poder traduzir
V10
Anexos:
Marcado como spam
3 respostas
0
Resposta privada

Consegues especificar em que evento estás a utilizar o código descrito?

Faça login para poder traduzir
Marcado como spam
Criado há 1 ano e 8 meses brunosilva
brunosilva Iniciante
    Comentários
    O ValidaLinha.
    1 ano e 8 meses
    lucndriodelurdesftquinhentos
      0
      Resposta privada

      O problema está provavelmente na variável "NumLinha".

      A certa altura ela está a assumir um valor que é invalido como indice das linhas.

      Faça login para poder traduzir
      Marcado como spam
      Criado há 1 ano e 8 meses jorgeoliveira
      jorgeoliveira Responsiveness Member
        0
        Resposta privada

        Olá.

        O Jorge Oliveira deve ter razão.

        Faz assim:

        Onde tens isto: "object objNumdoc = this.DocumentoCompra.NumDoc;", substitui por isto: "var objNumdoc = this.DocumentoCompra.NumDoc;"

        Depois, em vez do teu try..catch, coloca esta condição:

        if (var != null)

        {

        ...

        }

        Faça login para poder traduzir
        Marcado como spam
        Criado há 1 ano e 8 meses ricardorodrigues
          Comentários
          Bom dia, Continua a dar o mesmo erro.
          1 ano e 8 meses
          lucndriodelurdesftquinhentos
            Olá. Então, deve ser porque não tens linhas, mas está a fazer código presumindo que tens. Envolve o teu if em algo tipo :"id (this.DocumentoCompra.Linhas != null)".
            1 ano e 8 meses
            ricardorodrigues