Sorry my English is bad I'm using google translator.
I created a script and I'm using the zsqlprocessor. the scriptt is usually generated in the database.
However, when I check the ddl in the database is all messed up. As below:
What can be. Recalling that in another version of zeos worked normally. I did not move anything.
See below the code is all messy, but working. But to understand this is very complicated.
CREATE OR ALTER trigger itensnotas_bi for itensnotas active before insert or update or delete position 0 as declare variable cfop_produto char(4); declare variable cfop_notas char(4); declare variable iecliente char(15); declare variable codcliente integer; begin new.itensnotas_precototal = new.itensnotas_qtde * new.itensnotas_preuntotal; /* Valor unitario liquido = preco unt total - vl de desc. unt. */ new.itensnotas_pcuntliq = new.itensnotas_preuntotal - new.itensnotas_vldescunit; /* Valor preco total liquido = preco unt. liq. * qtde */ /* Muitos problemas com isso assim
new.itensnotas_pctotalliq = new.itensnotas_precototal - new.itensnotas_vldestotal; */ new.itensnotas_pctotalliq = new.itensnotas_pcuntliq * new.itensnotas_qtde; if (inserting) then begin if (new.ncm_codigo is null) then exception exp_dinamica 'Campo NCM não pode ser nulo!!!'; if ((new.itensnotas_qtde is null)or (new.itensnotas_qtde =0 )) then exception EXP_DINAMICA 'Campo QTDE de Preenchimento Obrigatorio!'; if ((new.itensnotas_preuntotal is null)or (new.itensnotas_preuntotal =0)) then exception EXP_DINAMICA 'Campo Preco Unit. Total de Preenchimento Obrigatorio!'; /* if ((new.ncm_codigo is null)or (new.ncm_codigo ='')) then
exception EXP_DINAMICA 'NCM INVALIDO'; */ select notas.cfop_cfop from notas where notas.notas_codigo = new.notas_codigo into :cfop_notas; if ((substring(:cfop_notas from 2 for 3) not in ('202','904','411'))) then /* if ((cfop_notas <>'1202') and (cfop_notas <> '1904')) then */ if ((substring(:cfop_notas from 1 for 1) in ('1','2','3'))) then begin select (coalesce(produtos.cfop_cfopentrada,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto; if (coalesce(cfop_produto,'') <> '') then begin new.cfop_cfop = cfop_produto; end if (coalesce(new.cfop_cfop,'') = '') then begin new.cfop_cfop = :cfop_notas; end end else if ((substring(:cfop_notas from 1 for 1 ) in ('5','6','7'))) then begin select (coalesce(produtos.cfop_cfopSaida,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto; if (coalesce(cfop_produto,'') <> '') then begin new.cfop_cfop = cfop_produto; end if (coalesce(new.cfop_cfop,'') = '') then begin new.cfop_cfop = :cfop_notas; end if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then new.csosn_codigo = '500'; else begin select notas.cliente_codigo from notas where notas.notas_codigo = new.notas_codigo into :codcliente; select coalesce(clientes.clientes_ie,'') from clientes where clientes.clientes_codigo = :codcliente into :iecliente; if ((iecliente = '') or (iecliente= 'ISENTA')) then new.csosn_codigo = '102'; else new.csosn_codigo = '101'; end end if ((substring(:cfop_notas from 2 for 3) in ('202','904','411'))) then begin select (coalesce(produtos.cfop_cfopSaida,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto; if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then new.cfop_cfop = substring(:cfop_notas from 1 for 1) || '411'; else new.cfop_cfop = substring(:cfop_notas from 1 for 1) || '202'; end if ((cfop_notas = '1904')) then new.cfop_cfop = :cfop_notas; if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then new.csosn_codigo = '500'; else begin select notas.cliente_codigo from notas where notas.notas_codigo = new.notas_codigo into :codcliente; select coalesce(clientes.clientes_ie,'') from clientes where clientes.clientes_codigo = :codcliente into :iecliente; if ((iecliente = '') or (iecliente= 'ISENTA')) then new.csosn_codigo = '102'; else new.csosn_codigo = '101'; end if (new.cfop_cfop = '5933') then begin new.csosn_codigo = '400'; /* new.ncm_codigo ='00'; */ end end if (new.cfop_cfop = '5933') then new.csosn_codigo = '400'; if (new.itensnotas_codigo is null) then new.itensnotas_codigo = gen_id(gen_itensnotas_id,1); end
Problem with indentation script
- EgonHugeist
- Zeos Project Manager
- Posts: 1936
- Joined: 31.03.2011, 22:38
Re: Problem with indentation script
Hi,
don't worry about your english!
Which version of Zeos do you use? 7.2..??
Could you order/sort the script a bit? It's really hard to read.
What happens/do you expect?
don't worry about your english!
Which version of Zeos do you use? 7.2..??
Could you order/sort the script a bit? It's really hard to read.
What happens/do you expect?
Best regards, Michael
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
-
- Fresh Boarder
- Posts: 6
- Joined: 12.09.2014, 20:09
Re: Problem with indentation script
The version is 7.2. The sql code it is correct. It performs normally. The problem is the structure that it has no way to understand. he should be in the following structure:
CREATE OR ALTER trigger itensnotas_bi for itensnotas
active before insert or update or delete position 0
as
declare variable cfop_produto char(4);
declare variable cfop_notas char(4);
declare variable iecliente char(15);
declare variable codcliente integer;
begin
new.itensnotas_precototal = new.itensnotas_qtde * new.itensnotas_preuntotal;
/* Valor unitario liquido = preco unt total - vl de desc. unt. */
new.itensnotas_pcuntliq = new.itensnotas_preuntotal - new.itensnotas_vldescunit;
/* Valor preco total liquido = preco unt. liq. * qtde */
/* Muitos problemas com isso assim
new.itensnotas_pctotalliq = new.itensnotas_precototal - new.itensnotas_vldestotal; */
new.itensnotas_pctotalliq = new.itensnotas_pcuntliq * new.itensnotas_qtde;
if (inserting) then
begin
if (new.ncm_codigo is null) then
exception exp_dinamica 'Campo NCM não pode ser nulo!!!';
if ((new.itensnotas_qtde is null)or (new.itensnotas_qtde =0 )) then
exception EXP_DINAMICA 'Campo QTDE de Preenchimento Obrigatorio!';
if ((new.itensnotas_preuntotal is null)or (new.itensnotas_preuntotal =0)) then
exception EXP_DINAMICA 'Campo Preco Unit. Total de Preenchimento Obrigatorio!';
/* if ((new.ncm_codigo is null)or (new.ncm_codigo ='')) then
exception EXP_DINAMICA 'NCM INVALIDO'; */
select notas.cfop_cfop from notas where notas.notas_codigo = new.notas_codigo into :cfop_notas;
if ((substring(:cfop_notas from 2 for 3) not in ('202','904','411'))) then
/* if ((cfop_notas <>'1202') and (cfop_notas <> '1904')) then */
if ((substring(:cfop_notas from 1 for 1) in ('1','2','3'))) then
begin
select (coalesce(produtos.cfop_cfopentrada,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto;
if (coalesce(cfop_produto,'') <> '') then
begin
new.cfop_cfop = cfop_produto;
end
if (coalesce(new.cfop_cfop,'') = '') then
begin
new.cfop_cfop = :cfop_notas;
end
end
else if ((substring(:cfop_notas from 1 for 1 ) in ('5','6','7'))) then
begin
select (coalesce(produtos.cfop_cfopSaida,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto;
if (coalesce(cfop_produto,'') <> '') then
begin
new.cfop_cfop = cfop_produto;
end
if (coalesce(new.cfop_cfop,'') = '') then
begin
new.cfop_cfop = :cfop_notas;
end
if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then
new.csosn_codigo = '500';
else
begin
select notas.cliente_codigo from notas
where notas.notas_codigo = new.notas_codigo
into :codcliente;
select coalesce(clientes.clientes_ie,'') from
clientes
where clientes.clientes_codigo = :codcliente
into :iecliente;
if ((iecliente = '') or (iecliente= 'ISENTA')) then
new.csosn_codigo = '102';
else
new.csosn_codigo = '101';
end
end
if ((substring(:cfop_notas from 2 for 3) in ('202','904','411'))) then
begin
select (coalesce(produtos.cfop_cfopSaida,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto;
if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then
new.cfop_cfop = substring(:cfop_notas from 1 for 1) || '411';
else
new.cfop_cfop = substring(:cfop_notas from 1 for 1) || '202';
end
if ((cfop_notas = '1904')) then
new.cfop_cfop = :cfop_notas;
if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then
new.csosn_codigo = '500';
else
begin
select notas.cliente_codigo from notas
where notas.notas_codigo = new.notas_codigo
into :codcliente;
select coalesce(clientes.clientes_ie,'') from
clientes
where clientes.clientes_codigo = :codcliente
into :iecliente;
if ((iecliente = '') or (iecliente= 'ISENTA')) then
new.csosn_codigo = '102';
else
new.csosn_codigo = '101';
end
if (new.cfop_cfop = '5933') then
begin
new.csosn_codigo = '400';
/* new.ncm_codigo ='00'; */
end
end
if (new.cfop_cfop = '5933') then
new.csosn_codigo = '400';
if (new.itensnotas_codigo is null) then
new.itensnotas_codigo = gen_id(gen_itensnotas_id,1);
end
CREATE OR ALTER trigger itensnotas_bi for itensnotas
active before insert or update or delete position 0
as
declare variable cfop_produto char(4);
declare variable cfop_notas char(4);
declare variable iecliente char(15);
declare variable codcliente integer;
begin
new.itensnotas_precototal = new.itensnotas_qtde * new.itensnotas_preuntotal;
/* Valor unitario liquido = preco unt total - vl de desc. unt. */
new.itensnotas_pcuntliq = new.itensnotas_preuntotal - new.itensnotas_vldescunit;
/* Valor preco total liquido = preco unt. liq. * qtde */
/* Muitos problemas com isso assim
new.itensnotas_pctotalliq = new.itensnotas_precototal - new.itensnotas_vldestotal; */
new.itensnotas_pctotalliq = new.itensnotas_pcuntliq * new.itensnotas_qtde;
if (inserting) then
begin
if (new.ncm_codigo is null) then
exception exp_dinamica 'Campo NCM não pode ser nulo!!!';
if ((new.itensnotas_qtde is null)or (new.itensnotas_qtde =0 )) then
exception EXP_DINAMICA 'Campo QTDE de Preenchimento Obrigatorio!';
if ((new.itensnotas_preuntotal is null)or (new.itensnotas_preuntotal =0)) then
exception EXP_DINAMICA 'Campo Preco Unit. Total de Preenchimento Obrigatorio!';
/* if ((new.ncm_codigo is null)or (new.ncm_codigo ='')) then
exception EXP_DINAMICA 'NCM INVALIDO'; */
select notas.cfop_cfop from notas where notas.notas_codigo = new.notas_codigo into :cfop_notas;
if ((substring(:cfop_notas from 2 for 3) not in ('202','904','411'))) then
/* if ((cfop_notas <>'1202') and (cfop_notas <> '1904')) then */
if ((substring(:cfop_notas from 1 for 1) in ('1','2','3'))) then
begin
select (coalesce(produtos.cfop_cfopentrada,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto;
if (coalesce(cfop_produto,'') <> '') then
begin
new.cfop_cfop = cfop_produto;
end
if (coalesce(new.cfop_cfop,'') = '') then
begin
new.cfop_cfop = :cfop_notas;
end
end
else if ((substring(:cfop_notas from 1 for 1 ) in ('5','6','7'))) then
begin
select (coalesce(produtos.cfop_cfopSaida,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto;
if (coalesce(cfop_produto,'') <> '') then
begin
new.cfop_cfop = cfop_produto;
end
if (coalesce(new.cfop_cfop,'') = '') then
begin
new.cfop_cfop = :cfop_notas;
end
if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then
new.csosn_codigo = '500';
else
begin
select notas.cliente_codigo from notas
where notas.notas_codigo = new.notas_codigo
into :codcliente;
select coalesce(clientes.clientes_ie,'') from
clientes
where clientes.clientes_codigo = :codcliente
into :iecliente;
if ((iecliente = '') or (iecliente= 'ISENTA')) then
new.csosn_codigo = '102';
else
new.csosn_codigo = '101';
end
end
if ((substring(:cfop_notas from 2 for 3) in ('202','904','411'))) then
begin
select (coalesce(produtos.cfop_cfopSaida,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto;
if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then
new.cfop_cfop = substring(:cfop_notas from 1 for 1) || '411';
else
new.cfop_cfop = substring(:cfop_notas from 1 for 1) || '202';
end
if ((cfop_notas = '1904')) then
new.cfop_cfop = :cfop_notas;
if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then
new.csosn_codigo = '500';
else
begin
select notas.cliente_codigo from notas
where notas.notas_codigo = new.notas_codigo
into :codcliente;
select coalesce(clientes.clientes_ie,'') from
clientes
where clientes.clientes_codigo = :codcliente
into :iecliente;
if ((iecliente = '') or (iecliente= 'ISENTA')) then
new.csosn_codigo = '102';
else
new.csosn_codigo = '101';
end
if (new.cfop_cfop = '5933') then
begin
new.csosn_codigo = '400';
/* new.ncm_codigo ='00'; */
end
end
if (new.cfop_cfop = '5933') then
new.csosn_codigo = '400';
if (new.itensnotas_codigo is null) then
new.itensnotas_codigo = gen_id(gen_itensnotas_id,1);
end
-
- Fresh Boarder
- Posts: 6
- Joined: 12.09.2014, 20:09
Re: Problem with indentation script
Hello I use the 7.2 version. The Delphi is the XE6. The correct indentation should be:EgonHugeist wrote:Hi,
don't worry about your english!
Which version of Zeos do you use? 7.2..??
Could you order/sort the script a bit? It's really hard to read.
What happens/do you expect?
CREATE OR ALTER trigger itensnotas_bi for itensnotas
active before insert or update or delete position 0
as
declare variable cfop_produto char(4);
declare variable cfop_notas char(4);
declare variable iecliente char(15);
declare variable codcliente integer;
begin
new.itensnotas_precototal = new.itensnotas_qtde * new.itensnotas_preuntotal;
/* Valor unitario liquido = preco unt total - vl de desc. unt. */
new.itensnotas_pcuntliq = new.itensnotas_preuntotal - new.itensnotas_vldescunit;
/* Valor preco total liquido = preco unt. liq. * qtde */
/* Muitos problemas com isso assim
new.itensnotas_pctotalliq = new.itensnotas_precototal - new.itensnotas_vldestotal; */
new.itensnotas_pctotalliq = new.itensnotas_pcuntliq * new.itensnotas_qtde;
if (inserting) then
begin
if (new.ncm_codigo is null) then
exception exp_dinamica 'Campo NCM não pode ser nulo!!!';
if ((new.itensnotas_qtde is null)or (new.itensnotas_qtde =0 )) then
exception EXP_DINAMICA 'Campo QTDE de Preenchimento Obrigatorio!';
if ((new.itensnotas_preuntotal is null)or (new.itensnotas_preuntotal =0)) then
exception EXP_DINAMICA 'Campo Preco Unit. Total de Preenchimento Obrigatorio!';
/* if ((new.ncm_codigo is null)or (new.ncm_codigo ='')) then
exception EXP_DINAMICA 'NCM INVALIDO'; */
select notas.cfop_cfop from notas where notas.notas_codigo = new.notas_codigo into :cfop_notas;
if ((substring(:cfop_notas from 2 for 3) not in ('202','904','411'))) then
/* if ((cfop_notas <>'1202') and (cfop_notas <> '1904')) then */
if ((substring(:cfop_notas from 1 for 1) in ('1','2','3'))) then
begin
select (coalesce(produtos.cfop_cfopentrada,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto;
if (coalesce(cfop_produto,'') <> '') then
begin
new.cfop_cfop = cfop_produto;
end
if (coalesce(new.cfop_cfop,'') = '') then
begin
new.cfop_cfop = :cfop_notas;
end
end
else if ((substring(:cfop_notas from 1 for 1 ) in ('5','6','7'))) then
begin
select (coalesce(produtos.cfop_cfopSaida,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto;
if (coalesce(cfop_produto,'') <> '') then
begin
new.cfop_cfop = cfop_produto;
end
if (coalesce(new.cfop_cfop,'') = '') then
begin
new.cfop_cfop = :cfop_notas;
end
if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then
new.csosn_codigo = '500';
else
begin
select notas.cliente_codigo from notas
where notas.notas_codigo = new.notas_codigo
into :codcliente;
select coalesce(clientes.clientes_ie,'') from
clientes
where clientes.clientes_codigo = :codcliente
into :iecliente;
if ((iecliente = '') or (iecliente= 'ISENTA')) then
new.csosn_codigo = '102';
else
new.csosn_codigo = '101';
end
end
if ((substring(:cfop_notas from 2 for 3) in ('202','904','411'))) then
begin
select (coalesce(produtos.cfop_cfopSaida,'')) from produtos where produtos.produtos_codigo = new.produtos_codigo into :cfop_produto;
if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then
new.cfop_cfop = substring(:cfop_notas from 1 for 1) || '411';
else
new.cfop_cfop = substring(:cfop_notas from 1 for 1) || '202';
end
if ((cfop_notas = '1904')) then
new.cfop_cfop = :cfop_notas;
if ((substring(:cfop_produto from 2 for 2) in ('40','41','42','43','44'))) then
new.csosn_codigo = '500';
else
begin
select notas.cliente_codigo from notas
where notas.notas_codigo = new.notas_codigo
into :codcliente;
select coalesce(clientes.clientes_ie,'') from
clientes
where clientes.clientes_codigo = :codcliente
into :iecliente;
if ((iecliente = '') or (iecliente= 'ISENTA')) then
new.csosn_codigo = '102';
else
new.csosn_codigo = '101';
end
if (new.cfop_cfop = '5933') then
begin
new.csosn_codigo = '400';
/* new.ncm_codigo ='00'; */
end
end
if (new.cfop_cfop = '5933') then
new.csosn_codigo = '400';
if (new.itensnotas_codigo is null) then
new.itensnotas_codigo = gen_id(gen_itensnotas_id,1);
end
-
- Fresh Boarder
- Posts: 6
- Joined: 12.09.2014, 20:09
Re: Problem with indentation script
Zeos 7.2 Delphi XE6
- EgonHugeist
- Zeos Project Manager
- Posts: 1936
- Joined: 31.03.2011, 22:38
Re: Problem with indentation script
Well this is because we do unify all whitespaces to a space char/' '.
Have to think about it. AFAIK is it alltime code... Don't know why it was made before.
I do understand your point of view. I'll ask the other developers if we should change it.
Have to think about it. AFAIK is it alltime code... Don't know why it was made before.
I do understand your point of view. I'll ask the other developers if we should change it.
Best regards, Michael
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
- EgonHugeist
- Zeos Project Manager
- Posts: 1936
- Joined: 31.03.2011, 22:38
Re: Problem with indentation script
Should work now like you expects it.
Patch done R3348 \testing-7.2 (SVN)
Patch done R3348 \testing-7.2 (SVN)
Best regards, Michael
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/
You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/