quarta-feira, 16 de março de 2011

Restaurar serviço de rede no windows

Essa é bem simples mas pode ser difícil de achar.

Problema:
Sua estação de trabalho de repente não encontra mais os computadores do grupo de trabalho.
Ex: se executar o comando: Net View, o SO retorna que os serviços de rede não foram iniciados.

Solução:
No prompt do MS-DOS ou em executar, digite:
Net Start Workstation

e tudo volta ao normal.

terça-feira, 15 de março de 2011

Dica para remover mensagem de executáveis no windows

Se desejar que o Windows não exiba mais aquela mensagem:

"O editor não pode ser verificado. Tem certeza que deseja executar esse software."

Faça o Seguinte:

Clique em iniciar/executar: gpedit.msc

Selecione:
- Configurações do Usuário
- Configurações de Software
- Modelos Administrativos
- Gerenciador de Anexos
- Lista de inclusão de tipos de arquivos de baixo risco
-- Clique em ativado
-- Na caixa digitável, insira o nome do seu executável (com extensão)
( É sensitível, a caixa, observem)
-- Clique em OK

quarta-feira, 24 de novembro de 2010

Dica para refresh da nova versão do TSBrowse

Atenção para quem usava fazer o Refhesh do TSBrowse do modo abaixo:

oBr:SetFocus()
oBr:Reset()
oBr:Refresh(.T.)
oBr:ResetBarPos(.T.)
oBr:BuguP()

Substituam por:

oBr:SetFocus()
oBr:Refresh(.T.)
oBr:ResetVScroll(.T.)

Caso contrário não serão mostradas atualizações em pesquisas.

sexta-feira, 19 de novembro de 2010

Novos Métodos do TSBrowse

Segue abaixo a relação atualizada dos novos métodos da classe TSBrowse 9.0

METHOD AddColumn( oColumn ) Adiciona uma coluna para o Browse, préviamente definido com o método construtor de colunas TSColumn:New(), ou com o comando DEFINE COLUMN oColumn ..

METHOD SetColumn( oColumn, nCol )

METHOD AddSuperHead( nFromCol, nToCol, uHead, nHeight, aColors, l3dLook, uFont, uBitMap, lAdjust, lTransp, lNoLines, nHAlign, nVAlign )

METHOD BeginPaint() INLINE If( ::lRepaint, Super:BeginPaint(), 0 ) Uso interno, Chamado a partir do método Display().

METHOD BugUp() INLINE ::UpStable() Chama o método UpStable().

METHOD BiClr( uClrOdd, uClrPair )

METHOD Bof() INLINE If( ::bBoF != Nil, Eval( ::bBof ), .F. ) //V90

METHOD ChangeFont( hFont, nColumn, nLevel )

METHOD DbSkipper( nToSkip ) Usado internamente; controla o ponteiro do registro do database.

METHOD Default() Uso interno; ações de inicialização do Browser.

METHOD Del( nItem )

METHOD DeleteRow( lAll )

METHOD DelColumn( nPos )

METHOD Destroy() Uso interno; Destrói o controle Browse.

METHOD Display() Uso interno- Exibe o Browse na primeira vez.

METHOD DrawFooters() INLINE ::DrawHeaders( .T. ) Desenha o Footers.

// MESSAGE DrawIcon METHOD _DrawIcon( nIcon, lFocused )

METHOD DrawIcons()

METHOD DrawLine( xRow ) Pinta a linha ativa ou nRow.

METHOD DrawPressed( nCell, lPressed )

METHOD DrawSelect() Pinta o cursor na linha ativa.

METHOD DrawSuper() Desenha os Super-Headers.

METHOD DrawHeaders( lFooters ) Desenha Headers, Footers, e Super-Headers.

METHOD Edit( uVar, nCell, nKey, nKeyFlags, cPicture, bValid, nClrFore, nClrBack )

METHOD EditExit( nCol, nKey, uVar, bValid, lLostFocus )

METHOD EndPaint() INLINE If( ::lRePaint, Super:EndPaint(), ( ::lRePaint := .T., 0 ) ) Uso interno, Chamado a partir do método Display().

METHOD Eof() INLINE If( ::bEoF != Nil, Eval( ::bEof ), .F. ) //V90

METHOD Excel2( cFile, lActivate, hProgress, cTitle, lSave )

METHOD ExcelOle( cXlsFile, lActivate, hProgress, cTitle, hFont, lSave, bExtern, aColSel, bPrintRow )

METHOD Exchange( nCol1, nCol2 ) INLINE ::SwitchCols( nCol1, nCol2), ::SetFocus() Troca a posição das colunas nCol1 e nCol2.

METHOD ExpLocate( cExp )

METHOD ExpSeek( cExp, lSoft )

METHOD FreezeCol( lNext )

METHOD GetAllColsWidth() //V90

METHOD GetColSizes() INLINE If( ValType( ::aColSizes ) == "A", ::aColSizes, Eval( ::aColSizes ) ) Retorna uma matriz contendo as larguras das colunas em pixels.

METHOD GetColumn( nCol ) Retorna uma referencia ao objeto TSColumn correspondente a nCol.

METHOD GetDlgCode( nLastKey )

METHOD GetRealPos( nRelPos )

METHOD GetTxtRow( nRowPix ) INLINE RowFromPix( ::hWnd, nRowPix, ::nHeightCell, If( ::lDrawHeaders, ::nHeightHead, 0 ),If( ::lFooting .and. ::lDrawFooters, ::nHeightFoot, 0 ),If( ::lDrawHeaders, ::nHeightSuper, 0 ),If( ::lDrawSpecHd, ::nHeightSpecHd, 0 ))

METHOD GoBottom() Posiciona o cursor na última linha do Browse, movendo o ponteiro de registros para o último registro do database, ou para o último elemento de outros objetos ( Array, oDbf, Text, Tree, oCtx ). É executado quando as teclas Ctrl+End ou Ctrl+PgDn são pressionadas, ou quando arrastando para o fim da barra de rolagem vertical.

METHOD GoDown() Posiciona o cursor uma linha abaixo movendo o ponteiro para o próximo registro no database, ou para o próximo elemento em outros objetos. É executado quando a tecla Down (seta para baixo) é pressionada.

METHOD GoEnd() Posiciona o cursor na última coluna visível na tela.

METHOD GoHome() Posiciona o cursor na primeira coluna visível na tela.

METHOD GoLeft() Move o cursor uma coluna para a esquerda.

METHOD GoNext() Move o cursor para a próxima coluna editável para a direita, ou para a próxima coluna editável da próxima linha.

METHOD GoPos( nNewRow, nNewCol ) Move o cursor para a linha definida em nNewRow e coluna definida em nNewCol.

METHOD GoRight() Move o cursor uma coluna para a direita.

METHOD GotFocus( hCtlLost ) Uso interno, executa ações ao receber o foco no Browse, entre as quais se destaca a avaliação do blóco de código definido em bGotFocus.

METHOD GoTop() Posiciona o cursor na primeira linha do Browse, movendo o ponteiro de registro para primeiro registro no database, ou para o primeiro elemento de outros objetos ( Array, oDbf, Text, Tree, oCtx ).

METHOD GoUp() Posiciona o cursor uma linha acima, movendo o ponteiro para o registro anterior do database, ou para elemento anterior de outros objetos.

METHOD HandleEvent( nMsg, nWParam, nLParam )

METHOD HiliteCell( nCol, nColPix ) Posiciona o cursor na coluna definida em nCol. Se usado quando da ativação do Browse, será exibido com o cursor nesta coluna.

METHOD HScroll( nWParam, nLParam )

METHOD HThumbDrag( nNewCol )

// METHOD Init( hDlg ) INLINE ::Initiate( hDlg )

// METHOD Initiate( hDlg ) INLINE Super:Initiate( hDlg ), ::Default()

METHOD InsColumn( nPos, oColumn ) Insere uma coluna (object TSColumn oColumn ) na posição definida em nPos.

METHOD Insert( cItem, nAt )

METHOD AddItem( cItem )

METHOD IsColVisible( nCol )

METHOD IsColVis2( nCol )

METHOD IsEditable( nCol ) INLINE ::lCellBrw .and. ::aColumns[ nCol ]:lEdit .and. ( ::aColumns[ nCol ]:bWhen == Nil .or.Eval(::aColumns[ nCol ]:bWhen, Self ) )

METHOD KeyChar( nKey, nFlags ) Uso interno. Executa ações dependendo da tecla pressionada nKey. Avalia o código de bloco bKeyChar.

METHOD KeyDown( nKey, nFlags ) Uso interno. - Similar a KeyChar(). Avalia o código de bloco bKeyDown.

METHOD KeyUp( nKey, nFlags )

METHOD LButtonDown( nRowPix, nColPix, nKeyFlags ) Uso interno.- Executa ações relacionadas com o clique no botão esquerdo do mouse. Avalia o código de bloco bLClick.

METHOD LButtonUp( nRowPix, nColPix, nFlags )

METHOD lCloseArea() INLINE If( ::lIsDbf .and. ! Empty( ::cAlias ), ( ( ::cAlias )->( DbCloseArea() ), ::cAlias := "", .T. ), .F. )

METHOD LDblClick( nRowPix, nColPix, nKeyFlags ) Uso interno.- Executa ações relacionadas com o duplo clique no botão esquerdo do mouse. Avalia o código de bloco bLDblClick.

METHOD lEditCol( uVar, nCol, cPicture, bValid, nClrFore, nClrBack ) Executa a edição de dados das células. Você pode usar esse método de seu programa em funções de edição personalizadas. Este método retornará um valor de .T. (True - Verdadeiro) se a edição finalizar normalmente, e .F. (False - Falso) se o usuário cancelar a edição.

METHOD lIgnoreKey( nKey, nFlags )

METHOD LoadFields( lEditable )

METHOD LoadRecordSet() //V90

METHOD LoadRelated( cAlias, lEditable, aNames, aHeaders )

METHOD Look3D( lOnOff, nColumn, nLevel, lPhantom )

METHOD LostFocus( hCtlFocus ) Uso interno. É ativado quando o Browse perde o foco. Avalia o código de bloco bLostFocus.

METHOD lRSeek( uData, nFld, lSoft ) //V90

METHOD MButtonDown( nRow, nCol, nKeyFlags ) Uso interno.- É ativado quando o botão central do mouse é pressionado (em mouses de 3 botões). Avalia o código de bloco bMButtonDown, recebendo os mesmos parametros.

METHOD MouseMove( nRowPix, nColPix, nKeyFlags )

METHOD MouseWheel( nKeys, nDelta, nXPos, nYPos )

METHOD MoveColumn( nColPos, nNewPos ) Muda a posição da coluna dentro do Browse, se a variável ::lMoveCols for .T.

METHOD nAtCol( nColPixel, lActual )

METHOD nAtIcon( nRow, nCol )

METHOD nColCount() INLINE Len( ::aColumns )

METHOD nField( cName ) //V90

METHOD nLogicPos() Retorna a posição lógica para o índice ativo.

METHOD nRowCount() INLINE CountRows( ::hWnd, ::nHeightCell, If( ::lDrawHeaders, ::nHeightHead, 0 ),If( ::lFooting .and. ::lDrawFooters, ::nHeightFoot, 0 ),If( ::lDrawHeaders, ::nHeightSuper, 0 ),If( ::lDrawSpecHd, ::nHeightSpecHd, 0 )) Uso interno.- Conta as linhas exibíveis do Browse.

METHOD PageUp( nLines ) Move o cursor e o ponteiro de registros uma página acima. É executado quando é pressionada a tecla PgUp.

METHOD PageDown( nLines ) Move o cursor e o ponteiro de registros uma página abaixo. É executado quando é pressionada a tecla PgDn.

METHOD Paint() Uso interno.- Pinta o Browse. Chamado a partir do método Display().

METHOD PanHome() Move o cursor para a primeita coluna da linha corrente.É nativado quando pressionadas as teclas Shift+LeftArrow.

METHOD PanEnd() Move o cursor para a última coluna da linha corrente. É ativado quando pressionadas as teclas Shift+RightArrow.

METHOD PanLeft() Move o cursor para a primeira coluna visível da linha corrente. É ativado quando a tecla Home é pressionada.

METHOD PanRight() Move o cursor para a última coluna visível da linha corrente. É ativado quando a tecla End é pressionada.

METHOD PostEdit( uTemp, nCol, bValid )

METHOD RButtonDown( nRowPix, nColPix, nFlags ) Uso interno.- Executa açoes relacionadas com o clique no botão direito do mouse. Avali o código de bloco bRClicked. Se o clique é feito na area do cabeçalho (Header), o TSBrowse exibirá um menu PopUp com opções de coluna e movimento de cursor.

METHOD Refresh( lPaint, lRecount ) //V90

METHOD RelPos( nLogicPos )

METHOD Report( cTitle, aCols, lPreview, lMultiple, lLandscape, lFromPos )

METHOD Reset( ) //V90 Move o cursor e o ponteiro de registro para o topo do Browse e executa o método Refresh(.T.)

METHOD ResetSeek()Restaura o valor da variável cSeek para nulo (Null), assim uma nova pesquisa incremental pode ser executada.

METHOD ResetVScroll( lInit ) //V90

METHOD ReSize( nSizeType, nWidth, nHeight )

METHOD TSBrwScroll( nDir ) INLINE TSBrwScroll( ::hWnd, nDir, ::hFont,::nHeightCell, If( ::lDrawHeaders, ::nHeightHead, 0 ),If( ValType( ::lDrawFooters ) == "L" .and.::lDrawFooters ,::nHeightFoot, 0 ), ::nHeightSuper, ::nHeightSpecHd )

METHOD Seek( nKey ) Este método faz todo o trabalho da pesquisa incremental.

METHOD Set3DText(lOnOff, lRaised, nColumn, nLevel, nClrLight, nClrShadow )

METHOD SetAlign( nColumn, nLevel, nAlign )

METHOD SetAppendMode( lMode ) Ativa a inserção automática após o ultimo registro (Append).

METHOD SetArray( aArray, lGenCols, aHead ) //V90

METHOD SetBtnGet( nColumn, cResName, bAction, nBmpWidth )

METHOD SetColMsg( cMsg, cEditMsg, nCol )

METHOD SetColor( xColor1, xColor2, nColumn )

METHOD SetColSize( nCol, nWidth )

METHOD SetColumns( aData, aHeaders, aColSizes )

METHOD SetDeleteMode( lOnOff, lConfirm, bDelete, bPostDel )

METHOD SetHeaders( nHeight, aCols, aTitles, aAlign , al3DLook, aFonts, aActions )

METHOD SetData( nColumn, bData, aList )

#ifdef _TSBFILTER7_

METHOD SetFilter( cField, uVal1, uVal2 ) //deleted in V90

#endif

METHOD SetFont( hFont )

METHOD SetIndexCols( nCol1, nCol2, nCol3, nCol4, nCol5 )

METHOD SetItems( aItems ) INLINE ::SetArray( aItems, .T. )

METHOD SetDBF( )

METHOD SetOrder( nColumn, cPrefix, lDescend )

METHOD SetRecordSet( oRSet, lEditable ) //V90

METHOD SetSelectMode( lOnOff, bSelected, uBmpSel, nColSel, nAlign )

METHOD SetSpinner( nColumn, lOnOff, bUp, bDown, bMin, bMax )

METHOD ShowSizes()

METHOD Skip( n )

METHOD SortArray( nCol, lDescend )

METHOD SwitchCols( nCol1, nCol2 )

METHOD SyncChild( aoChildBrw, abAction )

METHOD UpAStable()

METHOD UpRStable( nRecNo ) //V90

METHOD UpStable()

METHOD Proper( cString ) Converte o texto cText em iniciais maiúsculas.

METHOD VertLine( nColPixPos, nColInit, nGapp )

METHOD VScroll( nWParam, nLParam )

METHOD Enabled(lEnab) // JP 1.55

METHOD HideColumns( nColumn , lHide) //JP 1.58

METHOD AutoSpec(nCol)

METHOD RefreshARow(xRow) //JP 1.88


sexta-feira, 22 de maio de 2009

Com o usar o ACBr - Monitor (Parte 2)

Aqui está o exemplo do amigo José de como fica o um PDV trabalhando com o ACBr Monitor


E aqui a tela de fechamento da venda

Créditos:
JOSÉ JUCÁ DE OLIVEIRA
AV.Capitão Castro, 3294 Centro Vilhena/Ro
69 3321 4575
skype: jose.juca3044
msn : medial@ps5.com.br

Marcelo Brigatti
Sistemas IES


quinta-feira, 14 de maio de 2009

Diferença do e-CNPJ para o Certificado NF-e

Não entendia muito bem, qual a vantagem de compar um Certificado específico para NFe ao invés de comprar um e-cnpj, pois no site da CertSign, encontramos o e-cnpj por 165 reais, enquanto o certificado específico para NFe sai por 250 reais.

No link https://www.identidadedigital.com.br/pergunte, a reposta para a diferença entre os dois certificados é esta:

"Qual é a diferença do e-CNPJ e o Certificado NF-e?

Os dois certificados digitais podem ser utilizados para emissão de Nota Fiscal Eletrônica, pois ambos são emitidos na Infra-Estrutura de Chaves Públicas Brasileira - ICP-Brasil e contêm o número de CNPJ da empresa em seu conteúdo.

A vantagem do certificado NF-e é que ele foi criado unicamente para validar as NF-e e pode ser utilizado pelos funcionários da empresa e não apenas pelo seu representante legal, proporcionando uma maleabilidade na utilização.

Outra diferença é que a estrutura que ele utiliza é mais robusta para verificação e validação dos campos da NF-e, devido ao volume de vezes em que ele é utilizado."

Com a resposta acima, achava que a vantagem era comprar o e-cnpj por ser mais barato, mas neste link
http://robertodiasduarte.blogspot.com/2008/12/certificados-digitais-para-nf-e.html
existe uma explicação de qual a diferença dos dois tipos de certificado.

Leia o trecho abaixo retirado deste link:

"A menos que você seja, o representante legal e o faturista de sua empresa é melhor ter dois certificados: um e-CNPJ para assinar documentos e acessar o e-CAC da RFB e o e-NFe registrado em nome do faturista responsável pela emissão de NF-e.
Se o faturista utiliza um e-CNPJ, ele terá uma procuração em branco de sua empresa.
Com o e-NFe, suas atribuições ficam limitadas representar a empresa no processo de emissão de documentos fiscais.
Contudo, cada faturista deve ter um e-NFe individual e, caso ele seja desligado da empresa, você deve providenciar a revogação do certificado."

Ou seja, por questões de segurança, o indicado para a NFe é usar o certificado específico para NFe, a não ser que quem emita a NFe seja também o representante legal da empresa.

Do site:
http://anfm.blogspot.com/
André Ferreira de Moraes

quarta-feira, 6 de maio de 2009

Como usar o ACBR - Monitor - Passo a Passo

Caros leitores, este post será utilizado para a criação de um passo a passo demonstrando como utilizar o ACBr Monitor em uma aplicação. Aguardem novas postagens...

1 - O que é o ACBr Monitor (http://acbr.sourceforge.net/wiki/index.php/Monitor)

Nada mais que um executável que fica residente na SysTray e se comunica com sua aplicação através de arquivos .TXT ou Sockets (TCP/IP), permitindo assim que seu programa fale facilmente com vários modelos / marcas de Impressoras Fiscais, Impressoras de Cheques, Gavetas de Dinheiro, Displays de Mensagens e Leitores de Cod. Barras Serial.

Os comandos podem ser enviados para o ACBrMonitor por arquivo texto ou sockets, a sintaxe dos comandos é identica em ambos os casos. A resposta dos equipamentos de automação controlados pelo ACBrMonitor (Ex: ECF) será devolvida a Aplicação pelo ACBrMonitor também usando um arquivo texto de saida ou sockets, (conforme a configuração).

2 - Para fazer o Download Abaixo está o link da página:

http://sourceforge.net/project/showfiles.php?group_id=109206&package_id=182935
(o Link ACBrMonitor Atual é para Linux)

Abaixo está o passo a passo da instalação:












Créditos:
JOSÉ JUCÁ DE OLIVEIRA
AV.Capitão Castro, 3294 Centro Vilhena/Ro
69 3321 4575
skype: jose.juca3044
Marcelo Brigatti
Sistemas IES