Jump to content
Fivewin Brasil

leo@lhsistemas.com

Membros
  • Posts

    99
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by leo@lhsistemas.com

  1. Bom dia a TODOS.

    Estou precisando gerar PDF pela PRINTER sem a necessidade de abrir aquelas janelas do PDFCREATOR/MICROSOFT PDF/CUTEPDF para o usuário ficar escolhendo a pasta e nome do arquivo a gerar.

    Alguém que tenha essa rotina pode me ajudar em compartilhar.

     

    Abraços a TODOS!

  2. Vitor, bom dia.

    Tenho as soluções NFe, CTe e MDFe 100% puro em Java.

    Salva o XML e PDF em pasta definida, separando-os por Mês e Ano.

    Envia automaticamente para o destinatário e outros que desejar o XML e PDF.

    OBS: Para quem utilizar no formato TXT(emissor gratuito) não precisa modificar nada.

  3. EMPRESOFT, boa tarde.

    No seu fonte principal, insira o setkey, exemplo: SETKEY(VK_V12,{|| _QualRotina("SCL")})

    Segue abaixo a função para estudos:

    Function _QualRotina(Nomenclatura)

    Local cTexto:="",nI:=0

    /*

    Nomenclatura => O padrão dos seus códigos-fontes, se houver

    */

    Do While .T.

    If Empty(Procname(nI))

    Exit

    EndIf

    If At(Nomenclatura,Procname(nI)) > 0 .and. Upper(Left(Procname(nI),3)) != "(B)"
    cTexto += StrZero(nI,2)+" "+Procname(nI) + CRLF
    EndIf

    nI ++
    Enddo

    If ! Empty(cTexto)
    Msginfo(cTexto)
    EndIf

    Return(NIL)

    Percebi aqui nos meus testes, de que sempre o PROCNAME(11) é o código atual sendo executado.

    Espero ter ajudado.

    Abraços,

    Leonardo Guimarães.

  4. Alain, boa tarde.

    Tenho sim, prontinho com NFe, CTe e MDFe tanto para NFe ou CTe.

    Tudo roda em MYSQL/JAVA.

    Você continua gerando o arquivo no formato TXT do emissor gratuito que faço a translação para o XML, assino, valido, transmito e exibo o DANFE na tela.

    Quando autorizada a NFe/CTe já envia automaticamente o XML e o PDF para o email do cliente e salva os arquivos XML e PDF na pasta definida separando por ano e mês(ex: 2016_MARÇO, 2016_ABRIL)

    Qualquer informação é só enviar-me email.

    Abraços,

    Leonardo Guimarães.

  5. Crisvan, bom dia.

    Isto também acontecia comigo na BEMATECH NÃO-FISCAL quando conectada via USB, parece que a fila de impressão fica cheia a trava qualquer impressão, só volta a funcionar ser reiniciar o PC.

    Solução: O cliente comprou uma USADA no OLX que tem a conexão SERIAL, daí está funcionando perfeitamente a mais de 3 meses sem fica me ligando...Graças a Deus !!!

  6. MsgSelect({"@Impressora","@PDF","@HTML","Titulo","Mensagem ?",2)

    *************************************************************************
    Function MsgSelect( aItems, cValue, cTitle,nPosInicial)
    Local nOpcao:=1,cVar,nTam,cOpcao,oBmp
    Private cTitulo:="Selecione uma Opcao !",oDlgMsgS,oBut01,oBut02,oBut03,;
    oBut04,oBut05,oBut06,oBut07

    #ifdef __CLIPPER__
    #Else
    #include "TSButton.ch"
    #EndIf

    /* Standard icon resource IDs */
    #define IDI_APPLICATION 32512
    #define IDI_HAND 32513
    #define IDI_QUESTION 32514
    #define IDI_EXCLAMATION 32515
    #define IDI_ASTERISK 32516

    If cValue != Nil
    cTitulo:=cValue
    Endif

    cTitle := If(cTitle=Nil,"Selecione ?",cTitle)

    nPosInicial := If(nPosInicial=NIL,1,nPosInicial)

    nTam := Len(aItems)*13.33

    DEFINE DIALOG oDlgMsgS FROM 5,10 TO 12, 14+nTam TITLE cTitulo

    @ 00.7,01 ICON oICon Of oDlgMsgS
    oIcon:hIcon := LoadIcon(0, IDI_QUESTION)

    @ 00.7,05 Say Alltrim(cTitle) Of oDlgMsgS

    nI:=1

    If Len(aITems) >= 1
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT01 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT01:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTip StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 2
    nI:=2
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT02 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT02:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTip StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 3
    nI:=3
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT03 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT03:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTip StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 4
    nI:=4
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT04 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT04:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTip StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 5
    nI:=5
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT05 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT05:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTIp StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 6
    nI:=6
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT06 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT06:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTip StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 7
    nI:=7
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT07 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT07:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTIp StrTran(aItems[nI],"&","") XP
    EndIf
    #Endif

    For nI := 1 to Len(aITems)
    cVar := "OBUT"+StrZero(nI,2)
    &(cVar):Cargo:="1"
    Next

    cVar := "OBUT"+StrZero(nPosInicial,2)

    oDlgMsgS:BStart := {|| &(cVar):SetFocus() }

    ACTIVATE DIALOG oDlgMsgS CENTERED

    For nI := 1 to Len(aITems)
    cVar := "OBUT"+StrZero(nI,2)

    If &(cVar):Cargo = "2"
    nOpcao:=nI
    Endif

    Next

    Return(nOpcao)

    Faz o teste ai Kapi..

  7. Kapiaba, se retirar a opção inicial, o msgselect vai abrir com o primeiro botão selecionado. Beleza...

    Se der ENTER neste primeiro botão a fonte muda sozinha.

    Faltou informar que oFONTLH é a definição abaixo:

    Define Font oFontLH Name "Ms Sans Serif" Size 6,4

  8. Prezados, boa tarde.

    Quando executo minha aplicação em plataforma 64bits, o botão selecionado muda a fonte(ficando em negrito), daí as dialogs, say, get da minha aplicação mudam e ficam também em negrito, o que pode ser isto.

    Segue código abaixo:

    MsgSelect({"@Impressora","@PDF","@HTML","Titulo","Mensagem ?",2)

    *************************************************************************
    Function MsgSelect( aItems, cValue, cTitle,nPosInicial)
    Local nOpcao:=1,cVar,nTam,cOpcao,oBmp
    Private cTitulo:="Selecione uma Opcao !",oDlgMsgS,oBut01,oBut02,oBut03,;
    oBut04,oBut05,oBut06,oBut07

    #ifdef __CLIPPER__
    #Else
    #include "TSButton.ch"
    #EndIf

    /* Standard icon resource IDs */
    #define IDI_APPLICATION 32512
    #define IDI_HAND 32513
    #define IDI_QUESTION 32514
    #define IDI_EXCLAMATION 32515
    #define IDI_ASTERISK 32516

    If cValue != Nil
    cTitulo:=cValue
    Endif

    cTitle := If(cTitle=Nil,"Selecione ?",cTitle)

    nPosInicial := If(nPosInicial=NIL,1,nPosInicial)

    nTam := Len(aItems)*13.33

    DEFINE DIALOG oDlgMsgS FROM 5,10 TO 12, 14+nTam TITLE cTitulo Font oFontLH

    @ 00.7,01 ICON oICon Of oDlgMsgS
    oIcon:hIcon := LoadIcon(0, IDI_QUESTION)

    @ 00.7,05 Say Alltrim(cTitle) Of oDlgMsgS

    nI:=1

    #ifdef __CLIPPER__

    If Len(aITems) >= 1
    @ 02, 4+((nI-1)*7.5) BUTTON OBUT01 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT01:Cargo:="2", oDlgMsgS:End() )
    EndIf

    If Len(aITems) >= 2
    nI:=2
    @ 02, 4+((nI-1)*7.5) BUTTON OBUT02 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ACTION ( OBUT02:Cargo:="2", oDlgMsgS:End() )
    EndIf

    If Len(aITems) >= 3
    nI:=3
    @ 02, 4+((nI-1)*7.5) BUTTON OBUT03 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT03:Cargo:="2", oDlgMsgS:End() )
    EndIf

    If Len(aITems) >= 4
    nI:=4
    @ 02, 4+((nI-1)*7.5) BUTTON OBUT04 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT04:Cargo:="2", oDlgMsgS:End() )
    EndIf

    If Len(aITems) >= 5
    nI:=5
    @ 02, 4+((nI-1)*7.5) BUTTON OBUT05 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT05:Cargo:="2", oDlgMsgS:End() )
    EndIf

    If Len(aITems) >= 6
    nI:=6
    @ 02, 4+((nI-1)*7.5) BUTTON OBUT06 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT06:Cargo:="2", oDlgMsgS:End() )
    EndIf

    If Len(aITems) >= 7
    nI:=7
    @ 02, 4+((nI-1)*7.5) BUTTON OBUT07 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 ;
    ACTION ( OBUT07:Cargo:="2", oDlgMsgS:End() )
    EndIf

    #else

    If Len(aITems) >= 1
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT01 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 Font oFontLH ;
    ACTION ( OBUT01:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTip StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 2
    nI:=2
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT02 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 Font oFontLH ;
    ACTION ( OBUT02:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTip StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 3
    nI:=3
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT03 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 Font oFontLH ;
    ACTION ( OBUT03:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTip StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 4
    nI:=4
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT04 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 Font oFontLH ;
    ACTION ( OBUT04:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTip StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 5
    nI:=5
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT05 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 Font oFontLH ;
    ACTION ( OBUT05:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTIp StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 6
    nI:=6
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT06 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 Font oFontLH ;
    ACTION ( OBUT06:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTip StrTran(aItems[nI],"&","") XP
    EndIf

    If Len(aITems) >= 7
    nI:=7
    @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT07 Prompt aItems[nI] OF oDlgMsgS ;
    SIZE 40, 12 Font oFontLH ;
    ACTION ( OBUT07:Cargo:="2", oDlgMsgS:End() ) ;
    ToolTIp StrTran(aItems[nI],"&","") XP
    EndIf
    #Endif

    For nI := 1 to Len(aITems)
    cVar := "OBUT"+StrZero(nI,2)
    &(cVar):Cargo:="1"
    Next

    cVar := "OBUT"+StrZero(nPosInicial,2)

    oDlgMsgS:BStart := {|| &(cVar):SetFocus() }

    ACTIVATE DIALOG oDlgMsgS CENTERED

    For nI := 1 to Len(aITems)
    cVar := "OBUT"+StrZero(nI,2)

    If &(cVar):Cargo = "2"
    nOpcao:=nI
    Endif

    Next

    Return(nOpcao)

  9. Bom dia.

    Não estou conseguindo emitir NFe 3.10 desde ontem(segunda-feira 30/03/2015) a partir de 16:30h no meu estado ES.

    Alguém sabe dizer se está tudo normal, pois, a SEFAZ-ES daqui não informada nada, e no portal Nacional NFE as legendas estão normais.

    Mas, como já vi o portal está normal, mas, na verdade estavam com problemas.

    Se puderem me ajudar, grato.

  10. Boa tarde.

    Preciso de ajuda para montar o codigo abaixo em instrução SQL:

    Function _BEstoque(cCod,dDataUlt)
    Local nQtde := 0

    ** cCod = Codigo do Produto

    ** dDataUlt = Data da Ultima Atualização do Estoque

    Set SoftSeek On
    MOV02->( DbsetOrder(2), DbSeek(StrZero(Val(cCod)+1,14)) )
    Set SoftSeek Off

    If MOV02->Cod_Prod != cCod
    MOV02->( DbSkip(-1) )
    EndIf

    nQtde := 0 // Quantidade Apudada no Estoque pela movimentacao do produto

    dDtE := Ctod("") // Data Entrada
    dDtS := Ctod("") // Data Saida

    Do While MOV02->(! Bof()) .and. MOV02->Cod_Prod = cCod

    If MOV02->Data_Doc < dDataUlt
    Exit
    Endif

    If MOV02->Operacao = "E"
    nQtde -= MOV02->quantidade

    If MOV02->Data_Doc > dDtE
    dDte := MOV02->Data_Doc
    Endif

    Else
    nQtde += MOV02->quantidade

    If MOV02->Data_Doc > dDtS
    dDtS := MOV02->Data_Doc
    Endif

    EndIf

    MOV02->( DbSkip(-1) )
    EndDo

    Return(nQtde,dDtE,dDtS)

  11. Aferra, bom dia.

    Segue exemplo abaixo:

    **************************************************

    Function main()

    Msginfo(_timezone())

    return(NIL)

    **************************************************

    Function _TimeZone()
    Local cUTC := "",oReg,nValor

    #ifndef __XPP__
    #define HKEY_CLASSES_ROOT 2147483648
    #define HKEY_CURRENT_USER 2147483649
    #define HKEY_LOCAL_MACHINE 2147483650
    #define HKEY_USERS 2147483651
    #define HKEY_PERFORMANCE_DATA 2147483652
    #define HKEY_CURRENT_CONFIG 2147483653
    #define HKEY_DYN_DATA 2147483654
    #else
    #define HKEY_CLASSES_ROOT 1
    #define HKEY_CURRENT_USER 2
    #define HKEY_LOCAL_MACHINE 3
    #define HKEY_USERS 4
    #define HKEY_PERFORMANCE_DATA 5
    #define HKEY_CURRENT_CONFIG 6
    #define HKEY_DYN_DATA 7
    #endif

    #ifdef __XHARBOUR__
    cUTC := Left(Alltrim(Str(TimeZone())),1)+StrZero(Val(SubStr(Alltrim(Str(TimeZone())),2)),2)+":00"
    #endif

    // SE HOUVE FALHA NA FUNCAO ACIMA, EXECUTA NA MAO A LEITURA DO REGISTRO //

    If Val(Left(cUTC,3)) = 0

    // WINDOWS 8/8.1 NAO CONSEGUI LER //

    oReg := TReg32():New(HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\TimeZoneInformation", .f. )

    nValor := oReg:Get( "Bias", 0 )
    nValor := Round( nValor / 60, 0 ) * -1

    oReg:Close()

    cUTC := Left(Alltrim(Str(nValor)),1)+StrZero(Val(SubStr(Alltrim(Str(nValor)),2)),2)+":00"
    EndIf

    Return(cUTC)

×
×
  • Create New...