Fórum
Ver pergunta

Imprimir documento de CCT pelos motores API   

121 visualizações
0
0

Bom dia,

Tenho um projeto que processa recibos de uma lista. No final de gerar o recibo gostaria de imprimir o mesmo. Nas Vendas existe a Função BSO.Vendas.Documentos.ImprimeDocumento(documento.Tipodoc, documento.Serie, documento.NumDoc, “000”);, como faço para imprimir nas Contas Correntes?

Obrigado.

 

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 1 ano e 3 meses paulofaria
p
paulofaria Iniciante
1 respostas
2
Resposta privada

Olá @paulofaria,

O seguinte exemplo é um excerto de código meu que exporta recibos para PDF, e com muito poucos ajustes pode ser usado para imprimir:

ErpBS100.ErpBS _ERPBS;

// nesta linha foi omitida a abertura do motor, etc

_ERPBS.DSO.Plat.Mapas.Inicializar("CCT");

strSelFormula = "{Cabliq.NumDoc}=" + row["numdoc"].ToString() + " and ";
strSelFormula += "{Cabliq.TipoDoc}='" + row["tipodoc"].ToString() + "' and ";
strSelFormula += "{Cabliq.Serie}='" + row["serie"].ToString() + "'";

_ERPBS.DSO.Plat.Mapas.AddFormula("NomeLicenca", "'" + _ERPBS.Licenca.Nome + "'");
strFormula = "StringVar CapitalSocial:='" + _ERPBS.Contexto.ICCapitalSocial + "';";
strFormula += "StringVar Morada:='" + _ERPBS.Contexto.IDMorada + "';";
strFormula += "StringVar Localidade:='" + _ERPBS.Contexto.IDLocalidade + "';";
strFormula += "StringVar CodPostal:='" + _ERPBS.Contexto.IDCodPostal + "';";
strFormula += "StringVar Telefone:='" + _ERPBS.Contexto.IDTelefone + "';";
strFormula += "StringVar Contribuinte:='" + _ERPBS.Contexto.IFNIF + "';";
strFormula += "StringVar Conservatoria:='" + _ERPBS.Contexto.ICConservatoria + "';";
strFormula += "StringVar Matricula:='" + _ERPBS.Contexto.ICMatricula + "';";
strFormula += "StringVar MoedaCapitalSocial:='" + _ERPBS.Contexto.ICMoedaCapSocial + "';";
strFormula += "StringVar Nome:='" + _ERPBS.Contexto.IDNome + "'";

_ERPBS.DSO.Plat.Mapas.SetFormula("DadosEmpresa", strFormula);
_ERPBS.DSO.Plat.Mapas.SelectionFormula = strSelFormula;

// Destino para ficheiro PDF
_ERPBS.DSO.Plat.Mapas.Destino = StdBSTipos.CRPEExportDestino.edFicheiro;
_ERPBS.DSO.Plat.Mapas.TipoFolha = StdBSTipos.CRPETipoFolha.tfA4;
_ERPBS.DSO.Plat.Mapas.SetFileProp(StdBSTipos.CRPEExportFormat.efPdf, $"{item.nome}.pdf");

strReport = _ERPBS.Base.Series.DaConfig("M", item.Documento, item.Serie);
_ERPBS.DSO.Plat.Mapas.ImprimeListagem(strReport, "Recibo", "P", 1, "N", strSelFormula, blnModal:false);

dicas:
- modifica o destino na linha "...Mapas.Destino=",
- omite a linha "...Mapas.SetFileProp" e
- ajusta os parâmetros do método "ImprimeListagem".

Deve dar para chegar lá ;-)

Espero que ajude!

----------
PS: Não esquecer de votar e marcar a resposta como certa, se for o caso. Obrigado!

Faça login para poder traduzir
Marcado como spam
Criado há 1 ano e 3 meses emiliosusavila
emiliosusavila Responsiveness Member
    Comentários
    Bom dia, Desde já agradeço a sua resposta. Testei a sua opção e imprimiu mas sem o QRcode e o Atcud, Verifiquei que no FORUM já existam soluções mais simples para imprimir. A função 'BSO.Base.FuncoesGlobais.ImprimeDocumento(ConstantesPrimavera100.Modulos.ContasCorrentes, tipodoc, serie, numdoc, "000"); ' permite imprimir os documentos CCT gerados pela integração, sendo mais simples e direta a sua implementação. Obrigado
    1 ano e 3 meses
    paulofaria
      Ok @paulofaria, é bom saber que há formas mais simples. Obrigado.
      1 ano e 3 meses
      emiliosusavila
        Olá @emiliosusavila obrigado pela asua resposta, estou tentando usar esta função para gerar PDF de facturas, a função executa sem algum erro mas não consigo encontrar ou definir o caminho/destino para o ficheiro. Podes me ajudar?
        1 ano e 3 meses
        heltonfurau
          Olá @heltonfurau , Na instrução SetFileProp, podes identificar o caminho completo com o nome do ficheiro, e grava onde quiseres. Também aceita caminhos UNC, pelo que grava em unidades de rede.
          1 ano e 3 meses
          emiliosusavila
            @emiliosusavila, muito obrigado!! Funcionou exactamente como esperado.
            1 ano e 3 meses
            heltonfurau
              @heltonfurau de nada! não esqueças de acrescentar o teu voto positivo à resposta... eu agradeço.
              1 ano e 3 meses
              emiliosusavila
                @emiliosusavila, acrescentava +100 se pudesse rsrsrs, estou com esse problema há dias. Em todo caso já acrescentei, obrigado.
                1 ano e 3 meses
                heltonfurau