Jump to content
Fivewin Brasil

SAOliveira

Membros
  • Posts

    1,018
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by SAOliveira

  1. Ops... seu tmp é o resultado de um select, se for sem chance, ou vc usa xBrowse com array, ou alimenta um temporário e update no BD. Estou presumindo.
  2. 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.)
  3. Acredito que o ACBR dele seja este: http://www.slideshare.net/redeicpbrasil/ac-br-conectividade-social-icp
  4. Testei, e não rola. Tem editores que traz o .xml numa única linha. Pode ser por aí.
  5. 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)
  6. Não se se esta funcionando mas tente em dicas - Busca/Pesquisa incremental
  7. No inicio das conversas, falava-se em dia 16 ou 23, e a besta aqui ficou com 23 na cabeça. No dia 16/11 será o noivado da minha filha, então sem chance para mim. Grato e boas brejas.
  8. Ow pescador de lobó; mGet ? Não conheço, se puder manda ai, quero ver se tem jeito.
  9. 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
  10. Yury. "DELETE FROM dbBAS2.tbClientes" melhor seria "TRUNCATE TABLE dbBAS2.tbClientes"
  11. 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.
  12. Sem êxitos, fazendo a triggers, ou o resultado não agradou ? Detalhe, se for gravar em bd local/remoto, deve-se estudar muito o caso, pois em mysql creio ve vai deixar a desejar.
  13. 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 ))
  14. Como disse não tenho nenhuma referencia.
  15. 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"
  16. 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)
  17. http://vailton.com.br/index.php/downloads/viewcategory/3-sql-lib-rdd Atualizada em 03/09/2013.
  18. oBrw:aCols[9]:bstrData:= {|| aArray[oBrw:nArrayAt][17]+CRLF+aArray[oBrw:nArrayAt][18] }
  19. Daniel, usas qual ferramenta para conexão com Banco ?
  20. 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.
  21. 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.
  22. Amigo faça da forma mais simples que existe. Travar o registro. While(!Seu_Alias->(rLock())) ; EndDo Grave tudo o que precisar. Seu_Alias(dbCommit()) Destrave o registro. Seu_Alias(dbUnlock()) Teste e veja o resultado.
×
×
  • Create New...