crisvam Posted August 6, 2021 Report Share Posted August 6, 2021 Boia Noite colegas, alguém poderia me informar onde encontro o arquivo VoNfeCertsign.in que é gerado pela classe do Gilmer? Agradeço a todos ante Quote Link to comment Share on other sites More sharing options...
aferra Posted August 7, 2021 Report Share Posted August 7, 2021 Boa tarde. Procure na classe vonfeutil2g.prg, mas, senão me engano, é salvo na pasta c:\windows Quote Link to comment Share on other sites More sharing options...
crisvam Posted August 10, 2021 Author Report Share Posted August 10, 2021 obrigado aferra, vou verificar Quote Link to comment Share on other sites More sharing options...
crisvam Posted August 16, 2021 Author Report Share Posted August 16, 2021 Alguém poderia, por obséquio, me informar como faço para verificar se os dados do certificado estão no arquivo. Estou com um problema, toda vez que vou enviar uma NFe é preciso pegar o nome do certificado do repositorio do Windows. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 17, 2021 Report Share Posted August 17, 2021 Você registrou o CERTIFICADO no diretório Raiz? Quote Link to comment Share on other sites More sharing options...
aferra Posted August 17, 2021 Report Share Posted August 17, 2021 pelo que estou entendendo é que vc não está salvando, assim que pega o certificado, no arquivo .ini. ou não tem acesso para salvar no arquivo .ini. Quote Link to comment Share on other sites More sharing options...
EDUTEK Posted August 17, 2021 Report Share Posted August 17, 2021 isso ai, eu crio um arquivo ini para cada certificado instalado Quote Link to comment Share on other sites More sharing options...
infosys2 Posted August 18, 2021 Report Share Posted August 18, 2021 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. //----------------------------------------------------------------------------// Quote Link to comment Share on other sites More sharing options...
crisvam Posted August 23, 2021 Author Report Share Posted August 23, 2021 Colegas, Alguem tem um arquivo vonfecertsign.in funcionando que poderia me enviar? cnacris@gmail.com. Não consigo gravar os dados do certificado no arquivo que tenho Agradeço antecipadamente Cristovam Nunes Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 23, 2021 Report Share Posted August 23, 2021 // 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. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 23, 2021 Report Share Posted August 23, 2021 Uma Imagem fala por si... -> <Manutenção> -> <Trocar Certificado Digital>: Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.