FAQs - Suporte técnico

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Envio de relatório TReport via e-mail em formato planilha

Dúvida
Assim como por meio da interface gráfica é possível fazer o envio de um relatório via e-mail em formato planilha, é possível fazê-lo apenas utilizando a classe TReport()?

Ambiente
Cross Segmento - TOTVS Backoffice Linha Protheus – ADVPL – A partir da versão 12.1.17

Solução

  1. Atribua a propriedade lExcelByEmail com valor .T.
  2. Defina um nome para o arquivo com a propriedade cFile
  3. Utilize o método Print() com conteúdo .F.
  4. Informe a constante IMP_EXCEL no método SetDevice()
  5. Adicione um ou mais e-mails (separado por ponto e vírgula) na propriedade cEmail


Exemplo

// BIBLIOTECAS NECESSÁRIAS
#Include "TOTVS.ch"
#Include "REPORT.ch"

// SIMULA A EXECUÇÃO VIA JOB
User Function T248START()
    StartJob("U_T248XMLRPT", GetEnvServer(), .T.)
Return (NIL)

// FUNÇÃO PRINCIPAL
User Function T248XMLRPT()
    Local oReport := NIL // OBJETO TREPORT
    Local oSA1    := NIL // SEÇÃO SA1
    Local oBreak  := NIL // QUEBRA DE PÁGINA

    RPCSetEnv("99", "01", /*cUserId*/, /*cPasswd*/, "FIN"// PREPARAÇÃO DE AMBIENTE (COMENTAR SE VIA GUI)
        // INSTANCIAÇÃO DE VARIÁVEL OREPORT
        DEFINE REPORT oReport NAME "REPORT1" TITLE "Relatorio de Clientes" PARAMETER "REPORT" ACTION {|oReportPrintReport(oReport)}

        
// DEFINIÇÃO DA SEÇÃO OSA1
        DEFINE SECTION oSA1 OF oReport TITLE "Cliente" TABLES "SA1"
            DEFINE CELL NAME "A1_COD"  OF oSA1 ALIAS "SA1"
            DEFINE CELL NAME "A1_NOME" OF oSA1 ALIAS "SA1"
            DEFINE CELL NAME "A1_VEND" OF oSA1 ALIAS "SA1"
        DEFINE BREAK oBreak OF oSA1 WHEN oSA1:Cell("A1_VEND")

        DEFINE FUNCTION FROM oSA1:Cell("A1_COD"FUNCTION COUNT BREAK oBreak

        oReport:nRemoteType   := NO_REMOTE
        oReport:lExcelByEmail := .T.
        oReport:cEmail        := "guilherme.bigois@totvs.com.br"
        oReport:cFile         := "RELATORIO"

        oReport:SetDevice(IMP_EXCEL)
        oReport:SetPreview(.F.)
        oReport:Print(.F.)
    RPCClearEnv() // ENCERRRA AMBIENTE (COMENTAR SE VIA GUI)
Return (NIL)

// DADOS DE EXIBIÇÃO
Static Function PrintReport(oReport)
    Local cAlias := Space(0// ALIAS TEMPORÁRIO

    // SE AMBIENTE IGUAL A TOPCONNECT
    #IFDEF TOP
        cAlias := GetNextAlias() // RECUPERA O PRÓXIMO ALIAS TEMPORÁRIO DO SISTEMA
        MakeSQLExp("REPORT")

        // INICIA QUERY PARA RETORNO DE DADOS
        BEGIN REPORT QUERY oReport:Section(1)
            BEGINSQL ALIAS cAlias
                SELECT A1_COD, A1_NOME, A1_VEND
                FROM %Table:SA1% SA1
                WHERE A1_FILIAL = %XFilial:SA1% AND SA1.%NotDel%
                ORDER BY A1_FILIAL, A1_VEND
            ENDSQL
        END REPORT QUERY oReport:Section(1)

        oReport:Section(1):Print(.F.)
    #ENDIF
Return (NIL)


Saiba mais
TReport

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _