Skip to content

Aviso: Este artigo ainda é um rascunho!

Explicação e modelo de configuração de séries para o Totali Lite e Checkout.

Texto antes dos itens ​

O texto antes dos itens é o cabeçalho da nota, onde geralmente imprime o número da nota, natureza, dados do cliente e detalhamento das parcelas.

Modelo 1 (Dados do cliente com parcelamento) ​

{vendas.numnot}

{TAM(m.desnature,20)} {TAM(codnature,4)}

{cliente.nomcli} {cliente.numdoc}{vendas.datope}

{cliente.endere}{TAM(cliente.comple,12)} {cliente.codcep}

{lecidade(cliente.codcep,30,.t.)}{cliente.codddd}-{cliente.numfon} {cidade.sigest} {cliente.insest}

{nparcela[1]} {dparcela[1]} {vparcela[1]} {nparcela[4]} {dparcela[4]} {vparcela[4]} {nparcela(7)} {dparcela(7)} {vparcela(7)} {nparcela[2]} {dparcela[2]} {vparcela[2]} {nparcela[5]} {dparcela[5]} {vparcela[5]} {nparcela[8]} {dparcela[8]} {vparcela[8]} {nparcela[3]} {dparcela[3]} {vparcela[3]} {nparcela[6]} {dparcela[6]} {vparcela[6]} {nparcela[9]} {dparcela[9]} {vparcela[9]}

Itens do produto ​

Básico ​

{itens.codpro+itens.digpro)} {alltrim(TAM(itens.desmat,20))} {produto.unidad} {TAM(itens.qtdade,2)} {TAM(itens.precov,10,2)} {TAM(itens.ntotal,8,2)} {m.taxicm}

Subtotalização por situação tributaria/alíquota de ICMS ​

Esta configuração deverá continuar na mesma linha da configuração dos itens. Exemplo:

{iif(lGeraTotal, lf + space(36) + 'SubTotal '+iif(itens.sittri $ '060-070' , '574 ', '512 ') + 'VB.ICMS:' + str(nSubTotTt,10,2)+space( 6)+'VLR.ICMS:' + str(nSubTotIp,6,2) + 'Total:' + str(nSubTotTt,9,2)+' VB.Cont:' + str(nSubTotVc,10,2),)}

Observação dos Produtos ​

Esta configuração deverá continuar na mesma linha da configuração dos itens. Exemplo: {IIF(EMPTY(ITENS.OBSERV),,CHR(13)+ITENS.OBSERV)}

Texto entre produto e serviço ​

O texto entre produto e serviço é utilizado para configurar o desconto da nota ou outros campos. Caso a nota não tenha serviço pode ser configurado tudo no bloco ?Texto após os itens?.

Exemplo:

{SPACE(63)}{IIF(VENDAS.VLRNOT<>VENDAS.VLRLIQ, 'Desconto Promocional R$ ' +tam((vendas.vlrnot)-(vendas.vlrliq),6,2), '-')}{lf}{lf}{lf} {space(90)}031997{lf}

Itens de serviço ​

Básico ​

{TAM(itens.desmat,28)} {TAM(itens.precov,10,2)} {TAM(itens.ntotal,6,2)} {m.taxiss,2,1}

Totalizadores à direita ​

{iif(vartype(nserpassados)='N',tam(itens.refpro,8)+"

"+tam(itens.desmat,45)+space(25)+TRANS(itens.precov,"@R

99,999.99")+iif(nserpassados=1,space(25)+"12505","")+iif(nserpassados=m.totservico and

nserpassados<2,LF+space(119)+"5,00%","")+iif(nserpassados=2,space(31)+"5,00%","")+iif(nserpassados=m.totservico and

nserpassados<3,LF+space(118)+tam(m.vlriss,6,2),"")+iif(nserpassados=3,space(30)+tam(m.vlriss,6,2),"")+iif(nserpassados=m.totservico and

nserpassados<4,LF+space(99)+"IRRF"+space(17)+"0,00","")+iif(nserpassados=4,space(12)+"IRRF"+space(16)+"0,00","")+iif(nserpassados=m.totservico and

nserpassados<5,LF+space(115)+trans(m.basiss,"@R

99,999.99"),"")+iif(nserpassados=5,space(27)+trans(m.basiss, "@R 99,999.99"),""),"")}

Texto após os itens ​

Nota de Continuação ​

A nota de continuação é um recurso utilizado para informar mais itens do que cabem na impressão de uma página sem precisar fazer várias vendas. Para isto basta configurar o bloco ?Texto apos os itens? da seguinte forma: {iif( LTemContinuacao, '*********', tam(vendas.VlrLiq, 9, 2))}

Sem a nota de continuação ficaria assim: {tam(vendas.VlrLiq, 9, 2)}

Neste exemplo será impressa uma nota onde os valores das primeiras páginas serão substituídos por ********* e na observação será acrescentada a mensagem: "SEGUE NO PROXIMO FORMULARIO". Na última página serão impressos os valores ao invés dos asteriscos e com a mensagem "CONTINUACAO DO FORMULARIO ANTERIOR" incluída na observação. ÿ uma exigência legal a troca de todos os totais da nota por asteriscos quando for nota fiscal continuação.

Exemplo ​

{lf}{lf} {lf}{space(8)}{tam(ABS(basicm),8,2)}{space(15)}{tam(ABS(vlricm),6,2)}{space(53)}{TAM(ABS(vendas.vlrliq),10,2)}{lf}{lf}{space(90)}{iif(LTemContinuacao, '*********',tam(ABS(vendas.VlrLiq), 10, 2))}{lf}{lf}{lf}Sem Transport.{space(42)}1

Placa:{TAM(VENDAS.PLACAS,8)}{OBS(1,17)}{space(2)}-{space(2)}KM:{vendas.qtd_km}{OBS(2,17)} {CLIENTE.CHAVECLI} {VENDAS.OBSERV} {vendas.origem} {Vendas.destin} {SE(NVLRSUBSTTCOM>0, 'ICMS pago por Substi.tributaria em operacao'+chr(10)+chr(13)+'anterior Decreto 41.183 de 24/09/1996', ' ')}

{space(90)}{vendas.numnot}

Variáveis ​

Geral ​

{PAEMPRESA} NOME DA EMPRESA

{PAENDERE1} ENDEREÿO

{PAENDERE2} CIDADE

{PACGCEMP} CGC

{PAFAXEMP} FAX

{PAFONEMP} FONE

{trans(vendas.horope,?@R 99:99.00?)} hora

{m.natureza} imprime codigo e descricao da natureza.

{m.codnature} imprime codigo da natureza ex: "5.12-000"

{m.desnature} imprime descricao da natureza ex: "Venda ao consumidor"

{strzero(day(VENDAS.DATOPE),2)+'/'+strzero(month(VENDAS.DATOPE),2)+'/'+str(year(VENDAS.DATOPE), 4)} imprime data com 04 casas para o ano.

{dparcela[N]} Vcto. da parcela, (onde [N] é a sequencia das parcelas).

{nparcela[N]} Número da parcela, (onde [N] é a sequencia das parcelas).

{vparcela[N]} Valor da parcela, (onde [N] é a sequencia das parcelas).

{M.TOTPARC} Total das Parcelas

{M.TOTQTD} quantidade total dos produtos vendidos.

{OBS(N,T)} Observação da venda, (onde a letra "n" é o numero da linha e a letra "t" é o numero de caracteres.

{OBS(N,T,PRODUTO.OBSERV) Observacao do produto, (onde a letra "n" é o nr.

da linha e a letra "t" é o numero de caracteres.

{M.MSGDES} Mensagem de desconto

{ M.VLRDES} Valor de desconto

{ M.PERDES} Percentual de desconto.

{ M.EXTEN1} Valor por extenso (linha1)

{ M.EXTEN2} Valor por extenso (linha2)

{ M.EXTEN3} Valor por extenso (linha3)

{LECIDADE(CLIENTE.CODCEP,2,.T.,.T.)} Estado do endereço do cliente

{M.TOTPRO}Valor total dos produtos menos os serviços.

{ M.VLRICM} Valor do ICMS

{ M.TAXICM} Percentual do ICMS

{ M.VLRIPI} Valor do IPI

{ M.TAXIPI} Percentual do IPI

{ M.VLRISS} Valor do ISS

{ M.TAXISS} Percentual do ISS

{ M.ISSITE} Valor do ISS do Item

{ M.ICMITE} Valor do ICM do Item

{ M.IPIITE} Valor do IPI do Item { M.BASICM} Base de cálculo do ICM

{ M.BASISS} Base de cálculo do ISS

{ M.BASIPI} Base de cálculo do IPI

{LECIDADE(CLIENTE.CODCEP,30,.T.)} Cidade do cliente

{PuNomCla4[NomeCLASSE(@PuLetCla4,PRODUTO.CLASS4)]} Imprime as classes dos produtos neste caso a Classe 4.

{tam(vendas.vlrnot,12,2)} Valor da Nota

{tam(vendas.vlrliq,12,2)} Valor Liquido

{tam(vendas.descon,6,2)} Desc/Acres %

{trans((vendas.vlrnot*vendas.descon)/100,"@R 999,999,999.99")} Desc/Acres R$

{tam((100*vendas.vlrliq/vendas.vlrnot)-100,6,2)}% DESCONTO/ACRESCIMO

{VENDAS.DESCON*ITENS.PRECOV/100} ? Valor de desconto por item.

{vendedor.codusu}{vendedor.digusu} Código e dígito do vendedor

{VENDEDOR.NOMUSU} Nome do vendedor

{plano.codpgt}{plano.digpgt} Código e Dígito do Plano

{plano.despgt} Descricao do Plano

{Caixa(1,10)} Forma de Recebimento e Valor

{M.nBaseRedICM} Base de cálculo reduzida de ICMS {M.nVlrRedIcm} Valor do Icms reduzido

{movtos.vlrmov} = Impressão das casas decimais corretas no Totali CheckOut

Para imprimir no Layout da Nota Fiscal se é entrada ou Saída = {iif(m.QualItem= 'TUDO' and NEGATIVO, 'Entrada', iif(m.Qualitem='TUDO' and POSITIVO, 'Saida',

iif(m.Qualitem='+', 'SAIDA', 'ENTRADA')))}

{aBasICMS[n]} = Base ICMS

{aVlrICMS[n]} = Valor ICMS

{aPerICMS[n]} = Percentual ICMS

{aSitICMS[n]} = Situação Tributária ICMS

A letra ?n? destas 4 variáveis podem variar de 1 a 10, semelhante ao uso do nparcela[]. Caso tenha algum produto ISENTO na venda estará fixo na posição 10.

Frete ​

{paespecie} = Espécie

{vendas.FR_FOR} = Código da transportadora. As demais colunas: endereço,... deve ser pegos do cadastro de fornecedores.

{vendas.FR_E_D} = Frete por conta 1 -Emitente, 2 - Destinatário

{vendas.FR_CON} = Numero do conhecimento

{vendas.FR_VOL} = Numero de volumes

{vendas.FR_PLA} = Placa

{vendas.FR_UFP} = UF da placa

{vendas.FR_DAT} = Data de saída

{vendas.FR_BRU} = Peso Bruto

{vendas.FR_LIQ} = Peso líquido

{vendas.FR_FRE} = Valor do frete

{vendas.FR_SEG} = Valor do seguro

{vendas.FR_MAR} = Marca

Observação da Reimpressão de CF em NF ​

A observação da nota no caso de reimpressão de CF é definida pela variável {M.PUOBSERV}. Nesta observação será listado todos dos cupons que fazem parte da nota através da mensagem: ?NF emitida a partir do(s) Cupom(ns) Fiscal(is)...?. O comprimento desta observação é controlado pela variável PaTmPuObserv que é configurada somente pela manutenção, conforme exemplo abaixo: PatmPuObserv = 100 =Queda(?N?)

Consultar de domínios em qualquer tabela ​

Através da função ConsultaTabela é possível buscar qualquer domínio relacionado com uma tabela principal.

a) Para consultar a classe de um produto:

Ex: ConsultaTabela( PRODUTO.CLASS3, 'CLASS3', ?TABELAS?, ?LETRA?)

b) Descrição do Boleto:

Ex: ConsultaTabela(VENDAS.COBRAN, 'DESCOB', 'TABELAS', 'LETRA')

c) Localizar nome de Vendedor

{ConsultaTabela(VENDAS.CODVEN, 'NOMUSU', 'USUARIO', 'CODUSU')}

Várias naturezas na mesma venda ​

A função NaturezasHParts permite que seja impressa todas as naturezas na venda no cabeçalho da nota. Pode-se pegar qualquer informação das tabelas (I)tens, (P)roduto, (G)rade, (T3)abelas-Class3 e (T4)abelas-Class4 usando a letra entre parênteses para se referir a tabela. A fórmula não pode ultrapassar 256 caracteres.

Exemplo de fórmula:

{NaturezasHParts('iif(i.sittri="060","SUBS","NORMAL")+nvl(t4.class4,"00")+nvl(t3.class3,"00")','/')}

Dados da Empresa ​

Estas variáveis são importadas do Totali Commerce. (Disponível no Commerce 4.0c ou superior):

{PaNtNOMFIL} = Nome da Filial

{PaNtENDERE} = Endereço

{PaNtCOMPLE} = Complemento

{PaNtCODCEP} = CEP

{PaNtCODLOG} = Complemento do CEP

{PaNtNUMFON} = Telefone

{PaNtCODDDD} = Código DDD

{PaNtNOMCID} = Cidade

{PaUfLoja} = Estado

{PaNtINSEST} = Inscrição Estadual

{PaNtNUMDOC} = CNPJ

{PaNtRAZSOC} = Razão social da filial

Dados para postos de combustíveis ​

Variáveis utilizadas para Postos de Combustíveis:

{vendas.qtd_km} = Km digitado na venda;

{vendas.placas} = Placa digitada na venda;

{vendas.codmot} = Código do Motorista da transportadora;

{vendas.origem} = Origem informada logo após a digitação da Placa;

{vendas.destin} = Destino informado logo após a digitação da Placa;

{vendas.msgtra} = Mensagem da Transportadora informada logo após a digitação da Placa.