Páginas

Google
 
Mostrando postagens com marcador ecocentauro. Mostrar todas as postagens
Mostrando postagens com marcador ecocentauro. Mostrar todas as postagens

terça-feira, 24 de setembro de 2013

WIN2003 e-cac - Nf-Eletronica - A3

Acessar site https://cav.receita.fazenda.gov.br/ com win 2003 server
Emitir nota fiscal eletronica com win 2003 server

Após inumeras tentativas, consegui acessar o portal e-cac com o win2003 server e certificado digital A3.
Também não estava conseguindo emitir nota fiscal eletronica com o win2003 server e certificado digital A3.

Passo a passo.

Instalei o internet explorer 7
Instalei o service pack2 do win2003 server  (clique aqui)

instalei o hotfix  WindowsServer2003-KB968730-x86-PTB (375506_PTB_i386_zip.exe)
que pode ser baixado no endereço:
https://copy.com/u2aFuj6CIbPdvmSz
ou
https://copy.com/ySDdYzD4I0HS9178

Outras versões do mesmo hotfix podem ser baixadas nos links
http://support.microsoft.com/kb/968730/pt-br
ou
http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=968730&kbln=pt-br


sábado, 8 de outubro de 2011

Encontrar registro duplicado no firebird (having)

select  a.empresa,
        a.codigo,
        count(a.codigo)

from
tvenpedido a
group by 1,2
having count(a.codigo) > 1;


--------------------------------

select  b.empresa,
        b.identificador,
        count(b.identificador)

from
tvenproduto b
group by 1,2
having count(b.identificador) > 1;

terça-feira, 2 de agosto de 2011

buscasr pedido da nfe

SELECT
'0' || a.usrempresa as empresa,
strzero(A.USRID,7) as codigo,

C.ID as numerodunfe,
d.numero as notanfe,
d.numero as notafiscal


/*$$IBEC$$ A.ID as Nfe_TBNfes_ID,
A.Gid as Nfe_TBNfes_GID,
B.SERIE AS SERIE,
B.Numero AS NOTANFE,
C.ID AS NUMERODANFE,
A.* $$IBEC$$*/
FROM NFE_TBITEMSCONCLUIDOS A
INNER JOIN Nfe_Tbnfeside B ON A.Id = B.Gid
INNER JOIN Nfe_Tbnfes C ON C.GId = A.Id
inner join nfe_tbnfeside d on(d.gid = a.id)
WHERE A.USREMPRESA = '01'
--AND A.USRID = '0006978' // numero do pedido
AND A.Tipoitem = 1
and a.usrid < '900000000'

terça-feira, 28 de junho de 2011

trigger

SET SQL DIALECT 3;


SET TERM ^ ;



CREATE OR ALTER TRIGGER TVENPEDIDO_1000 FOR TVENPEDIDO
ACTIVE BEFORE INSERT OR UPDATE POSITION 9
AS
begin
/* Trigger text */
if (new.tipooperacao in ('02','99')) then
begin
new.valorbruto = new.valorliquido;
new.percdesc = 0;
new.valordesconto = 0;
new.tipodesconto = null;
end
end
^


SET TERM ; ^


-----------------------------------------------------------



SET SQL DIALECT 3;


SET TERM ^ ;



CREATE OR ALTER TRIGGER TVENPRODUTO_1000 FOR TVENPRODUTO
ACTIVE BEFORE INSERT OR UPDATE POSITION 9
AS
DECLARE Variable IdOperacao varchar(02);
begin
/* Trigger text */
select a.tipooperacao
from tvenpedido a
where a.empresa = new.empresa and
a.codigo = new.pedido
into :idoperacao;

if (idoperacao in('02','99')) then
begin
new.percdesc = 0;
new.vlrdesc = 0;
new.preditado = new.vendido;
new.prvendido = new.vendido;
new.prpauta = new.vendido;
end
end
^


SET TERM ; ^

quarta-feira, 2 de março de 2011

Inserindo um lote

select '14' as empresa,
4 as lote, --- insira o numero do lote
a.produto,
a.estdisponivel as qtdcontada,
a.estdisponivel as estoque,
a.estdisponivel as diferenca



from


testestoque a
where a.empresa = '14'
and a.almox = '01'

quinta-feira, 7 de outubro de 2010

update testnatureza a
set a.geraestatistica = 'N',
a.movimentaestoque = 'N'
where a.codigo = '10';


update testnatureza a
set a.geraestatistica = 'N',
a.movimentaestoque = 'N'
where a.codigo in('16','17');


update testnatureza a
set a.geraestatistica = 'S',
a.movimentaestoque = 'S'
where a.codigo in('21','32','33','36');

commit;

execute procedure refazestatisticas;

commit;

quinta-feira, 6 de maio de 2010

manual arq def (manual arqdef)

identificador obrigatório
#INICIO

Definição da página (obrigatório)
#D,256,2159,0762,18,'Cheque Banco Brasil ','tpCmd10cpi','poPortrait '

256 = tipo (256 = definido pelo usuário)
2159 = largura da página em pixels com 4 dígitos
0762 = altura da página em pixels com 4 dígitos
18 = altura da linha em pixels com 2 dígitos (18=oitavos / 24=sextos)

( * Para calcular polegada Tam.Polegada X 254), ( 1 Polegada = 2,54 cm )

'Cheque Banco Brasil ' = título para o spool do windows com 20 dígitos
'tpCmd10cpi' = atributo da fonte com 10 dígitos
'poPortrait ' = orientação da página com 11 dígitos ('poPortrait' = vertical / 'poLandscape' = horizontal)


Linha de posicionamento de campo ou constante
#P,002,062,016,[%14.2f] ou [##,###,###0.00]
#P,002,062,016,[%12.3f] ou [####,##0.000]



002 = nº da linha
062 = nº da coluna
016 = tamanho do campo
= nome do campo cfe. desenvolvimento
[%14.2f] = formatação do campo, somente quando for tipo moeda

em caso de constantes...
#P,002,062,016,<'VALOR'> = por estar entre apóstrofos significa
uma string fixa e não um nome de campo!

Linha de atributos
#A,tpCmdLgNeg

Lista de tipos de atributos:
tpCmd20cpi = 20cpi
tpCmd17cpi = 17cpi
tpCmd12cpi = 12cpi
tpCmd10cpi = 10cpi
tpCmd06cpi = 06cpi
tpCmd05cpi = 05cpi
tpCmdLgNeg = liga negrito
tpCmdDgNeg = desliga negrito

Identificador de linha detalhe
#L,020,030
020 = linha inicial
030 = linha final

Identificador dos campos da linha detalhe
#X,001,010,
001 = coluna
010 = tamanho do campo
= nome do campo cfe. desenvolvimento

identificador obrigatório
#FIM

sexta-feira, 18 de setembro de 2009

Travamento do monitor de nota fiscal eletronica

De acordo com o Cristian (guaranta) ele resolveu os travamentos estranhos do moinitor de nota fiscal eletronica apenas validando o windows XP... ou seja.... tem que ser windows original





ou




ehehe


procure no google

validar windows xp

ou

http://www.burlar.org/outros/aprenda-a-validar-seu-windows-xp-como-original-sem-instalar-nada/

quarta-feira, 6 de maio de 2009

Aplicação pratica pra key log - abrir gaveta

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Timer1: TTimer;
Button1: TButton;
Label1: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Procedure AbreGaveta;
end;

var
Form1: TForm1;

const
ESC = chr($1B); // Escape global...
GavBematech = ESC+chr($76)+chr($80); // Abre gaveta bematech

implementation

{$R *.dfm}

procedure TForm1.AbreGaveta;
var F:TextFile;
begin
AssignFile(F,'LPT2');
Rewrite(F);
Writeln(F,GavBematech);
CloseFile(F);

end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
keyloop, KeyResult : Integer;
begin
keyloop := 0;
repeat
KeyResult := GetAsyncKeyState(keyloop);
if KeyResult = -32767 then
begin
case keyloop of
123: AbreGaveta;
end;
end;
inc(keyloop);
until keyloop = 255;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
AbreGaveta;
end;

end.

Monitorar que tecla foi digitada - key logger (delphi 6)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
Timer1: TTimer;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;


const
ESC = chr($1B); // Escape global...
// comandos matriciais
lg05CPP = ESC+chr($50)+chr($12); // 40 colunas
lg10CPP = ESC+chr($50)+chr($12); // 80 colunas
lg12CPP = ESC+chr($4D)+chr($12); // 96 colunas
lg17CPP = ESC+chr($50)+chr($0F); // 136 colunas
lg20CPP = ESC+chr($4D)+chr($0F); // 160 colunas
lgDRAFT = ESC+chr($78)+chr($00); // liga modo qualidade rascunho
lgNLQ = ESC+chr($78)+chr($01); // liga modo qualidade Carta
mv6Lpi = ESC+chr($32); // mov vertical 6 linhas p/inch -
mv8Lpi = ESC+chr($30); // mov vertical 8 linhas p/inch
ELineFeed = chr($0A);
EFormFeed = #12;



implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;


function Coloca(txt: String): String;
begin
Form1.Memo1.Text := Form1.Memo1.Text + txt;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
var
keyloop, KeyResult : Integer;
begin
keyloop := 0;
repeat
KeyResult := GetAsyncKeyState(keyloop);
if KeyResult = -32767 then
begin
case keyloop of
8: Coloca(' [BACKSPACE] ');
9: Coloca(' [TAB] ');
12: Coloca(' [ALT] ');
13: Coloca(' [ENTER] ');
16: Coloca(' [SHIFT] ');
17: Coloca(' [CONTROL] ');
18: Coloca(' [ALT] ');
20: Coloca(' [CAPS LOCK] ');
21: Coloca(' [PAGE UP] ');
27: Coloca(' [ESC] ');
33: Coloca(' [PAGE UP] ');
34: Coloca(' [PAGE DOWN] ');
35: Coloca(' [END] ');
36: Coloca(' [HOME] ');
37: Coloca(' [SETA ESQUERDA] ');
38: Coloca(' [SETA ACIMA] ');
39: Coloca(' [SETA DIREITA] ');
40: Coloca(' [SETA ABAIXO] ');
45: Coloca(' [INSERT] ');
46: Coloca(' [DEL] ');
91: Coloca(' [WIN ESQUERDA] ');
92: Coloca(' [WIN DIREITA] ');
93: Coloca(' [MENU POP-UP] ');
96: Coloca('0');
97: Coloca('1');
98: Coloca('2');
99: Coloca('3');
100: Coloca('4');
101: Coloca('5');
102: Coloca('6');
103: Coloca('7');
104: Coloca('8');
105: Coloca('9');
106: Coloca(' [NUM *] ');
107: Coloca(' [NUM +] ');
109: Coloca(' [NUM -] ');
110: Coloca(' [NUM SEP. DECIMAL] ');
111: Coloca(' [NUM /] ');
112: Coloca(' [F1] ');
113: Coloca(' [F2] ');
114: Coloca(' [F3] ');
115: Coloca(' [F4] ');
116: Coloca(' [F5] ');
117: Coloca(' [F6] ');
118: Coloca(' [F7] ');
119: Coloca(' [F8] ');
120: Coloca(' [F9] ');
121: Coloca(' [F10] ');
122: Coloca(' [F11] ');
123: Coloca(' [F12] ');
144: Coloca(' [NUM LOCK] ');
186: Coloca('Ç');
187: Coloca('=');
188: Coloca(',');
189: Coloca('-');
190: Coloca('.');
191: Coloca(';');
192: Coloca(' [APÓSTROFO] ');
193: Coloca('/');
194: Coloca(' [NUM PONTO] ');
219: Coloca('´');
220: Coloca(']');
221: Coloca('[');
222: Coloca('~');
226: Coloca('\');
else
if (KeyLoop >= 65) and (keyloop <= 90) then
Coloca(Chr(keyloop));
if (keyloop >= 32) and (keyloop <= 63) then
Coloca(Chr(keyloop));
//numpad keycodes
if (keyloop >= 96) and (keyloop <= 110) then
Coloca(Chr(keyloop));
end;
end; //case;
inc(keyloop);
until keyloop = 255;
end;




procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled := true;
end;


procedure TForm1.Button3Click(Sender: TObject);
var F:TextFile;
begin
AssignFile(F,'LPT1');
Rewrite(F);
Writeln(F,lg12CPP);
CloseFile(F);

end;

end.

quinta-feira, 12 de março de 2009

limpa spooler de impressão no xp

net stop spooler
cd\ %systemroot%\system32\spool\PRINTERS
del /f /s *.SHD
del /f /s *.SPL
net start spooler
exit

quinta-feira, 22 de janeiro de 2009

select para buscar o numero do danfe de acordo com o numero do pedido

Ufa! Vortei

select para buscar o numero do danfe de acordo com o numero do pedido!!!!!


SELECT A.ID as Nfe_TBNfes_ID,
A.Gid as Nfe_TBNfes_GID,
B.SERIE AS SERIE,
B.Numero AS NOTANFE,
C.ID AS NUMERODANFE,
A.*
FROM NFE_TBITEMSCONCLUIDOS A
INNER JOIN Nfe_Tbnfeside B ON A.Id = B.Gid
INNER JOIN Nfe_Tbnfes C ON C.GId = A.Id
WHERE A.USREMPRESA = '03'
AND A.USRID = '0006978' // numero do pedido
AND A.Tipoitem = 1

segunda-feira, 13 de outubro de 2008

buscar o estoque do almox 01 p/ para o dre

Estoque no dre




select sum(a.atual)
from testextsaldoproduto a
where a.empresa = '01' -- coloque o %S aqui
and a.almox = '01'
and a.anomes = (select max(b.anomes)
from testextsaldoproduto b
where b.empresa = a.empresa
and b.produto = a.produto
and b.almox = '01'
and b.anomes < (extract(year from cast('01.10.2008'as date)) || -- coloque o %S aqui, no lugar da data
extract(month from cast('01.10.2008'as date))) -- coloque o %S aqui, no lugar da data
)

terça-feira, 5 de agosto de 2008

ops, errei

[preferencias]

;; no eco.ini em prefereincias, onde estava TipoAtividade=CONVENIENCIA na verdade é:
Atividade=CONVENIENCIA


usuario=
empresa=01
programa=0
PesquisaTotalDosProdutos=S
PesquisaIncrementalDosProdutos=S
ModeloDoPedido=1
Firebird=C:\ecosis\windows\fbclient.dll
DiretorioLMC=C:\Documents and Settings\Administrador\Desktop
MultiplasInstancias=N
DiretorioDoExeNovo=
Desenvolvimento=N
DiretorioDeRelatorios=

sexta-feira, 11 de julho de 2008

corrigindo.. parte II

/*
abrir um lote de invetario
>> pegar o numero do lete e apagar os itens deste lote aberto
>> ajustar e executar a sql abaixo
>> entrar no sistema com o usuario supervizor e zerar as quantidades
>> fechar o lote de inventario.

*/




insert into testinventarioitens (empresa,
lote,
produto,
estoque)
select a.empresa,
'0019', -- numero do lote
a.produto,
a.estdisponivel
from
testestoque a
where
a.empresa = '01'
and a.almox = '01'
and not exists (select b.produto
from testinventarioitens b
where b.empresa = a.empresa
and b.lote in('0016') -- colocar todo o intervalo de lotes
and b.produto = a.produto
)
and not exists (select d.produto
from testnfe c
left outer join testnfeprod d on( d.empresa = c.empresa
and d.codigoid = c.codigoid)
where c.status <> 'CA'
and c.dataentrada between '01.01.2008' and '31.12.2008' -- colocar a data de entrada das notas fiscais
and d.produto = a.produto
)

terça-feira, 8 de julho de 2008

novo lote de inventario

/*
1 - abra um lote de inventario com um unico produto e pegue o numero do lote,
2 - va na testinventarioitens e delete os itens do lote que acabou de abrir
3 - faça os ajustes e no script abaixo e execute o script abaixo.
4 - entre com o usuario supervisor e va na contagem de estoque e clique na opção zera qtde contada
5 - feche o lote de invetario.
*/

insert into TESTINVENTARIOITENS (EMPRESA,
LOTE,
PRODUTO,
ESTOQUE)
select '01',
'3540', -- colocar o numero do lote novo aqui
pdg.codigo,
est.estdisponivel
from testprodutogeral pdg
inner join testestoque est on(est.empresa = '01' and -- colocar a empresa
est.almox = '01' and -- colcoar o almox
est.produto = pdg.codigo)
where est.empresa = '01' and -- colocar a empresa
not exists(select inv.produto
from testinventarioitens inv
where inv.empresa = '01' -- colocar a empresa
and inv.produto = pdg.codigo
and inv.lote in('3540', '3541') -- colocar os lotes que tem os produtos que nao devem entrar neste lote novo
)

segunda-feira, 7 de julho de 2008

atualizando parametros

/*
## TRecParametro
*/
update trecparametro a1
set a1.idbaixa = coalesce((select max(a2.idbaixa) from trecbaixa a2
where a2.empresa = a1.empresa),0);
update trecparametro b1
set b1.idbaixach = coalesce((select max(b2.idbaixach) from trecchequebaixa b2
where b2.empresa = b1.empresa),0);

update trecparametro c1
set c1.idboleto = coalesce((select max(c2.idboleto) from trecparcela c2
where c2.empresa = c1.empresa),0);

update trecparametro d1
set d1.idsequencia = coalesce((select max(d2.idsequencia) from trecparcela d2
where d2.empresa = d1.empresa),0);

update trecparametro e1
set e1.iddocumentojuro = coalesce((select max(e2.documento) from trecdocumento e2
where e2.empresa = e1.empresa and
e2.tipo = e1.tipodocjuro),0);



/*
## TPagParametro
*/
update tpagparametro f1
set f1.idpagamento = coalesce((select max(f2.idpagamento) from tpagbaixa f2
where f2.empresa = f1.empresa),0);

update tpagparametro g1
set g1.idrequisicao = coalesce((select max(g2.documento) from tpagdocumento g2
where g2.empresa = g1.empresa and
g2.tipo = g1.tipodocrequisicao),0);



/*
## TEstParametro
*/

update testparametro h1
set h1.inventarioid = coalesce((select max(h2.lote) from testinventario h2
where h2.empresa = h1.empresa),0);


/*
## TGerSequencia
*/
/* Atencao ao usar mais de uma empresa */
update tgersequencia i1
set i1.produto = coalesce((select max(i2.codigo) from testprodutogeral i2),0);

update tgersequencia j1
set j1.cliente = coalesce((select max(j2.codigo) from trecclientegeral j2
where j2.codigo < '88888'),0);

update tgersequencia k1
set k1.consumidor = coalesce((select max(k2.codigo) from tvenconsumidor k2),0);

update tgersequencia L1
set L1.transportador = coalesce((select max(L2.codigo) from tventransportador L2),0);

segunda-feira, 30 de junho de 2008

corrigindo...

update testinventarioitens a set
a.qtdcontada = (select sum(b.diferenca)
from testinventarioitens b
where b.empresa = a.empresa
and (b.lote >= '0013' and
b.lote <= '0014')
and b.produto = a.produto
)
where (a.empresa = '01') and
(a.lote = '0015');



update testinventarioitens inv
set inv.qtdcontada = inv.estoque
where inv.qtdcontada is null
and inv.empresa = '01'
and inv.lote = '0015';



update testinventarioitens i
set i.diferenca = i.qtdcontada - i.estoque
where i.empresa = '01'
and i.lote = '0015'
and i.qtdcontada is not null;

quarta-feira, 28 de maio de 2008

Guia rápido NF-E Eco

1. Instalar o Cristal Reports 9 ou o run time deste
2. Instalar o firebird 1.5.5
3. Instalar o Firebird ODBC Driver
4. No diretorio \x\Intall\adicional instalar os seguintes porgramas
4.1 \x\Install\Adicional\CAPICOM_dc_sdk_2102.msi
4.2 \x\Install\Adicional\Security Update for CAPICOM (KB931906) for WinXP only\all-capicom-kb931906-v2102_5891b5de8ce331dc998656e20f1ce0b795e88786.exe
4.3 \x\Install\Adicional\NetFx20SP1_x86.exe
5. Criar o diretorio c:\ecosis\nfe
6. copiar os diretorios e todo o conteudo \x\Install\Adicional\bin e
\x\Install\Adicional\bin para c:\ecosis\nfe\bin e lib respectivamente
7. Copie o certificado digital modelo A1 para c:\ecosis\nfe\lib
8. De duplo click no certificado digital e instale
9. Copie o nfe.eco para c:\ecosis\dados
10. Ajuste o eco.ini conforme abaixo: (sempre use com endereço IP)
[windows]
dados =127.0.0.1:\ecosis\dados\ecodados.eco
dadosnfe=127.0.0.1:\ecosis\dados\nfe.eco
[ParametroVenda]
tempoespera=60 >> tempo para tentar emitir a nfe
11. Crie uma uma conexao ODBC para o nfe.eco com o nome de nfe ...(sempre use com endereço IP)
12. use o programa C:\ecosis\nfe\Bin\NFeMonitor.exe parafazer as configuações
13. No eco, no cadastro de empresas marque a opção usa nfe
14. Ajuste o cadastro de produtos