Fórum
Ver pergunta

Obter código AT Guias de Remessa/Transporte V10   

236 visualizações
1
♥ 0

Como é que obtenho através dos motores de integração o código AT nas guia de transporte na V10.

Consigo gravar com sucesso a guia de remessa/transporte no primavera mas verifico que nunca me obtém o código da AT, através do motor, existe alguma maneira de forçar isso?

Ou qual o procedimento correto para obtenção do código.

Obrigado

 

Pegando no vosso exemplo, grava o documento correctamente mas não obtém o código AT.

        private void CmdSave_Click(object sender, EventArgs e)
        {
            VndBEDocumentoVenda invoice = new VndBEDocumentoVenda();
            string strAvisos = string.Empty;

            invoice.Tipodoc = "GR";
            invoice.Entidade = txtEntidade.Text;
            invoice.TipoEntidade = "C";
            invoice.Serie = "2020";
            try
            {
                PriEngine.Engine.Vendas.Documentos.PreencheDadosRelacionados(invoice);
                if (listView1.Items.Count > 0)
                {
                    foreach (ListViewItem item in listView1.Items)
                    {
                        VndBELinhasDocumentoVenda linhas = new VndBELinhasDocumentoVenda();
     
                        double qtd = Convert.ToDouble(item.SubItems[1].Text);
                        PriEngine.Engine.Vendas.Documentos.AdicionaLinha(invoice, item.SubItems[0].Text, ref qtd);
                    }

                    if (txtobs.Text.Length > 0)
                    {
                        PriEngine.Engine.Vendas.Documentos.AdicionaLinhaEspecial(invoice, vdTipoLinhaEspecial.vdLinha_Comentario, 0, txtobs.Text);
                    }
                }
                else
                {
                    MessageBox.Show("There are no items.");
                }

                PriEngine.Engine.Vendas.Documentos.CalculaValoresTotais(invoice);
                PriEngine.Engine.Vendas.Documentos.Actualiza(invoice, ref strAvisos);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Unable to save document. \n" + ex.Message);
            }
        }

 

 

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 6 anos e 8 meses jorge
j
jorge Jorge Iniciante
Comentários
Conseguiste resolver?
4 anos e 11 meses
paulosantosdacunha
    Procedimento: 1) Criar guia (obj doc venda) 2) criar um objecto para comunicação no final da criação da guia. TTEBEATTransacao objTTEAT = new ITTEBEATTransacao(); objTTEAT.(...) EstadoActual(...).TTEATEstadoTransaccao.PorEnviar); TipoDocumentoLog((...)TTEATTipoDocumentoLog.Transporte); (preencher o objecto com esses dois campos específicos) MotorLP.TransaccoesElectronicas.ATTransacoes.Actualiza(objTTEAT); MotorLP.TransaccoesElectronicas.ATTransacoes.EnviaTransacaoID(objTTEAT.get_Id()); (A tabela no ERP onde é inserido o registo transAT )
    4 anos e 10 meses
    paulosantosdacunha
      Boa noite. Ando às voltas com isto. Não consigo que fale constante. Alguns documentos aparecem na tabela, outros não. É V9 ainda. If MotorErp.Comercial.Series.DaValorAtributo("V", DocumentoVenda.Tipodoc, DocumentoVenda.Serie, "TipoComunicacao").ToString = "2" Then MotorErp.Comercial.Vendas.ActualizaEstadoEnvioAT(DocumentoVenda.ID, EnumATTrataTrans.Enviado) MotorErp.Comercial.Internos.ATComunicaDocumentoId(DocumentoVenda.ID, "V", StrErrosAvisosAT) If Not String.IsNullOrEmpty(StrErrosAvisosAT) Then StrErrosAvisosAT = String.Format("Comunicação à AT com o(s) seguinte(s) erros(s)/avisos(s):{0}{1}.{0}Obtenha mais opções/informações através do ERP.", vbNewLine, StrErrosAvisosAT) End If End If DocumentoVenda.ATDocCodeID sempre vazia.
      3 anos e 4 meses
      josealbuquerque
        3 respostas
        -1
        Resposta privada

        Boas.

         

        Vê lá se entendes só com este troço de código:

                            'o documento/série estão configurados para comunicar transporte à AT???
                            If GSV_Motor.Base.Series.DaValorAtributo("V", ObjDocVenda.Tipodoc, ObjDocVenda.Serie, "TipoComunicacao").ToString = "2" Then
                                GSV_Motor.Vendas.Documentos.ActualizaEstadoEnvioAT(ObjDocVenda.ID, BasBE100.BasBETiposGcp.EnumATTrataTrans.Enviado)
                                GSV_Motor.Internos.Documentos.ATComunicaDocumentoId(ObjDocVenda.ID, "V", StrErrosAvisosAT)
                                If Not String.IsNullOrEmpty(StrErrosAvisosAT) Then
                                    StrErrosAvisosAT = String.Format("Comunicação à AT com o(s) seguinte(s) erros(s)/avisos(s):{0}{1}.{0}Obtenha mais opções/informações através do ERP.", vbNewLine, StrErrosAvisos)
                                End If
                            End If

         

         

        Faça login para poder traduzir
        Marcado como spam
        Criado há 6 anos e 2 meses ricardorodrigues
        r
        ricardorodrigues Ricardo Rodrigues Iniciante
          0
          Resposta privada
          Marcado como spam
          Criado há 6 anos e 8 meses jorge
          j
          jorge Jorge Iniciante
            -2
            Resposta privada

            Bom dia

            Na documentação da API disponvél no developer network na secção de documentação da API do ERP V10 se fizer uma pesquisa por "código" vai encontrar no BEDocumentoVenda a propriedade "ATDocCodeID".

            https://v10api.primaverabss.com/html/api/marketing_vendas/VndBE100.VndBEDocumentoVenda.html

            Faça login para poder traduzir
            Marcado como spam
            Criado há 6 anos e 8 meses sergiosereno
            sergiosereno sergio sereno Most Valuable Professional
              Comentários
              Bom dia Sr. Sereno O meu problema não é aceder ao campo do código da AT "ATDocCodeID", o meu problema é que esse campo "ATDocCodeID" nunca obtém o código da AT. Depois da gravação está sempre vazio! No código exemplo de gravação da Guia de Remessa, será que falta lá alguma instrução para forçar o pedido do código ao webservice da AT. Após a gravação do documento através do motor de integração, se for a Gestão Comercial na Aplicação Desktop do Primavera e clicarem gravar nesta guia ele obtém logo o código, só pelo motor é que não consigo. Obrigado
              6 anos e 8 meses
              jorge