Fórum
Ver pergunta

Como reimprimir apenas o Triplicado de um documento de venda   

11 visualizações
1
♥ 0

Boa tarde, é possível reimprimir apenas o Triplicado de um documento de venda através de extensibilidade? Ou seja o que eu precisava era de após gravação de um documento e impressão do original e duplicado, imprimir o triplicado usando outro mapa…

Obrigado.

Faça login para poder traduzir
Integração
V10
Mapas e Relatórios
Marcado como spam
Criado há 1 semana e 3 dias brunogomes
brunogomes Bruno Gomes Most Valuable Professional
1 respostas
1
Resposta privada

Boa tarde. Sim, é possível. Exemplo testado no Evolution 10.0020:

using Primavera.Extensibility.BusinessEntities.ExtensibilityService.EventArgs;
using Primavera.Extensibility.Sales.Editors;

public class UiEditorVendas : EditorVendas
{
    private const string MapaTriplicado = "GCPVTR01"; // máx. 8 caracteres
    private bool primeiraImpressao;

    public override void AntesDeImprimir(ref bool Cancel, ExtensibilityEventArgs e)
    {
        base.AntesDeImprimir(ref Cancel, e);
        // Só na 1.ª impressão do documento (reimpressões não imprimem o triplicado)
        primeiraImpressao = DocumentoVenda != null && !DocumentoVenda.DocImpresso;
    }

    public override void DepoisDeImprimir(string Filial, string Tipo, string Serie, int NumDoc, ExtensibilityEventArgs e)
    {
        base.DepoisDeImprimir(Filial, Tipo, Serie, NumDoc, e);
        if (!primeiraImpressao) return;
        primeiraImpressao = false;

        // 1 via com o mapa do triplicado
        BSO.Vendas.Documentos.ImprimeDocumento(Tipo, Serie, NumDoc, Filial, 1, MapaTriplicado);
    }
}

Notas:

  • Mapa: o ImprimeDocumento não deixa escolher a via inicial; com 1 via sai sempre "Original". Por isso o mapa do triplicado é uma cópia do mapa da série (por exemplo GCPVLS01) em que o campo da via, {@NumVia}, passa a {SeriesVendas.DescricaoVia03}.
  • Registo do mapa:
    • Nome com no máximo 8 caracteres.
    • Ficheiro em SG100\Mapas\EV\NOVOS\.
    • Registado em PRIEMPRE.Mapas com Apl=VND, Categoria=DocVenda e Custom=1. Sem registo dá "O Mapa 'X' não existe.".
  • Impressão no editor: o editor de vendas não imprime automaticamente ao gravar. Por isso usámos AntesDeImprimir/DepoisDeImprimir e não DepoisDeGravar.
  • Âmbito do teste: no editor testámos com Fatura Simplificada. Faturas (FA) e Faturas-Recibo (FR) não foram testadas no editor.
Faça login para poder traduzir
Marcado como spam
Criado há 1 semana e 1 dia ruifaial-2
r
ruifaial-2 Rui Faial Iniciante
    Comentários
    Wow não fazia ideia. Um bocado chato ter de ser duplicar um mapa e dar hardcode à descrição da via. Mas bem achado!
    1 dia e 8 horas
    ricardogiro