CALCULO DO ICMS BC, ST, IPI E TUDO MAIS

ALISSON 28/03/2010 14:16:41
#338068
GALERA, ACHO QUE ISSO é UM PROBLEMA CLÁSSICO PRA TODO MUNDO... SOMOS PROGRAMADORES E NÃO CONTADORES... HEHEHE ALGUEM TEM OS CÁLCULOS DO ICMS DE ACORDO COM A CST DESEJADA... ESSE PROBLEMA é MUITO COMPLEXO QUANDO VAMOS FAZER CÁLCULOS DE IMPOSTOS (PRINCIPALMENTE NA NF-E)...

Exemplo:

CST: 00 (tributado integralmente)...
Valor do produto: R$ 100,00
Valor da BC: R$ 100,00
Valor ICMS: 18%


CST 10: Tributação por substiuição tributária


Como fazer esses cálculos para preencher a NF-e (campos totais da nota)


Quem souber por favor ajude...


LOOKSYSTEM 28/03/2010 15:01:52
#338069
Caro Alisson, realmente esse cálculo é relativamente simples. o difícil é encontrar os valores para esses cálculo, mas isso não é obrigação sua

O Cálculo é esse:
BCST = TP + (TP * (IVA/100))
VLST = ( BCST * (AI/100) ) - (TP * (ICMS/100))

Onde:
BCST = Base de Cálculo da Substituição Tributária
TP = Total dos Produtos da Nota
IVA = Percentual do IVA do produto
VLST = Valor do ICMS da Substituição Tributária
AI = Aliquota Interna do Estado de Destino da Nota
ICMS = Percentual do ICMS do produto

Espero ter ajudado

Um gde abraço
ALISSON 28/03/2010 15:24:20
#338070
Sim... mais e os cálculos das otras CSTs... 20, 30, 40, 41, 50, 51, 60, 70, 80 e 90??????
SAMUKA 29/03/2010 10:11:58
#338098
Tb estou procurando informações ....
OTAVIOFAVERO 29/03/2010 20:20:55
#338169
olhaaa passei por isso vou te enviar em asp mas to convertendo em vb.net


SQLStringprods = [Ô]SELECT * [Ô]
SQLStringprods = SQLStringprods & [Ô]FROM carrinho where baixa=[ô]sim[ô] and excluido=[ô]nao[ô] and rndc_mudanca=[ô][Ô]&rndc&[Ô][ô][Ô]
SQLStringprods = SQLStringprods & [Ô] ORDER BY id desc [Ô]

set RsMostraBuscaprods = server.createObject([Ô]ADODB.RECORDSET[Ô])
RsMostraBuscaprods.open SQLStringprods,ConexaoSQL,3

If RsMostraBuscaprods.EOF = False Then
calculoicms = [Ô]0[Ô]
valortotal = [Ô]0[Ô]
valortotalbase = [Ô]0[Ô]
contpro = [Ô]0[Ô]
valor_calculoicmsbasecusto = [Ô]0[Ô]

While Not RsMostraBuscaprods.EOF
pecet3_ipi = [Ô]0[Ô]
contpro = contpro + 1*1
codpro = [Ô]0[Ô]
[ô]calculo icms
descri_adc = [Ô][Ô]
qestsub = [Ô][Ô]
qestsubx = [Ô][Ô]
alerte_max = [Ô][Ô]
icms_sub_2 = [Ô][Ô]
sub_tribu_ativa2 = [Ô][Ô]


caldeflator = [Ô][Ô]
mostra_cfop_quadrado = [Ô][Ô]
id_bus = RsMostraBuscaprods([Ô]id_estoque[Ô])
id_est_sub = RsMostraBuscaprods([Ô]id_estoque_sub[Ô])
if len(RsMostraBuscaprods([Ô]id_estoque[Ô])) = [Ô]0[Ô] then id_bus = [Ô]0[Ô]
if len(RsMostraBuscaprods([Ô]id_estoque_sub[Ô])) = [Ô]0[Ô] then id_est_sub = [Ô]0[Ô]


sql = [Ô]SELECT * FROM estoque where id=[Ô]&id_bus
Set rs0 = Server.CreateObject([Ô]ADODB.Recordset[Ô])
rs0.Open sql, conexaoSQL, 3, 3

if rs0.eof = False then
caldeflator = [Ô][Ô]
codpro = rs0([Ô]id[Ô])
codigopro = rs0([Ô]codigopro[Ô])
descricao = rs0([Ô]descricao[Ô])
qest = rs0([Ô]quantidade[Ô])
itencfop = rs0([Ô]cfop[Ô])
valorunitariocusto = rs0([Ô]valorunitario[Ô])
unidadex = rs0([Ô]unidade[Ô])

class_fiscal = rs0([Ô]class_fiscal[Ô])
if isNull(class_fiscal) = True or IsNumeric(class_fiscal) = False or class_fiscal = [Ô][Ô] then class_fiscal=[Ô]0[Ô]

cst = rs0([Ô]cst[Ô])
if isNull(cst) = True or IsNumeric(cst) = False or cst = [Ô][Ô] then cst=[Ô]0[Ô]

strSql = [Ô]Select * from estoque_classificacao where id=[Ô] & class_fiscal
set rs = conexaoSQL.Execute (StrSql)

if rs.eof = False then
ipi = rs([Ô]ipi[Ô])
icms = rs([Ô]icms[Ô])
deflatorxx = rs([Ô]deflator[Ô])
ivaxx = rs([Ô]iva[Ô])


Else
deflatorxx = [Ô]0[Ô]
ivaxx = [Ô]0[Ô]
caldeflator = [Ô][Ô]
caliva = [Ô][Ô]
ipi = [Ô]0[Ô]
icms = [Ô]0[Ô]
iva = [Ô]0[Ô]
deflator = [Ô]0[Ô]

End If
rs.close
set rs = nothing


cst_estadual = [Ô]0[Ô]
cst_estadual_sub = [Ô]0[Ô]
cst_local = [Ô]0[Ô]
strSql2 = [Ô]Select * from estoque_cst where id=[Ô] & cst
set rs2 = conexaoSQL.Execute (StrSql2)

if rs2.eof = False then
cst_estadual = rs2([Ô]cst_estadual[Ô])
cst_estadual_sub = rs2([Ô]cst_estadual_sub[Ô])
cst_local = rs2([Ô]cst_local[Ô])

[ô]response.write cst_estadual
[ô]response.write cst_local&[Ô]|[Ô]

if rs2([Ô]marque[Ô]) = [Ô]ok[Ô] then
deflator = deflatorxx
caldeflator = [Ô]ok[Ô]
else
deflator = [Ô]0[Ô]
caldeflator = [Ô][Ô]
end if

if rs2([Ô]marque_iva[Ô]) = [Ô]ok[Ô] then
iva = ivaxx
caliva = [Ô]ok[Ô]
else
iva = [Ô]0[Ô]
caliva = [Ô][Ô]
end if

else
cst_estadual = [Ô]0[Ô]
cst_estadual_sub = [Ô]0[Ô]
cst_local = [Ô]0[Ô]
iva = [Ô]0[Ô]
deflator = [Ô]0[Ô]
end if





if isNull(ipi) = True or IsNumeric(ipi) = False or ipi = [Ô][Ô] then ipi=[Ô]0[Ô]
if isNull(icms) = True or IsNumeric(icms) = False or icms = [Ô][Ô] then icms=[Ô]0[Ô]
if isNull(deflator) = True or IsNumeric(deflator) = False or deflator = [Ô][Ô] then deflator=[Ô]0[Ô]

valordeflator = deflator
cfopmostra = itencfop


else
caldeflator = [Ô][Ô]
caliva = [Ô][Ô]
ipi = [Ô]0[Ô]
icms = [Ô]0[Ô]
iva = [Ô]0[Ô]
deflator = [Ô]0[Ô]
codpro = [Ô]0[Ô]
codigopro = [Ô]0[Ô]
qest = [Ô]0[Ô]
caldeflator = [Ô][Ô]
valordeflator = [Ô]0[Ô]
itencfop = [Ô]0[Ô]
descricao = [Ô]Produto Excluído![Ô]
end if

if tp_cliente_sele = [Ô]0[Ô] then
caldeflator = [Ô][Ô]
caliva = [Ô][Ô]
end if

if isNumeric(iva) = False or isnull(iva) = True or iva = [Ô][Ô] then iva = [Ô]0[Ô]


valor_venda = RsMostraBuscaprods([Ô]valor_venda[Ô])
if isNumeric(valor_venda) = False or valor_venda = [Ô][Ô] then valor_venda = [Ô]0[Ô]



sql1 = [Ô]SELECT * FROM estoque_sub where id=[Ô]&id_est_sub

Set rs1 = Server.CreateObject([Ô]ADODB.Recordset[Ô])
rs1.Open sql1, conexaoSQL, 3, 3

if rs1.eof = False then

valorunitariocusto = rs1([Ô]valorunitario[Ô])

[ô]response.write id_est_sub

qestsub = rs1([Ô]quantidade[Ô])
qestsubx = [Ô]<b>([Ô]&rs1([Ô]quantidade[Ô])&[Ô])</b>[Ô]
numero_lote = rs1([Ô]numero_lote[Ô])
numero_serie = rs1([Ô]numero_serie[Ô])
if len(numero_lote) > 1 then descri_adc = [Ô] <b>Lote:</b> [Ô]&numero_lote
if len(numero_serie) > 1 then descri_adc = descri_adc & [Ô] <b>N. Serie:</b> [Ô]&numero_serie
cfopmostra = rs1([Ô]cfop[Ô])
cst = rs1([Ô]cst[Ô])
if isNull(cst) = True or IsNumeric(cst) = False or cst = [Ô][Ô] then cst=[Ô]0[Ô]

[ô]response.write cst
cst_estadual = [Ô]0[Ô]
cst_estadual_sub = [Ô]0[Ô]
cst_local = [Ô]0[Ô]
strSql2 = [Ô]Select * from estoque_cst where id=[Ô] & cst
set rs2 = conexaoSQL.Execute (StrSql2)

if rs2.eof = False then
cst_estadual = rs2([Ô]cst_estadual[Ô])
cst_estadual_sub = rs2([Ô]cst_estadual_sub[Ô])
cst_local = rs2([Ô]cst_local[Ô])

if rs2([Ô]marque[Ô]) = [Ô]ok[Ô] then
deflator = deflatorxx
caldeflator = [Ô]ok[Ô]
else
deflator = [Ô]0[Ô]
caldeflator = [Ô][Ô]
end if

if rs2([Ô]marque_iva[Ô]) = [Ô]ok[Ô] then
iva = ivaxx
caliva = [Ô]ok[Ô]
else
iva = [Ô]0[Ô]
caliva = [Ô][Ô]
end if

else
cst_estadual = [Ô]0[Ô]
cst_estadual_sub = [Ô]0[Ô]
cst_local = [Ô]0[Ô]
iva = [Ô]0[Ô]
deflator = [Ô]0[Ô]
end if

if isNull(deflator) = True or IsNumeric(deflator) = False or deflator = [Ô][Ô] then deflator=[Ô]0[Ô]

valordeflator = deflator

if qestsub < RsMostraBuscaprods([Ô]quantidade[Ô]) then alerte_max = [Ô]sim[Ô]

else
cfopmostra = itencfop
if qest < RsMostraBuscaprods([Ô]quantidade[Ô]) then alerte_max = [Ô]sim[Ô]

qestsub = [Ô][Ô]
qestsubx = [Ô][Ô]
numero_lote = [Ô][Ô]
numero_serie = [Ô][Ô]
end if

[ô]************************************************* fim dados prrodutos

[ô]************************************************* inicio regras cfops

cfopmostrasinal = [Ô][Ô]
cfopmostralista = [Ô][Ô]

if isNumeric(cfopmostra) = False or isnull(cfopmostra) = True or cfopmostra = [Ô][Ô] then cfopmostra = [Ô]0[Ô]

if marque_subcfop = [Ô]ok[Ô] then

Set oRScfopx = conexaoSQL.Execute([Ô]select * from estoque_cfop where id=[Ô]&cfopmostra)
IF oRScfopx.EOF = False then

if oRScfopx([Ô]marque_cfop_sub[Ô]) = [Ô]ok[Ô] then
caliva = [Ô]ok[Ô]
iva = ivaxx
if sub_tribu_ativa = [Ô]ok[Ô] then
icms_sub_2 = icms
end if
sub_tribu_ativa_aviso = [Ô]ok[Ô]
sub_tribu_ativa2 = [Ô]ok[Ô]
end if
end if

cfop_local = cfop_local_sub
if isNumeric(cfop_local) = False or isnull(cfop_local) = True or cfop_local = [Ô][Ô] then cfop_local = [Ô]0[Ô]
Set oRScfopx1 = conexaoSQL.Execute([Ô]select * from estoque_cfop where id=[Ô]&cfop_local)
IF oRScfopx1.EOF = False then

cfop_local_escreve = oRScfopx1([Ô]cfop[Ô])
else
cfop_local_escreve = [Ô][Ô]
end if

cfop_estadual = cfop_estadual_sub
if isNumeric(cfop_estadual) = False or isnull(cfop_estadual) = True or cfop_estadual = [Ô][Ô] then cfop_estadual = [Ô]0[Ô]
Set oRScfopx2 = conexaoSQL.Execute([Ô]select * from estoque_cfop where id=[Ô]&cfop_estadual)
IF oRScfopx2.EOF = False then

cfop_estadual_escreve = oRScfopx2([Ô]cfop[Ô])
else
cfop_estadual_escreve =[Ô][Ô]
end if
else
Set oRScfopx = conexaoSQL.Execute([Ô]select * from estoque_cfop where id=[Ô]&cfopmostra)
IF oRScfopx.EOF = False then
cfopescreveentratada=oRScfopx([Ô]cfop[Ô])

if oRScfopx([Ô]marque_cfop_sub[Ô]) = [Ô]ok[Ô] then
caliva = [Ô]ok[Ô]
iva = ivaxx
if sub_tribu_ativa = [Ô]ok[Ô] then
icms_sub_2 = icms
end if
sub_tribu_ativa_aviso = [Ô]ok[Ô]
sub_tribu_ativa2 = [Ô]ok[Ô]
end if

cfop_local = oRScfopx([Ô]cfop_local[Ô])
if isNumeric(cfop_local) = False or isnull(cfop_local) = True or cfop_local = [Ô][Ô] then cfop_local = [Ô]0[Ô]
Set oRScfopx1 = conexaoSQL.Execute([Ô]select * from estoque_cfop where id=[Ô]&cfop_local)
IF oRScfopx1.EOF = False then
cfop_local_escreve = oRScfopx1([Ô]cfop[Ô])
else
cfop_local_escreve = [Ô][Ô]
end if

if sub_tribu_ativa = [Ô]ok[Ô] then
cfop_estadual = oRScfopx([Ô]cfop_estadual_sub[Ô])
else
cfop_estadual = oRScfopx([Ô]cfop_estadual[Ô])
end if

if isNumeric(cfop_estadual) = False or isnull(cfop_estadual) = True or cfop_estadual = [Ô][Ô] then cfop_estadual = [Ô]0[Ô]
Set oRScfopx2 = conexaoSQL.Execute([Ô]select * from estoque_cfop where id=[Ô]&cfop_estadual)
IF oRScfopx2.EOF = False then
cfop_estadual_escreve = oRScfopx2([Ô]cfop[Ô])
else
cfop_estadual_escreve =[Ô][Ô]
end if

cfopmostrasinal = oRScfopx([Ô]sinalcfop[Ô])
else
cfop_local_escreve = [Ô][Ô]
cfop_estadual_escreve =[Ô][Ô]
end if
end if
[ô]************************************************* fim regras cfops

if icms_sub = [Ô][Ô] then
icms = icms
else
if icms_sub_2 = [Ô][Ô] then
icms = icms_sub
else
icms = icms_sub_2
end if
end if

if isNumeric(icms) = False or icms = [Ô][Ô] then icms = [Ô]0[Ô]

[ô]inicio calculo

pecet1_ipi = ipi / 100
pecet2_ipi = pecet1_ipi*valor_venda
pecet3_ipi = pecet2_ipi*RsMostraBuscaprods([Ô]quantidade[Ô])

if isNumeric(pecet3_ipi) = False or pecet3_ipi = [Ô][Ô] then pecet3_ipi = [Ô]0[Ô]

calculoipi = calculoipi + pecet3_ipi*1


valor_unititem = RsMostraBuscaprods([Ô]valor_venda[Ô])

if isNumeric(valor_unititem) = False or isnull(valor_unititem) = True or valor_unititem = [Ô][Ô] then valor_unititem = [Ô]0[Ô]
if isNumeric(valordeflator) = False or isnull(valordeflator) = True or valordeflator = [Ô][Ô] then valordeflator = [Ô]0[Ô]

if tp_cliente_sele = [Ô]0[Ô] then
caldeflator = [Ô][Ô]
caliva = [Ô][Ô]
end if


if caldeflator = [Ô]ok[Ô] then

if valordeflator = [Ô]0[Ô] then

valor_unititembaset = abs((valor_unititem*RsMostraBuscaprods([Ô]quantidade[Ô])))
valor_unititembasetuni = abs(valor_unititem)

else

if estado_base_do_sistema_uf = uf_estado_cli then
valor_unititembaset = abs((valor_unititem*RsMostraBuscaprods([Ô]quantidade[Ô]))*valordeflator)
valor_unititembasetuni = abs(valor_unititem*valordeflator)
else
valor_unititembaset = abs((valor_unititem*RsMostraBuscaprods([Ô]quantidade[Ô])))
valor_unititembasetuni = abs(valor_unititem)
end if
end if


else
valor_unititembaset = (valor_unititem*RsMostraBuscaprods([Ô]quantidade[Ô]))
valor_unititembasetuni = valor_unititem
end if

valortotal = valortotal + (valor_unititem*RsMostraBuscaprods([Ô]qu
OTAVIOFAVERO 29/03/2010 20:25:05
#338170
imendaa aii

[ô]************************************************* fim regras cfops

if icms_sub = [Ô][Ô] then
icms = icms
else
if icms_sub_2 = [Ô][Ô] then
icms = icms_sub
else
icms = icms_sub_2
end if
end if

if isNumeric(icms) = False or icms = [Ô][Ô] then icms = [Ô]0[Ô]

[ô]inicio calculo

pecet1_ipi = ipi / 100
pecet2_ipi = pecet1_ipi*valor_venda
pecet3_ipi = pecet2_ipi*RsMostraBuscaprods([Ô]quantidade[Ô])

if isNumeric(pecet3_ipi) = False or pecet3_ipi = [Ô][Ô] then pecet3_ipi = [Ô]0[Ô]

calculoipi = calculoipi + pecet3_ipi*1


valor_unititem = RsMostraBuscaprods([Ô]valor_venda[Ô])

if isNumeric(valor_unititem) = False or isnull(valor_unititem) = True or valor_unititem = [Ô][Ô] then valor_unititem = [Ô]0[Ô]
if isNumeric(valordeflator) = False or isnull(valordeflator) = True or valordeflator = [Ô][Ô] then valordeflator = [Ô]0[Ô]

if tp_cliente_sele = [Ô]0[Ô] then
caldeflator = [Ô][Ô]
caliva = [Ô][Ô]
end if


if caldeflator = [Ô]ok[Ô] then

if valordeflator = [Ô]0[Ô] then

valor_unititembaset = abs((valor_unititem*RsMostraBuscaprods([Ô]quantidade[Ô])))
valor_unititembasetuni = abs(valor_unititem)

else

if estado_base_do_sistema_uf = uf_estado_cli then
valor_unititembaset = abs((valor_unititem*RsMostraBuscaprods([Ô]quantidade[Ô]))*valordeflator)
valor_unititembasetuni = abs(valor_unititem*valordeflator)
else
valor_unititembaset = abs((valor_unititem*RsMostraBuscaprods([Ô]quantidade[Ô])))
valor_unititembasetuni = abs(valor_unititem)
end if
end if


else
valor_unititembaset = (valor_unititem*RsMostraBuscaprods([Ô]quantidade[Ô]))
valor_unititembasetuni = valor_unititem
end if

valortotal = valortotal + (valor_unititem*RsMostraBuscaprods([Ô]quantidade[Ô]))*1

if caliva = [Ô]ok[Ô] then

if sub_tribu_ativa = [Ô]ok[Ô] then

else
calculoicms = calculoicms + (valor_unititembaset * icms) / 100

valortotalbase = valortotalbase + valor_unititembaset*1

valor_unititembasecusto = [Ô]0[Ô]
end if
else
calculoicms = calculoicms + (valor_unititembaset * icms) / 100

valortotalbase = valortotalbase + valor_unititembaset*1

valor_unititembasecusto = [Ô]0[Ô]
end if


if caliva = [Ô]ok[Ô] then

if sub_tribu_ativa = [Ô]ok[Ô] then
valor_unititembasecusto = abs((((valorunitariocusto)*RsMostraBuscaprods([Ô]quantidade[Ô]))*abs(pecet1_ipi+1))* ((iva / 100)+1))
valor_unititembasecustosemiva = abs((((valorunitariocusto)*RsMostraBuscaprods([Ô]quantidade[Ô]))*abs(pecet1_ipi+1)))
ativa_aviso_subtrib = [Ô]ok[Ô]

if caldeflator = [Ô]ok[Ô] then
if valordeflator = [Ô]0[Ô] then
valor_unititembasecusto = abs(valor_unititembasecusto)
else
if estado_base_do_sistema_uf = uf_estado_cli then
valor_unititembasecusto = abs(valor_unititembasecusto*valordeflator)
valor_unititembasecustosemiva = abs(valor_unititembasecustosemiva*valordeflator)
else
valor_unititembasecusto = abs(valor_unititembasecusto)
valor_unititembasecustosemiva = abs(valor_unititembasecustosemiva)
end if
end if
end if

somabasedecalculoiva = somabasedecalculoiva + valor_unititembasecusto
somabasedecalculoivasemiva = somabasedecalculoivasemiva + valor_unititembasecustosemiva

valor_calculoicmsbasecusto = valor_calculoicmsbasecusto + ((valor_unititembasecusto * icms) / 100)
valor_calculoicmsbasecustosemiva = valor_calculoicmsbasecustosemiva + ((valor_unititembasecustosemiva * icms) / 100)

[ô]response.write valor_unititembasecusto&[Ô] | [Ô]&valorunitariocusto
else
somabasedecalculoiva = somabasedecalculoiva
valor_calculoicmsbasecusto = valor_calculoicmsbasecusto
valor_calculoicmsbasecustosemiva = valor_calculoicmsbasecustosemiva
end if

else

somabasedecalculoiva = somabasedecalculoiva
valor_calculoicmsbasecusto = valor_calculoicmsbasecusto
end if






if estado_base_do_sistema_uf = uf_estado_cli then
cfopmostralista = cfop_local_escreve
cst_x = cst_local
else
cfopmostralista = cfop_estadual_escreve
if sub_tribu_ativa = [Ô]ok[Ô] then
cst_x = cst_estadual_sub
else
cst_x = cst_estadual
end if
end if
[ô]response.write cst_local
[ô]response.write cst_estadual

if tp_cliente_sele = [Ô]0[Ô] then
cst_x = cstpf_local
end if

if isNumeric(cst_x) = False or isnull(cst_x) = True or cst_x = [Ô][Ô] then cst_x = [Ô]0[Ô]
Set oRScst2 = conexaoSQL.Execute([Ô]select * from estoque_cst where id=[Ô]&cst_x)
IF oRScst2.EOF = False then
cst_x_escreve = oRScst2([Ô]cst[Ô])
else
cst_x_escreve =[Ô][Ô]
end if
%>


<%unid = unidadex
if Isnumeric(unid) = False or isnull(unid) = True or unid = [Ô][Ô] then unid = [Ô]0[Ô]
Set oRS22 = conexao.Execute([Ô]select * from unidade where id=[Ô]&unid )
if oRS22.eof = False then
unix = oRS22([Ô]tipo[Ô])
end if%> <% itencfopx = cfopmostra
if isnull(itencfopx) = True or itencfopx = [Ô][Ô] then itencfopx = [Ô]0[Ô]

temp = [Ô][Ô]
loop0 = [Ô][Ô]
temp = split(itencfopx,[Ô],[Ô])

id_vetor = split(valorcfop,[Ô],[Ô])

For loop0 = LBound(temp) to UBound(temp)


bloqueia = [Ô][Ô]
basecom = Trim(temp(loop0))

For loop1 = LBound(id_vetor) to UBound(id_vetor)
conpare = Trim(id_vetor(loop1))

[ô]response.write loop1&[Ô]/[Ô]
[ô]response.write basecom&[Ô]<br>/[Ô]

if (conpare) = (basecom) then
[ô]response.write [Ô]exite igual[Ô]
bloqueia = [Ô]ok[Ô]
end if

Next
if bloqueia = [Ô][Ô] then
[ô]response.write [Ô]exitexx[Ô]
valorcfop = valorcfop & [Ô],[Ô] & basecom
end if

Next
%> <table width=[Ô]775[Ô] border=[Ô]0[Ô] cellspacing=[Ô]0[Ô] cellpadding=[Ô]0[Ô]>
<tr>
<td width=[Ô]39[Ô] align=[Ô]left[Ô]><span class=[Ô]font0[Ô]><%if caldeflator = [Ô]ok[Ô] then%><% ativa_aviso_deflator = [Ô]ok[Ô] %>*<%end if%></span><span class=[Ô]font3[Ô]> <%=cfopmostralista%> </span></td>
<td width=[Ô]394[Ô]><span class=[Ô]font3[Ô]><%=codigopro%> - </span><span class=[Ô]font3[Ô]><%=Ucase(descricao)%>
  <%=descri_adc%></span></td>
<td width=[Ô]31[Ô] align=[Ô]right[Ô]><span class=[Ô]font3[Ô]><%=cst_x_escreve%></span>  </td>
<td width=[Ô]38[Ô] align=[Ô]right[Ô]><span class=[Ô]font3[Ô]><%=Ucase(unix)%></span>  </td>
<td width=[Ô]54[Ô] align=[Ô]right[Ô]><span class=[Ô]font3[Ô]><%=Ucase(RsMostraBuscaprods([Ô]quantidade[Ô]))%>  </span></td>
<td width=[Ô]86[Ô] align=[Ô]right[Ô]><span class=[Ô]font3[Ô]><%=replace(FormatCurrency(RsMostraBuscaprods([Ô]valor_venda[Ô])),[Ô]R$ [Ô], [Ô][Ô])%></span> </td>
<td width=[Ô]109[Ô] align=[Ô]right[Ô]><span class=[Ô]font3[Ô]><%=replace(FormatCurrency(RsMostraBuscaprods([Ô]valor_venda[Ô])*RsMostraBuscaprods([Ô]quantidade[Ô])*1),[Ô]R$ [Ô], [Ô][Ô])%>   </span></td>
<td width=[Ô]24[Ô] align=[Ô]left[Ô]><span class=[Ô]font3[Ô]><%if mostra_icms = [Ô]ok[Ô] then%><%if caliva = [Ô]ok[Ô] then%><%if sub_tribu_ativa = [Ô]ok[Ô] then%>00<%else%><%=Ucase(icms)%><%end if%><%else%><%if icms_sub = [Ô][Ô] then%><%=Ucase(icms)%><%else%><%if icms_sub_2 = [Ô][Ô] then%><%=icms_sub%><%else%><%=icms_sub_2%><%end if%><%end if%><%end if%><%else%>0<%end if%>  </span></td>
</tr>
</table>
<%RsMostraBuscaprods.MoveNext
Wend%>
Tópico encerrado , respostas não são mais permitidas