Jump to content
Fivewin Brasil

VoNfeCertSign.ini


crisvam

Recommended Posts

Mais ou menos isto aqui que você fazer:


	private  cCertificado:=cLicenca:=nil

	ChamaVoNfeCertSign(@cCertificado,@cLicenca)

	//  Grava os dados do certificado aqui   
	if cademp->cnpj="99.999.888/0001-54"  .and. !file("VoNfeCertSign_empresa01.Ini")
         WritePProString( "CONFIGURACAO", "CERTIFICADO", oNFeUtil:cCertificado, "VoNfeCertSign_empresa01.Ini" )
		 
	elseif cademp->cnpj="99.999.888/0002-64"  .and. !file("VoNfeCertSign_empresa02.Ini")  
	     WritePProString( "CONFIGURACAO", "CERTIFICADO", oNFeUtil:cCertificado, "VoNfeCertSign_empresa02.Ini" )
	endif 
	
	
	
   //  valida o xml 	
   if !oNFeUtil:ValidaXml(cDocXml)
      oNfeUtil:End()
      return( .f.  )
   Endif


   faz todos os procedimentos restantes aqui 

   // Destroi o objeto 
   oNfeUtil:End()
   
   
   
   
   

//----------------------------------------------------------------------------//
Function ChamaVoNfeCertSign(cCertificado,cLicenca)
local narquivo:=nil


if alltrim(cademp->cnpj)="99.999.888/0001-54"  
   cCertificado := GetPvProfString( "CONFIGURACAO", "CERTIFICADO", "", "VoNfeCertSign_empresa01.Ini")
   cLicenca     := GetPvProfString( "CONFIGURACAO", "LICENCA", "", "VoNfeCertSign_empresa01.Ini")

elseif cademp->cnpj="99.999.888/0002-64"
	cCertificado := GetPvProfString( "CONFIGURACAO", "CERTIFICADO", "", "VoNfeCertSign_empresa02.Ini")
	cLicenca     := GetPvProfString( "CONFIGURACAO", "LICENCA", "", "VoNfeCertSign_empresa02.Ini")

endif 

Return .t.
//----------------------------------------------------------------------------//

 

 

Link to comment
Share on other sites

   // PARA LIMPAR OS DADOS DO CERTIFICADO VENCIDO E PODER GRAVAR O NOVO EU ACHO...
   // FAZ MUITO TEMPO QUE CRIEI SSAA POHHHA NAO LEMBRO MAIS... kkkkkkkkkkkkk
	   REDEFINE BUTTONBMP oTrocarCert ID 305 OF oDlgBtn                          ;
            ACTION( GRAVAR_CERTIFICADO() )
	   oTrocarCert:cToolTip := OemToAnsi( "Trocar Certificado Digital da NF-e." )
	//-> Gravacao do certificado de seguranca da nfe
FUNCTION GRAVAR_CERTIFICADO()
	   LOCAL oDlgCer, oFnt, oFont, IDCor, oManutencao, oTrocarCert, oSaida, oIco, ;
         lContinuar := .F., nKey := VK_RETURN, oGroup, oHand, cAlias, NOME_ARQ,;
         NREGISTRO, oBrush, oInstFlex, oProblemas, cInstFlex, cProblemas
	   DEFINE ICON oIco  NAME "ICONE"
   DEFINE FONT oFnt  NAME "Ms Sans Serif" SIZE 0,  14 BOLD
   DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -14 BOLD
	   DEFINE DIALOG oDlgCer  RESOURCE "DLG_GRAVAR_CERTIFICADO"            ;
          ICON oIco COLORS CLR_BLACK, CLR_WHITE TRANSPARENT
	   oDlgCer:lHelpIcon := .F.
	   For IDCor = 401 To 411 // Os ID's dos TEXTOS na DIALOG.
      REDEFINE SAY ID IDCor OF oDlgCer COLORS CLR_HRED, CLR_WHITE UPDATE FONT oFnt TRANSPARENT
   Next IDCor
	   REDEFINE SAY ID 412 OF oDlgCer COLORS CLR_HBLUE, CLR_WHITE UPDATE FONT oFnt TRANSPARENT
   REDEFINE SAY ID 420 OF oDlgCer COLORS CLR_BLACK, CLR_WHITE UPDATE FONT oFnt TRANSPARENT
	   REDEFINE BITMAP oHand ID 121 RESOURCE "HAND" OF oDlgCer ADJUST TRANSPARENT
	   REDEFINE BUTTONBMP oTrocarCert ID 301 OF oDlgCer                    ;
            ACTION( lContinuar := .T., oDlgCer:End() ) CANCEL
	   oTrocarCert:cToolTip := OemToAnsi( "Trocar Certificado Digital da NF-e." )
	   REDEFINE BUTTONBMP oSaida ID 302 OF oDlgCer ACTION( lContinuar := .F., oDlgCer:End() ) CANCEL
	   oSaida:cToolTip := OemToAnsi( "Saida - Exit - Cancelar" )
	   cInstFlex := ( "http://www.flexdocs.com.br/guiaNFe/certificado.cliente.html" )
	   REDEFINE BUTTONBMP oInstFlex ID 303 OF oDlgCer                            ;
            ACTION( ShellExecute(GetActiveWindow(),"open",'"'+cInstFlex+'"', 0) )
	   oInstFlex:cToolTip := "Instalação do Certificado Digital Cliente - Guia de Uso - Leia"
	   cProblemas := ( "http://www.flexdocs.com.br/guiaNFe/certificado.erro.html" )
	   REDEFINE BUTTONBMP oProblemas ID 304 OF oDlgCer                           ;
            ACTION( ShellExecute(GetActiveWindow(),"open",'"'+cProblemas+'"', 0) )
	   //Forbidden = Proibido.
   oProblemas:cToolTip := "Problemas com o Certificado Digital - FlexDocs - Leia"
	   SET FONT OF oTrocarCert TO oFont
   SET FONT OF oSaida      TO oFont
   SET FONT OF oInstFlex   TO oFont
   SET FONT OF oProblemas  TO oFont
	   ACTIVATE DIALOG oDlgCer CENTERED ON INIT( XFOCUS( oSaida ) )
	   oFnt:End()
   oFont:End()
	   DO CASE
   CASE NKEY == VK_ESCAPE .OR. GETKEYSTATE( VK_ESCAPE ) .OR. .NOT. lContinuar
	      lContinuar := .F.
	      RETURN NIL
	   ENDCASE
	   //-> Vai Gravar
   IF lContinuar
	      IF MsgNoYes( OemToAnsi( "MOTIVO DE SEGURAN€A:               " ) +CRLF+ ;
                                                                      +CRLF+ ;
                   OemToAnsi( "CONFIRMA TROCA DO CERTIFICADO?     " ) +CRLF+ ;
                                                                      +CRLF+ ;
                   OemToAnsi( "Se o Seu CERTIFICADO Realmente     " ) +CRLF+ ;
                   OemToAnsi( "Est  Vencido, Responda <S>im.      " ) +CRLF+ ;
                                                                      +CRLF+ ;
                   OemToAnsi( "<S>im Para Trocar o Certificado    " ) +CRLF+ ;
                   OemToAnsi( "<N>Æo Para NÆo Trocar o Certificado" ),       ;
                   OemToAnsi( "éltima Chance Para Desistir!!! " ) ) = .F.
	         RETURN( .F. )
	      ENDIF
	      SELECT CADPARAM
      GOTO 1
	      cAlias := ALIAS()
	      IF .NOT. CRLOCK()
	         MsgStop( "IMPOSSIVEL GRAVAR REGISTRO NO BANCO DE DADOS: ";
                  + cAlias + CRLF +                               ;
                  OemToAnsi( "Bloqueado Por Outro Usu rio " +     ;
                             "da Rede. VERIFIQUE!         " ),    ;
                             "ERRO FATAL DA REDE - CUIDADO!!" )
	         UNLOCK ALL
	         SELECT CADNFE
	         RETURN( .F. )
	      ENDIF
	      cCertificado := SPACE(250)
	      REPLACE CERTIF   WITH SPACE(250)
      REPLACE DTCERTIF WITH SPACE(20)
	      COMMIT
      UNLOCK
	      MsgInfo( OemToAnsi( "GRAVA€ÇO EFETUADA COM SUCESSO!!     " )+CRLF+   ;
               OemToAnsi( "Preciso Reiniciar o Programa,       " )+CRLF+   ;
               OemToAnsi( "Para Pegar as Novas Configura‡äes.  " )+CRLF+   ;
               OemToAnsi( "Tecle <ENTER> Para Continuar.       " ),        ;
               OemToAnsi( "Grava‡Æo Efetuada Com Sucesso!!     " ) )
	      //-> REBOOTAR
      //-> Para Derrubar o Dialogo e trazer a nova configura‡Æo
      AEVAL(DIRECTORY( "GERAPNFE.BAT"     ),{ |aFILE| FERASE(aFILE[F_NAME]) } )
	      IF !FILE( "GERAPNFE.BAT" )
	          NOME_ARQ := FCREATE("GERAPNFE.BAT")
	          NREGISTRO := "@ECHO OFF"                                          ;
                       + CRLF        +                                      ;
                       "CLS"         +                                      ;
                       + CRLF + CRLF +                                      ;
                       "C:\INST_NFE\GERAPNFE > NUL"  +                      ;
                       + CRLF + CRLF +                                      ;
                       "CLS"         +                                      ;
                       + CRLF        +                                      ;
                       "EXIT"
	          FWRITE( NOME_ARQ, NREGISTRO )
          FCLOSE( NOME_ARQ )
	      ENDIF
	      WinExec( "GERAPNFE.BAT", 0 )
	      DbCloseAll()
	      __Quit()
	   ELSE
	      MsgInfo( OemToAnsi( "NADA FOI GRAVADO PARA ESTE REGISTRO!" ),        ;
               OemToAnsi( "NADA FOI GRAVADO PARA ESTE REGISTRO!" ) )
	      UNLOCK ALL
	      SELECT CADNFE
	   ENDIF
	RETURN NIL
	// NO INIT DO DIALOGO OU ONDE ACHARES MELHOR... GRAVE NO BANCO DE DADOS.
	//-> FUNCAO PARA CHECAR A DATA DO CERTIFICADO IMPLEMENTADA EM: 29/01/2010 Joao
FUNCTION CHECA_DATA_CERTIFICADO()
	   LOCAL cChave, cXml, cGerado, cBackup, D_Ano := YEAR( DATE() ) // ANO DE TRABALHO ATUAL
   LOCAL cOperacao, nProtocolo, cDataNfe, cdataIniCertif, cdataFimCertif, ;
         cProblemas, nNumNfeMostra, nKey := VK_RETURN, lExiste, cAlias
   LOCAL dDataSite, dRetorno, dData1, dData2, dData3, dDataFin, cDeslMsgMemo
   LOCAL dDataDia, dDataMes, dDataAno, cCancNfDev, nNumPedid, aHrDt, cMemoria, ;
         nBytes, nKBytes, nMBytes, nGBytes, lFaltaMemoria := .F., cVerFlexs
	   PRIVATE xDLL, oGet, oSay, wDIA, wMES, wANO, wHOR, wMIN, wSEG
   PRIVATE lPartiuCertifFim := .F.
	   PUBLIC aResolucaoAtual, cEMailCli
	   // http://fivewin.com.br/index.php?/topic/23851-verificar-memoria-do-computador/
	   // Para Pegar a Versao da DLL da Flexdocs
   oNFEUtil:=tVoNFeUtil2G():New(CADPARAM->UF,val(cTpAmb),cCertificado,wProxy,wUsuario,wSenha,cLicenca,.t.)
	   IF( .NOT. oNfeUtil:lOkDll )
	      MsgInfo( ( "ATENÇÃO USUÁRIO:                                          " )+CRLF+ ;
               ( "VERSÃO DA DLL DA FLEXDOCS, ESTÁ INCORRETA OU AINDA NÃO FOI" )+CRLF+ ;
               ( "INSTALADA NOS REGISTROS DO WINDOWS.. INSTALE A DLL, OU:   " )+CRLF+ ;
               ( "ENTRE EM CONTATO COM O SUPORTE PARA RESOLVER.             " )+CRLF+ ;
               ( "TECLE <ENTER> PARA CONTINUAR...                           " ),      ;
               ( "DLL DA FLEXDOCS, INCORRETA OU NÃO REGISTRADA AINDA...     " ) )
	      cVerFlexs := OemToAnsi( "ESTµ INCORRETA." )
	   ELSE
	      // cVerFlexs := SUBST( oNfeUtil:Versao(), 1, 20 ) // v.07b
      cVerFlexs := SUBST( oNfeUtil:Versao(), 1, 19 )  // v.08
	      // ? cVerFlexs
	   ENDIF
	   nBytes  := nExtMem()
 
   nKBytes := nBytes / 1014
 
   nMBytes := nKBytes / 1024
 
   nGBytes := nMBytes / 1014
	   cMemoria := Trans( ( nExtMem() / ( 1024 * 1024 * 1024 ) ), "@E 999.99 GBs" )
	   // lFaltaMemoria := .T.  // TESTE
	   IF VAL(SUBSTR(CADPARAM->GRAVACAO, 22, 1 ) ) = 0  // 19/04/2018 Joao
      cDeslMsgMemo := 0 // MOSTRA A MENSAGEM DE MEMORIA INSUFICIENTE
   ELSE
      cDeslMsgMemo := VAL(SUBSTR(CADPARAM->GRAVACAO, 22, 1 ) )  // NAO MOSTRA
   ENDIF
	   IF lFaltaMemoria .AND. cDeslMsgMemo = 0
	      MsgWait( "MEMÓRIA RAM: "+cMemoria+" INSUFICIENTE. CHAME O TÉCNICO", ;
               "VERIFIQUE OS PENTES DE MEMÓRIA RAM DO SEU MICRO. "        ;
               + cMemoria, 2.5 )
	      lFaltaMemoria := .F.
	   ELSE
	      MsgWait( "VERIFICANDO CERTIFICADO DIGITAL DA SUA EMPRESA.", ;
               "MEMORIA DO SEU COMPUTADOR " + cMemoria, 1.5 )
	   ENDIF
	   nNumNfeMostra := 0
	   // Checar se a data do Computador esta menor que a data do CADNFE.DBF
   SELECT CADNFE
   GO BOTTOM
	   SEEK NFECOD2  //-> Posiciona o Cursor no banco de dados.
	   // GRAVAR OS DADOS DO CERTIFICADO DO CERTIFICADO DIGITAL.
   IF CADPARAM->DTCERTIF = SPACE(20)
	      //-> Pega o Certificado
      oNFEUtil:=tVoNFeUtil2G():New(CADPARAM->UF,val(cTpAmb),cCertificado,wProxy,wUsuario,wSenha,cLicenca,.F.)
	      DO CASE  //-> usuario teclou ESCAPE e Nao escolheu um Certificado Valido.
      CASE nKey == VK_ESCAPE .OR. GetKeyState( VK_ESCAPE ) .OR. ; //-> ESCAPE
                   LEN(ALLTRIM(oNFEUtil:cCertificado)) = 0  //-> Botao <Cancelar>
	         // CASO ALGUEM DESINSTALE A FLEXDOCS E TENTE INSTALAR O CERTIFICADO
         // DIGITAL, PARA O PROGRAMA NAO DIZER QUE CERTIFICADO EXPIROU. 12/03/2013
	         //-> Retorno do Erro: 8 -> cerificado expirado
         cProblemas := OemToAnsi( "CERTIFICADO DA NF-e EXPIRADO! "       +CRLF+ ;
                                  "Escolha o CERTIFICADO Para Ser "           + ;
                                  "Gravado no Banco de Dados. "               + ;
                                  "Saia e Entre de Novo no Programa. "   +CRLF+ ;
                                  "Hoje: " + DTOC( DATE() ) + " " +             ;
                                  "Data do Computador Est  Correta? "    +CRLF+ ;
                                  "Atendimento ao Cliente: "                  + ;
                                  "Das 9:00 as 13:00 e das 14:00 "            + ;
                                  "as 18:00 Hrs. "                       +CRLF+ ;
                                  "Vocˆ Pode Tamb‚m <Clickar> em: "           + ;
                                  "<Manuten‡Æo>, Depois <Click>em: "          + ;
                                  "<Trocar Certificado da NF-e>." )
	         cMensa    := cProblemas
	         cBackup := OemToAnsi( "Recomenda‡Æo:                        " +CRLF+CRLF+ ;
                               "Altamente recomend vel, que se fa‡a, "           + ;
                               "C¢pia de Seguran‡a(BACKUP) Di ria, "             + ;
                               "em um PENDRIVE. "                           +CRLF+ ;
                               "Vocˆ pode usar o BRAZIP.EXE ou o "               + ;
                               "WINZIP.EXE ou o PKZIP.EXE "                      + ;
                               "Estes compactadores de Arquivos, nÆo "           + ;
                               "gratuitos   podem ser(em) baixados "             + ;
                               "em: www.superdownloads.com.br "        +CRLF+CRLF+ ;
                               "Contato Sistemas e Processamentos @"             + ;
                               ALLTRIM( STR( D_ANO ) )                   + " - " + ;
                               "http://www.pleno.com.br "                   +CRLF+ ;
                               "Todos os direitos reservados." )
	
         cDetalhes := cbackup
	         oMensa:Refresh()
         oDetalhes:Refresh()
	         //-> Em: 29/01/2010
         //-> Desabilitar tudo, colocar j  na entrada do programa ON INIT Paulo
         IF FILE("C:\PLENOCBX\SFTIMPNF.PRG")
            lGerar      := .T.
         ELSE
            lGerar      := .F.
         ENDIF
	         lExecutaTudo   := .F.
         lLigaBtnEmail  := .F.
         lPreviewNf     := .F.
         lTransmite     := .F.
         lConsulta      := .F.
         lConsStatus    := .F.
         lDanfe         := .F.
         lVisualizaNfes := .F.
         lImprimiu      := .F.
         lCancela       := .F.
         lAlterarEmail  := .F.
         lSaida         := .T.
	         RETURN( .F. )
	      OTHERWISE  //-> usu rio Escolheu o Certificado e vai gravar
	         //-> venceu o Certificado
         IF CADPARAM->CERTIF=SPACE(250)              .AND. ;
            LEN(ALLTRIM(oNFEUtil:cCertificado))>0    .AND. ;
            LEN(ALLTRIM(oNFEUtil:cCertificado))<=250
	            SELECT CADPARAM
            RLOCK()
            REPL CERTIF   WITH ALLTRIM(oNFEUtil:cCertificado)
            REPL DTCERTIF WITH DTOC( oNFEUtil:dInicioValidade ) + ;
                               DTOC( oNFEUtil:dFimValidade    )
            COMMIT
            UNLOCK
	            cCertificado := ALLTRIM(CADPARAM->CERTIF)  //-> 27/01/2010 - Paulo
	         ELSE //-> Certificado nao venceu ainda e data Certif esta em branco
	            SELECT CADPARAM
            RLOCK()
	            REPL DTCERTIF WITH DTOC( oNFEUtil:dInicioValidade ) + ;
                               DTOC( oNFEUtil:dFimValidade    )
            COMMIT
            UNLOCK
	            cCertificado := ALLTRIM(CADPARAM->CERTIF)
	         ENDIF
	      ENDCASE
	      cdataIniCertif := oNFEUtil:dInicioValidade
      cdataFimCertif := oNFEUtil:dFimValidade
	   ELSE
	      cdataIniCertif := CTOD( SUBS( CADPARAM->DTCERTIF,  1,10 ) )
      cdataFimCertif := CTOD( SUBS( CADPARAM->DTCERTIF, 11,20 ) )
	   ENDIF
	   // MUDEI EM: 01/07/2020 - Joao - Apos pandemia, rever.
   IF DATE() < cdataIniCertif .OR. DATE() > cdataFimCertif
	      MsgStop ( OemToAnsi( "Aten‡Æo Usu rio:      VALIDADE     " ) +CRLF+ ;
                OemToAnsi( "O Certificado Est  Fora do Per¡odo " ) +CRLF+ ;
                                                                   +CRLF+ ;
                OemToAnsi( "CERTIFICADO DA NF-e ESTµ VENCIDO!! " ) +CRLF+ ;
                                                                   +CRLF+ ;
                OemToAnsi( "Para Troc -lo, <Click> no BotÆo:   " ) +CRLF+ ;
                OemToAnsi( "<Manuten‡Æo> e Execute a Rotina    " ) +CRLF+ ;
                OemToAnsi( "<Trocar Certificado Digital da NF-e.>" ) +CRLF+ ;
                                                                   +CRLF+ ;
                OemToAnsi( "Antes de Fazer Isto, Verifique     " ) +CRLF+ ;
                OemToAnsi( "Se a Data do Seu Computador, Est   " ) +CRLF+ ;
                OemToAnsi( "Correta. Estando Correta, Fa‡a.    " ),       ;
                OemToAnsi( "Certificado da NF-e Est  VENCIDO!!!" ) )
	      //-> Em: 29/01/2010
      //-> Desabilitar tudo
      IF FILE("C:\PLENOCBX\SFTIMPNF.PRG")
         lGerar      := .T.
      ELSE
         lGerar      := .F.
      ENDIF
	      lExecutaTudo   := .F.
      lLigaBtnEmail  := .F.
      lPreviewNf     := .F.
      lTransmite     := .F.
      lConsulta      := .F.
      lConsStatus    := .F.
      lDanfe         := .F.
      lVisualizaNfes := .F.
      lImprimiu      := .F.
      lCancela       := .F.
      lAlterarEmail  := .F.
      lSaida         := .T.
	      IF cdataFimCertif = CTOD( "  /  /  " )
	         //-> Retorno do Erro: 8 -> cerificado expirado
         cProblemas := OemToAnsi( "CERTIFICADO DA NF-e EXPIRADO! "+CRLF+ ;
                                  "<Click> no BotÆo: <Manuten‡Æo> " +    ;
                                  "Para Resolver o Problema. "      +    ;
                                  "Hoje: " + DTOC( DATE() ) )
	      ELSE
	         cProblemas := OemToAnsi( "CERTIFICADO DA NF-e EXPIRA EM: " + ;
                       DTOC( cdataFimCertif )                  +CRLF+ ;
                       "Parƒmetros: N§. da éltima NF-e: "           + ;
                       STRZERO( CADPARAM->NFECOD ) )
	      ENDIF
	      cMensa    := cProblemas
	      cBackup := OemToAnsi( "Recomenda‡Æo:                        " +CRLF+CRLF+ ;
                            "Altamente recomend vel, que se fa‡a, "           + ;
                            "C¢pia de Seguran‡a(BACKUP) Di ria, "             + ;
                            "em um PENDRIVE. "                           +CRLF+ ;
                            "Vocˆ pode usar o BRAZIP.EXE ou o "               + ;
                            "WINZIP.EXE ou o PKZIP.EXE "                      + ;
                            "Estes compactadores de Arquivos, nÆo "           + ;
                            "gratuitos   podem ser(em) baixados "             + ;
                            "em: www.superdownloads.com.br "        +CRLF+CRLF+ ;
                            "Contato Sistemas e Processamentos @"             + ;
                            ALLTRIM( STR( D_ANO ) )                   + " - " + ;
                            "http://www.pleno.com.br "                   +CRLF+ ;
                            "Todos os direitos reservados." )
	
      cDetalhes := cbackup
	      oMensa:Refresh()
      oDetalhes:Refresh()
	      RETURN( .F. )
	   ELSE
	      IF cDataFimCertif - DATE() <= 8
	         MsgInfo( "O SEU CERTIFICADO DIGITAL ESTÁ PRÓXIMO DO VENCIMENTO!   "+CRLF+ ;
                  "EXPIRA EM: " + DTOC( cdataFimCertif ) + "."              +CRLF+ ;
                  "PROVIDENCIE O MAIS RÁPIDO POSSÍVEL O SEU CERTFIFICADO   "+CRLF+ ;
                  "DIGITAL NOVO URGENTEMENTE!           FAVOR PROVIDENCIAR."+CRLF+ ;
                  "NÃO DEIXE VENCER O SEU CERTIFICADO DIGITAL.     CUIDADO!"+CRLF+ ;
                  "VOCÊ TEM 7 DIAS PARA PROVIDENCIAR O CERTIFICADO DIGITAL."+CRLF+ ;
                  "TECLE <ENTER> PARA CONTINUAR...                         ",      ;
                  "O Certificado Digital Está Próximo do Vencimento! " )
	      ENDIF
	      SELECT CADNFE // alterado aqui -> 23/11/2012
	      IF CADPARAM->TPAMB = [1]  // em producao
         SET ORDER TO 03  // POR NFECOD
      ELSE
         SET ORDER TO 01  // POR FATURCOD
      ENDIF
      //****************************** ate aqui
	      // NC = CANCELAMENTO POR VENDA
      IF SUBS(cWNF_I_F,1,2) = "NC" .OR. SUBS(cWNF_I_F,1,2) = "PC"
	         NFECOD2 := NFECOD2  // NADA A FAZER
	         // PEDIDCOD2 := VAL(SUBS(cWNF_I_F,3,6))
         nNumPedid := VAL( SUBS( cWNF_I_F, 3, 6 ) )
	      ELSE  // MOSTRAVA O NUMERO DA NF-E NO GET, RETIREI P/NAO CONFUNDIR.
	         //NFECOD2 := CADPARAM->NFECOD  // ERA ASSIM...
         nNumNfeMostra := CADPARAM->NFECOD
	         SEEK nNumNfeMostra
	         nNumPedid := CADNFE->PEDIDCOD
	      ENDIF
	      cProblemas := OemToAnsi( "O SEU CERTIFICADO DIGITAL EXPIRA EM: " + ;
                    DTOC( cdataFimCertif )                  +CRLF+ ;
                    "PAR¶METROS: NéMERO DA éLTIMA NF-e: "        + ;
                    STRZERO( CADPARAM->NFECOD )          + " - " + ;
                    "N§. PEDIDO: " + STR( nNumPedid ) )
	      // 2Gv2.07b - 04/01/2016
      // 2Gv2.08  - 18/07/2017 NOVA DLL DA FLEXDOCS
      cMensa    := cProblemas                                           +CRLF+ ;
                   OemToAnsi( "VERIFIQUE O PRAZO DE CANCELAMENTO DA NF-e. " +  ;
                              "         FLEXDOCS: " + cVerFlexs         +CRLF+ ;
                              "PARA CANCELAR NF-E ENTRADA POR DEVOLU€ÇO: " )
	      cBackup := OemToAnsi( "RECOMENDA€ÇO:                        " )
	      cDetalhes := cbackup
	      oMensa:Refresh()
      oDetalhes:Refresh()
	      cRetorno := OemToAnsi( "PARA CANCELAR A NF-e: <ENTRADA POR DEVOLU€ÇO>: " )
      xRecibo  := OemToAnsi( "DIRETO NO ÖCONE DA NF-e. " )
	      oRetorno:Refresh()
      oRecibo:Refresh()
	   ENDIF
	   // PROBLEMAS NA SILCO(PROVAVEL VIRUS) - MUDEI EM: 30/06/2015
   IF .NOT. lIsDir( "C:\PLENOTMP" ) // Diretorio TEMPORARIO do PLENO
	      MsgWait( "AGUARDE, CRIANDO A PASTA: C:\PLENOTMP", ;
               "AGUARDE UM MOMENTO POR FAVOR...      ", 2.5 )
	      lMkDir( UPPER( "C:\PLENOTMP" ) )
	   ENDIF
	   // LANDIPE / NOVA CESTA - USA NOTEBOOK NAO TEM TECLADO NUMERICO
   IF VSIS != "01149" // LANDIPE, NAO LIGAR O NUM LOCK DO TECLADO(NOTE)
      SETNUMLOCK( .F. )
      //? "Desligando o NumLock"  // ESTA EM NUM_CAPS.PRG/E AQUI MESMO.
      SETNUMLOCK( .T. )
   ENDIF
	   cEMailCli := SPACE(50)  // mudei para enviar no RMAIL.PRG
   // cEMailCli := "Digite o Email da Sua Empresa Para Resposta" + SPACE(07)
	   IF FILE( "EMPRESA.DBF" ) // INCLUIDO EM: 19/07/2016 - Joao
	      USE EMPRESA ALIAS EMPRESA NEW
      GO TOP
	      cAlias := ALIAS()
	      IF .NOT. EMPTY( ( cAlias )->EMAIL )
	         // Email do cliente para resposta do Suporte. 20/07/2016 - Joao
         cEMailCli := ( cAlias )->EMAIL
	         // ? cEMailCli
	      ENDIF
	      CLOSE( cAlias )
	      SELECT CADNFE 
	   ENDIF
	RETURN( .T. )
	/*
  // ARQUIVO.RC
	DLG_GRAVAR_CERTIFICADO DIALOG 153, 66, 350, 230
STYLE DS_ABSALIGN | DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "PLENOWIN - Trocar Certificado Digital da NF-e Por Um Novo. Leia-me."
FONT 8, "MS Sans Serif"
	{
 PUSHBUTTON "&Confirme a Troca do Certificado  Digital", 301, 69, 170, 200, 16
 PUSHBUTTON "&Saida", 302, 271, 170, 50, 16
 PUSHBUTTON "&Instalação do Certificado Digital Cliente - Leia-me", 303, 69, 188, 252, 16
 PUSHBUTTON "&Problemas com o Certificado Digital    -    Leia-me", 304, 69, 207, 252, 16
 LTEXT "CONSIDERAÇÕES PRELIMINARES, VERIFIQUE OS PASSOS A SEGUIR:", 401, 47, 5, 296, 12, NOT WS_GROUP
 LTEXT "SE VOCÊ FEZ A INSTALAÇÃO DO CERTIFICADO DIGITAL SEGUINDO AS", 402, 47, 18, 296, 12, NOT WS_GROUP
 LTEXT "INSTRUÇÕES DA SUA CONTABILIDADE, OU DA SUA CERTIFICADORA,", 403, 47, 31, 296, 12, NOT WS_GROUP
 LTEXT "ANTES DE CONFIRMAR A TROCA DO CERTIFICADO DIGITAL, VERIFIQUE:", 404, 47, 44, 296, 12, NOT WS_GROUP
 LTEXT "ENTRE NO INTERNET EXPLORER, ANOTE AS INSTRUÇÕES:", 405, 47, 57, 296, 12, NOT WS_GROUP
 LTEXT "ENTRE EM: <Ferramentas(Alt+X)> DO INTERNET EXPLORER.", 406, 47, 70, 296, 12, NOT WS_GROUP
 LTEXT "ENTRE EM: <Opções da Internet> DO INTERNET EXPLORER.", 407, 47, 83, 296, 12, NOT WS_GROUP
 LTEXT "ENTRE EM: <Botão: Conteúdo> DO INTERNET EXPLORER.", 408, 47, 96, 296, 12, NOT WS_GROUP
 LTEXT "ENTRE EM: <Botão: Certificados> DO INTERNET EXPLORER.", 409, 47, 109, 296, 12, NOT WS_GROUP
 LTEXT "EXCLUA TODOS OS CERTIFICADOS DIGITAIS VENCIDOS(EXPIRADOS).", 410, 47, 122, 296, 12, NOT WS_GROUP
 LTEXT "DEIXE NO REPOSITÓRIO DO INTERNET EXPLORER, APENAS O NOVO.", 411, 47, 135, 296, 12, NOT WS_GROUP
 CTEXT "CONFIRMA A TROCA DO CERTIFICADO DIGITAL POR UM NOVO?", 412, 48, 154, 296, 12, SS_CENTER | NOT WS_GROUP
 LTEXT "<ESC> Sair", 420, 5, 215, 60, 14, NOT WS_GROUP
 CONTROL "TBitMap", 121, "TBitMap", WS_CHILD | WS_VISIBLE, 3, 2, 40, 40
}
	*/
	

Duvida, grite ALTO!
 

Abs.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...