-
Posts
1,018 -
Joined
-
Last visited
-
Days Won
6
Posts posted by SAOliveira
-
-
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.)
-
Acredito que o ACBR dele seja este:
http://www.slideshare.net/redeicpbrasil/ac-br-conectividade-social-icp
-
Opa Ladinilson.
Só não esqueça de mim.
-
Testei, e não rola.
Tem editores que traz o .xml numa única linha.
Pode ser por aí.
-
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)
-
Não se se esta funcionando mas tente em dicas
- Busca/Pesquisa incremental
-
Pena não retornar de .XML
-
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.
-
Falei TGet.
-
Ow pescador de lobó;
mGet ?
Não conheço, se puder manda ai, quero ver se tem jeito.
-
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 -
Yury.
"DELETE FROM dbBAS2.tbClientes"
melhor seria
"TRUNCATE TABLE dbBAS2.tbClientes"
-
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.
-
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.
-
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 ))
-
Como disse não tenho nenhuma referencia.
-
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" -
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
ENDIFDeleteObject( hBrush )
oFonte:Activate( hDC )
SetTextColor( hDC, oCor2 )
DrawTextEx( hDC, cLine, { nRow, nLeft, nBottom, nRight }, oCol:nDataStyle )
oFonte:DeActivate( hDC )RETURN(NIL)
-
http://vailton.com.br/index.php/downloads/viewcategory/3-sql-lib-rdd
Atualizada em 03/09/2013.
-
-
Daniel, usas qual ferramenta para conexão com Banco ?
-
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.
-
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.
-
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.
Get no xBrowse
in Programação
Posted
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.