Jump to content
Fivewin Brasil

SAOliveira

Membros
  • Posts

    1,018
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by SAOliveira

  1. oCol_cod:nEditType    :=EDIT_GET
    oCol_cod:cEditPicture :="999999"
    oCol_cod:oEditFont    :=oPub:fBCour13
    oCol_cod:bOnPostEdit  :={|oCol_cod,uValue,nKey|IF(nKey= 13,Valida_Codigo(uValue),NIL)}
    oCol_cod:bEditValue   :={||NFEITEM->codent}
    
    **----------------------------------------------------------**
        STATIC FUNCTION Valida_Codigo(Arg1)
    **----------------------------------------------------------**
    NFEITEM->codent:=Arg1 ; oBrw:nColSel:=4
    oBrw:Refresh()
    RETURN(.T.)
    
  2. De uma olhada, que sabe serve ou te ajuda.

    **----------------------------------------------------------**
        STATIC FUNCTION BuscaCooperado()
    **----------------------------------------------------------**
    _nombusca:=Space(60)
    COP->(OrdSetFocus(2)) ; COP->(DBSeek("A"))
    DEFINE DIALOG oDlgBuscaCop RESOURCE "COP_CADASTRO_BUSCA" OF oDlg
                  oDlgBuscaCop:cCaption:=" ..:: Localizar Cooperado no cadastro ::.."
                  oDlgBuscaCop:lTransparent:=.F.
                  oDlgBuscaCop:lHelpIcon:=.f.
                  oDlgBuscaCop:oFont:=oPub:fNorm11
                  oDlgBuscaCop:SetColor(oPub:CorPreto,oPub:CorCinza)
    
        REDEFINE SAY ID 1001 OF oDlgBuscaCop FONT oPub:fNorm11 COLOR oPub:CorPreto,oPub:CorCinza
        REDEFINE GET Onombusca VAR _nombusca PICTURE "@!K" ID 101 OF oDlgBuscaCop FONT oPub:fBCour13 COLOR oPub:CorGet,oPub:CorFundoGet UPDATE ;
                     on Change(Conteudo(Onombusca,nKey,oBrwBuscaCop))
    
        REDEFINE xBrowse oBrwBuscaCop ID 201 OF oDlgBuscaCop Alias("COP") COLUMNS 1,2
                oBrwBuscaCop:bKeydown            := { |nkey| if(nkey == VK_RETURN,(_codcop:=COP->a_codcop,Ocodcop:Refresh(),oDlgBuscaCop:END()),NIL ) }
                oBrwBuscaCop:SetColor( PRETO,CINZACC )
                oBrwBuscaCop:l2007               := .T.
                oBrwBuscaCop:lAllowRowSizing     := .F.                                 //  Nao move as Linhas (nao sei)
                oBrwBuscaCop:lHScroll            := .F.                                 //  Barra rolagem Horizontal
                oBrwBuscaCop:lVScroll            := .T.                                 //  Barra rolagem vertical
                oBrwBuscaCop:lRecordSelector     := .T.                                 //  Barra aponta registro lateral esquerda;
                oBrwBuscaCop:nRecSelColor        := RGB(205,220,255)                    //  cor da barra lateral pontador de linha
                oBrwBuscaCop:lAllowColSwapping   := .F.                                 //  Click no header (.f.)Trava
                oBrwBuscaCop:nDataLines          := 1
                oBrwBuscaCop:lColDividerComplete := .T.                                 //  linha divisoria de colunas mesmo com tabela vazia.
                oBrwBuscaCop:bClrStd             := {|| { AZUL,FundoGet          } }    //  cor da linha sem focu
                oBrwBuscaCop:bClrSel             := {|| { AZUL,FundoGet          } }    //  cor da celula sem focu
                oBrwBuscaCop:bClrSelFocus        := {|| { PRETO,RGB(188,210,238) } }    //  cor da celula  em focu
                oBrwBuscaCop:bClrRowFocus        := {|| { PRETO,RGB(188,210,238) } }    //  cor da coluna sem focu
                oBrwBuscaCop:nColDividerStyle    := 4                                   //  cor da divisao de coluna LINESTYLE_LIGHTGRAY
                oBrwBuscaCop:nRowDividerStyle    := 4                                   //  cor da divisao da linha  LINESTYLE_LIGHTGRAY
                oBrwBuscaCop:nMarqueeStyle       := 5 //MARQSTYLE_HIGHLROW              //  tipo de linha selecionada MARQSTYLE_HIGHLROW
                oBrwBuscaCop:nRowHeight          := 20
                oBrwBuscaCop:SetRDD()
    
                oBrwBuscaCop:lHeader             := .T.                                 //  se vai mostrar header cabeçalho)
                oBrwBuscaCop:nHeaderLines        := 1
                oBrwBuscaCop:nHeaderHeight       := 22
                oBrwBuscaCop:bClrHeader          := {|| {oPub:CorPreto,RGB(205,220,255) }}      // cor do reader
    
                oBrwBuscaCop:aCols[1]:cHeader      :="Cooperado"
                oBrwBuscaCop:aCols[1]:nHeadStrAlign:=AL_CENTER
                oBrwBuscaCop:aCols[1]:nDataStrAlign:=AL_LEFT
                oBrwBuscaCop:aCols[1]:bStrData     :={|| COP->a_nomcop }
                oBrwBuscaCop:aCols[1]:oDataFont    :=oPub:fBCour13
                oBrwBuscaCop:aCols[1]:nWidth       :=380
    
                oBrwBuscaCop:aCols[2]:cHeader      :="Sta"
                oBrwBuscaCop:aCols[2]:nHeadStrAlign:=AL_CENTER
                oBrwBuscaCop:aCols[2]:nDataStrAlign:=AL_CENTER
                oBrwBuscaCop:aCols[2]:bStrData     :={|| IF(COP->a_fl1cop=="L","",COP->a_fl1cop) }
                oBrwBuscaCop:aCols[2]:oDataFont    :=oPub:fBCour13
                oBrwBuscaCop:aCols[2]:nWidth       :=20
    
    PCS_ATIVADIALOG('oDlgBuscaCop')
    Ocodcop:SetFocus()
    RETURN(.T.)
    
        **---------------------------------------------**
            Static Function Conteudo(oGetP,xKey,oDlgg)
        **---------------------------------------------**
            Local RetornoChave:=""
            MontaChaveBuscaArquivo(oGetP,xKey,oDlgg,@RetornoChave)
            IF(Len(AllTrim(retornochave))==0)
                _busca:="A"
            ELSE
                _busca:=AllTrim(RetornoChave)
            ENDIF
            COP->(DBSeek(_busca))
            oBrwBuscaCop:Refresh()
            Return(.t.)
       **----------------------------------------------------**
            STATIC FUNCTION MontaChaveBuscaArquivo(oGetP,xKey,oDlgg,RetornoChave)
        **----------------------------------------------------**
            Local cChave:=(oGetP:oGet:Buffer)//,nPosAnt:=Recno()
            RetornoChave:=AllTrim(cChave)
            Return(RetornoChave)
    
  3. Você pode alterar a TGet, no metod Paint()

    if IsWindowEnabled( ::hWnd ) .and. ! ::lReadOnly
    CallWindowProc( ::nOldProc, ::hWnd, WM_PAINT, ::hDC, 0 )
    else
    if ::lDisColors
    SetTextColor( ::hDC, GetSysColor( COLOR_GRAYTEXT ) )
    SetBkColor( ::hDC, GetSysColor( COLOR_WINDOW ) )
    // sergio - alterado para manter a cor do get mesmo em When(.f.)
    //nClrBtnPane := GetSysColor( COLOR_WINDOW )
    else

  4. Estou tendo a necessidade de saber em tempo real, se a xBrowse esta e focu ou não.

    Tipo assim.

    Uma dialog com 1 xBrowse, 6 Gets, e Dois Buttons.

    Entra com o focu no Browse, e com change mostrando dados nos gets, (neste ponto os botões devem estar inativos)

    Se der enter/click do mouse passa para o 1º get, e habilita o botão, até ai perfeito.

    Mas o cara pode simplesmente clicar em um dos gets, e ai também teria que ativar o botão.

    Então pensei em controlar o botão, pelo focu da xBrowse.

  5. FL_CRIAR_ICONE_ATALHO()

    *----------------------------------------------------------**
        FUNCTION FL_CRIAR_ICONE_ATALHO()
    **----------------------------------------------------------**
    Local aShortCut, oWSHShell
    
    IF FILE(GETENV('HOMEDRIVE')+GETENV('HOMEPATH')+'\Desktop\'+DV_Sistema+'.lnk')
       RETURN
    ENDIF
    
    IF !MsgYesNo('Não foi localizado o Icone na area de Trabalho,'+CRLF+'Deseja Criar Agora ?','Aviso do Sistema')
       RETURN
    ENDIF
    
    TRY
       oWSHShell:= CreateObject("WScript.Shell")
    CATCH error
       MsgStop("Não foi possivel criar o icone na area de trabalho, Favor revisar","Atenção")
       RETURN .F.
    END
    
    IF IsDirectory(GETENV("HOMEDRIVE")+GETENV("HOMEPATH")+"\Desktop" ) = .F.
       Release oWSHShell
       RETURN .F.
    ENDIF
    aShortCut:=oWSHShell:CreateShortcut(GETENV('HOMEDRIVE')+GETENV('HOMEPATH')+'\Desktop\'+DV_Sistema+'.lnk')
    aShortCut:TargetPath:=CAMINHO_EXE()+'\'+ NomeExecutavel() //GETENV("HOMEDRIVE")+GETENV("HOMEPATH")+"\Desktop"
    aShortCut:WorkingDirectory := CAMINHO_EXE()+'\'
    //aShortCut:IconLocation     := "DC:\sistem\icone.ico" //icone do sistema
    aShortCut:Save()
    Release oWSHShell
    IF !FILE(GETENV('HOMEDRIVE')+GETENV('HOMEPATH')+'\Desktop\'+DV_Sistema+'.lnk')
       Return .F.
    ENDIF
    Return .T.
    
    *NomeExecutavel()    // verefica o nome
    *NomeExecutavel(.t.) // verefica o caminho
    ********************************************************************************
    FUNCTION NOMEEXECUTAVEL(lPath)
    LOCAL nPos, cRet
    If Empty(lpath)
       nPos:= RAT("\", hb_argv(0))
       cRet:= substr(hb_argv(0), nPos+1)
    else
       cRet:= hb_argv(0)
    endif
    Return cRet
    ********************
    *Retorna o caminho do EXE
    FUNCTION CAMINHO_EXE
    Return(Substr(NomeExecutavel(.t.),1,(len(NomeExecutavel(.t.))- len(NomeExecutavel()))-1 ))
    
  6. Testei, acho que até usei, mas não acho nenhuma referencia.

    **-----------------------------------------------------------------------------**
    ** Finalidade : voltar o menu de onde foi chamado
    **-----------------------------------------------------------------------------**
    FUNCTION PCS_VoltaMenu( oM, nNiv )
    #include "fivewin.ch"
    #define KEYEVENTF_KEYUP 2
    **-----------------------------------------------------------------------------**
    LOCAL nItem, oLItM, cMov :="", cMv, nChr
    DEFAULT oM:=WndMain():oMenu
    DEFAULT nNiv :=0
    oLItM :=oM:LastItem()
    FOR nItem :=1 TO Len( oM:aItems )
    IF ValType( oM:aItems[nItem]:bAction ) ='O'
    cMv :=VoltaMenu( oM:aItems[nItem]:bAction, nNiv+1 )
    IF Right( cMv,1 ) =="x"
    cMov += Chr( IF( nNiv =0, VK_DOWN, VK_RIGHT ) )+cMv
    IF nNiv ==0
    cMov :=Left( cMov,Len(cMov)-1 )
    keybd_event( VK_MENU,0,0,0)
    keybd_event( VK_MENU,0,KEYEVENTF_KEYUP,0)
    FOR nChr :=1 TO Len( cMov )
    keybd_event( Asc(SubStr(cMov,nChr,1)),0,0,0 )
    keybd_event( Asc(SubStr(cMov,nChr,1)),0,KEYEVENTF_KEYUP,0 )
    NEXT
    RETURN .T.
    endif
    RETURN cMov
    ENDIF
    ELSE
    IF oM:aItems[nItem]:nId == oLItM:nId
    RETURN cMov+"x"
    ENDIF
    ENDIF
    IF !Empt( oM:aItems[nItem]:cPrompt ) // se não for um separador
    cMov +=Chr( IF( nNiv =0, VK_RIGHT, VK_DOWN ) )
    ENDIF
    NEXT
    RETURN IF(nNiv ==0, .F., "")
    ***

    ************************************************************
    DLL32 FUNCTION keybd_event(bVk as _INT,bScan as _INT,dwFlags ;
    as LONG,dwExtraInfo as LONG) AS LONG PASCAL LIB "user32.dll"

  7. oBrw:aCols[1]:bPaintText :={|oCol,hDC,cText,aCoord| PCS_MudaTextoXbrw( oCol, hDC, cText, aCoord, oPub:fNorm12, oPub:CorGet,oPub:CorGetW ) }

    **-------------------------------------------------------------------------**
    FUNCTION PCS_MudaTextoXbrw( oCol, hDC, cText, aCoord, oFonte,oCor1,oCor2 )
    **-------------------------------------------------------------------------**
    LOCAL nTop:=aCoord[ 1 ], nLeft := aCoord[ 2 ]
    LOCAL nBottom:=aCoord[ 3 ], nRight := aCoord[ 4 ]
    LOCAL nRow:= nTop
    LOCAL cLine,nFontHt, nAt
    LOCAL hBrush:=CreateSolidBrush( oPub:CorBege )

    nAt:=AT(CRLF,cText )
    IF(nAt>0)
    cLine:=Left( cText, nAt - 1 )
    SetTextColor( hDC, oCor1 )
    nFontHt:=GetTextHeight( oCol:oBrw:hWnd, hDC )

    DrawTextEx( hDC, cLine, { nRow, nLeft, nRow + nFontHt + 4, nRight }, oCol:nDataStyle )
    nRow +=nFontHt + 4 //default 4
    cLine:=SubStr( cText, nAt + 2 )
    ELSE
    cLine:=cText
    ENDIF

    DeleteObject( hBrush )
    oFonte:Activate( hDC )
    SetTextColor( hDC, oCor2 )
    DrawTextEx( hDC, cLine, { nRow, nLeft, nBottom, nRight }, oCol:nDataStyle )
    oFonte:DeActivate( hDC )

    RETURN(NIL)

  8. Valdir.

    Como dito anteriormente "Venda ao Consumidor".

    No caso dos cupons ECF, sempre será venda.

    No caso da NFe, meu sistema não deixa ocorrer o caso que o Jose Carlos salientou.

    No meu cadastro de CFOP, tem um flag, se vai fazer parte da lei da transparência,

    isto facilita na NFe.

  9. Valdir.

    Não tem nenhuma relação com a sua tributação de saída.

    Veja o que o Jose Carlos passou, que praticamente é uma unanimidade hoje, até por grandes lojas

    O procedimento.

    1 - Vincular ao NCMSH

    2 - Utilizar a tabela do IBPT.

    3 - Calcular/apurar a cada item

    4 - Apurar o total nota com total apurado dos produtos.

    5 - Informar "Valor aproximado dos tributos R$ xxx,xx (xxx.xx%) Fonte IBPT.

    Isto vale tanto para ECF como para NFE.

    Detalhe, informação para consumidor final.

    post-6930-0-78670400-1379413489_thumb.jpg

×
×
  • Create New...