terça-feira, 28 de dezembro de 2010

Conhecendo os Fundamentos do ICMS ST (Substituição Tributária)

Olá Amigos! Resolvi escrever sobre um assunto complicado para os programadores, principalmente os iniciantes! Lembro-me que quando comecei, logo de cara tinha que fazer um cálculo de Substituição Tributária em um software de emissão de notas fiscais
Os problemas apareceram quando resolvi perguntar ao contador do cliente. Aí sim descobri que quase ninguém domina esse assunto! Felizmente isso são águas passadas. Hoje resolvi escrever esse artigo para ajudar aqueles que estão passando por algo parecido.

Vou utilizar algumas nomenclaturas comuns para quem já está trabalhando com NFe (Nota Fiscal Eletrônica).

Base de cálculo (BC)

A Lei Complementar nº 87/96 em seu artigo 8º, ao tratar do regime de sujeição passiva por substituição, determina que a base de cálculo será o valor correspondente ao preço de venda a consumidor acrescido do valor do frete, IPI e demais despesas debitadas ao estabelecimento destinatário, bem como a parcela resultante da aplicação (sobre esse total) do percentual de valor agregado (margem de lucro). Esse percentual é estabelecido em cada caso de acordo com as peculiaridades de cada mercadoria.

BC = (Valor mercadoria + frete + IPI + outras despesas) x Margem de lucro

Margem de valor agregado

A margem de valor agregado será determinada com base em preços usualmente praticados no mercado, obtidos por levantamento, ainda que por amostragem ou através de informações e outros elementos fornecidos por entidades representativas dos setores, adotando-se a média ponderada dos preços coletados. A mercadoria submetida ao regime de substituição tributária em operação interestadual terá a margem de valor agregado estabelecida em Convênio ou Protocolo.

Esse campo o escritório de contabilidade deverá fornecer ao cliente. 

Forma para realizar o cálculo

Devemos pensar em dois pontos básicos: trabalhar com o ICMS da OPERAÇÃO PRÓPRIA e o ICMS DAS OPERAÇÕES SUBSEQUENTES. Assim Temos:

O ICMS da operação própria - realizará uma seqüência de operações matemáticas para chegar a um valor que será utilizado no próximo item.
O ICMS das operações subsequentes - realizará os cálculos necessários para chegar ao valor do ICMS – ST.

Vou exemplificar. Pense em uma operação realizada por um fabricante de brinquedos estabelecido no estado de São Paulo, vendendo à um cliente do mesmo estado. A venda é de R$ 1.000,00 e com IPI calculado a uma alíquota de 5%, teremos:

Nosso 1º passo será realizar o cálculo do ICMS de Operação Própria:
ICMS da operação própria = R$ 1.000,00 x 18% (SP para SP) = R$ 180,00*
* Devemos guardar esse resultado em uma variável para uso futuro

2º Passo, calcular a Base de Cálculo ST:
Base cálculo da ST = R$ 1.000,00 + R$ 50,00 (5% de IPI) + 52% (margem de valor agregado) = R$ 1.596,00

3º Passo, encontrar o valor do ICMS ST
R$ 1.596,00 x 18% (SP para SP) = R$ 287,28

O valor do imposto substituição será a diferença entre o calculado no 1º passo e o do 3º passo. Você se lembra daquela variável guardada no 1º passo? Pois bem, agora usaremos ela para realizar o cálculo da diferença.

R$ 287,28 – R$ 180,00 = R$ 107,28

Pronto, o valor do ICMS – ST é R$ 107,28

Bom é isso ai pessoal! No próximo material pretendo exemplificar em Delphi o funcionamento prático desse artigo!

Espero ter ajudado! 
Um forte abraço!


quinta-feira, 23 de dezembro de 2010

Microsoft planeja novo Windows para tablets


Nova versão funcionará com chips da ARM, concorrente da Intel.
'O mercado móvel será uma batalha para a Microsoft', diz analista.

Da Reuters
Windows Phone 7Mais de 1,5 milhão de celulares com WP7
foram vendidos nas seis primeiras semanas
do lançamento. (Foto: Reprodução)
A Microsoft está trabalhando em uma versão do Windows para aparelhos como computadores tablet, de acordo com reportagens da imprensa, e a empresa informou que o sistema Windows Phone está fazendo progresso no mercado de celulares inteligentes.
A Microsoft planeja revelar uma versão de seu sistema operacional que pela primeira vez poderá ser executada pelo processadores projetados pela britânica ARM Holdings, de acordo com o Wall Street Journal e a agência de notícias Bloomberg.
A nova versão do Windows funcionará com a arquitetura de chips da ARM, que concorre com os processadores da linhagem x86 da Intel, de acordo com pessoas próximas do assunto citadas pelo jornal.
Não se sabe ao certo quando um sistema operacional como esse poderia chegar ao mercado, mas a produtora norte-americana de software poderia recuperar o terreno perdido em tablets e outros aparelhos portáteis acionados por baterias, ao formar uma nova parceria com a ARM. Microsoft e ARM se recusaram a comentar o assunto.
A Microsoft informou na terça-feira que mais de 1,5 milhão de celulares equipados com o Windows Phone 7 foram vendidos nas primeiras seis semanas de lançamento, cumprindo aquilo que a empresa define como expectativas "realistas".
O Windows Phone 7 pode ser a última oportunidade para a Microsoft estabelecer presença forte em um mercado de celulares aquecido e agora dominado pelo Google e Apple, disseram analistas.
Os números quanto às vendas foram revelados pela primeira vez por Achim Berg, vice-presidente de negócios e marketing para celulares Windows, em uma entrevista conduzida internamente e publicada no site da Microsoft.
"É um número decente. O mercado móvel será uma batalha para a Microsoft", disse Colin Gillis, analista da BGC Partners, que recomenda compra de ações da Microsoft.
O desaparecimento da Microsoft do mercado de celulares e a demora em sua resposta aos tablets como o Apple iPad vêm sendo vistos como fator desfavorável para as ações da empresa este ano.

quarta-feira, 22 de dezembro de 2010

Fora do ar no mundo inteiro, Skype deixa milhões de usuários sem conexão

Um dos serviços mais populares de voz sobre IP e chat, o Skype está fora do ar para milhões de usuários ao longo do dia. No Twitter, centenas de mensagens são enviadas a cada minuto por pessoas que não conseguem se conectar à plataforma. Aparentemente, o problema afeta todas as plataformas, seja PC ou smartphone.
O site americano ReadWriteWeb publicou que o número de usuários online no serviço caiu de 21 milhões no início da manhã para 10 milhões no início da tarde. Peter Parkes, Relações Públicas da empresa, também afirmou ao site que o problema está ao se logar no serviço. "Uma vez conectado, todos os serviços funcionam perfeitamente".

O Skype funciona a partir de milhões de conexões individuais entre computadores e telefones. Alguns desses computadores são chamados "supernodes" - que funcionam como uma agenda telefônica para o Skype. Quando você quer falar com alguém e seu aplicativo do Skype não consegue encontrar essa pessoa imediatamente (porque ela está conectada de um outro lugar ou por um device diferente), o seu computador vai se conectar, primeiro, a algum "supernode" para "perguntar" como acessar aquele contato.

O que aconteceu hoje é que muitos desses "supernodes" ficaram offline. De acordo com um comunicado do Skype, os engenheiros da empresa já estão criando novos "mega-supernodes" para fazer com que o serviço volte, gradualmente, ao normal. 


Fonte: http://olhardigital.uol.com.br/produtos/digital_news/noticias/fora_do_ar_no_mundo_inteiro_skype_deixa_milhaes_de_usuarios_sem_conexao

terça-feira, 21 de dezembro de 2010

Google adia lançamento de televisores, diz jornal


O Google pediu para alguns fabricantes adiarem o lançamento de aparelhos de televisão baseados em software da companhia, publicou o Wall Street Journal, citando pessoas próximas dos planos da empresa.
O Google avisou alguns fabricantes na semana passada para não anunciarem produtos adicionais ainda, afirmando que o atraso no lançamento vai permitir à gigante das buscas on-line aperfeiçoar seu software, segundo o jornal.
Entretanto, Samsung Electronics seguirá adianta com o lançamento de produtos Google TV durante a feira Consumer Electronics Show, em Las Vegas, no início de janeiro.
O Google não respondeu imediatamente a pedido de comentário da Reuters.
Televisores com o sistema do Google permitirão que o usuário navegue pela Web diretamente a partir do aparelho. Os primeiros modelos com a tecnologia são da Sony e da Logitech International.

segunda-feira, 20 de dezembro de 2010

Consumo Indevido do Ambiente de Autorização

Olá pessoal!! 


O ano está acabando, mas o SEFAZ ainda está nos presentiando com novidades, o novo manual “Aplicação Cliente” Consumo Indevido do Ambiente de Autorização, traz algumas informações importantes que deverão ser levadas em consideração...


A obtenção da autorização de uso da NF-e é um processo que envolve diversos recursos de infraestrutura, hardware e software, tanto por parte da SEFAZ Autorizadora, quanto por parte das empresas. O mau funcionamento ou a indisponibilidade destes recursos pode prejudicar o processo de autorização da NF-e, com reflexos no processo de faturamento da empresa emissora da Nota Fiscal Eletrônica. 


A alta disponibilidade é uma das premissas básicas do sistema da NF-e e o Sistema de Autorização de NF-e da SEFAZ foi construído para funcionar em regime de 24x7, no entanto existem diversos componentes do sistema e da infraestrutura que podem apresentar falhas e comprometer a disponibilidade dos serviços. 




Por parte das SEFAZ, existem poucos Ambientes de Autorização de NF-e, cada um deles executando uma aplicação própria que de alguma forma tem sido depurada e aperfeiçoada pelo uso intensivo destes ambientes pelas empresas. 


Por outro lado, existem milhares de “aplicações cliente“ desenvolvidas pelas empresas, cujo comportamento indevido pode gerar um consumo excessivo de recursos do ambiente de autorização das SEFAZ, podendo inclusive vir a prejudicar o uso compartilhado deste ambiente. 




Como exemplo maior do mau uso do ambiente de autorização, ressalta-se a falta de controle de algumas aplicações das empresas que entram em “loop”, consumindo recursos de forma indevida, sobrecarregando principalmente o canal de comunicação com a Internet. Até agora, o Ambiente de Autorização da SEFAZ tem sido reforçado, com a ampliação de recursos de infraestrutura, mas esta prática não poderá ser mantida indefinidamente, principalmente quando é motivada para suportar o 
uso indevido do ambiente pela aplicação de algumas empresas.


Leia o manual no link: http://www.nfe.fazenda.gov.br/PORTAL/docs/Consumo_Indevido_Aplicacao_Cliente_v1.00.pdf 






Um grade abraço e até o próximo artigo!

Microsoft entrega hoje atualização monstro com correções para 40 bugs

Serão 17 atualizações de segurança para corrigir 40 vulnerabilidades; uma delas acaba com a brecha do IE que permite ataques 0-day.

A Microsoft entrega na tarde desta terça-feira (14/12) um recorde de 17 atualizações de segurança para corrigir 40 vulnerabilidades em produtos como Windows, Internet Explorer (IE), Office, SharePoint e Exchange.
Entre as 40 patches, duas destinam-se a corrigir bugs que têm sido explorados por hackers.
“Eu realmente não estava esperando 17”, disse Andrew Storms, diretor de operações de segurança da nCircle Security. “Esperava no máximo dez.”
As 17 atualizações – que a Microsoft chama de “boletins” – são um recorde, superando por um a contagem de outubro de 2010.
Os boletins distribuídos nesta terça-feira incluem 40 patches, afirmou a Microsoft. São nove a menos que o recorde de outubro, mas seis mais que o total de outubro de 2009 e junho e agosto deste ano.
O total de boletins do ano – 106 – também foi recorde, bem como o número de vulnerabilidades consertadas com estes updates: 266.
A Microsoft defendeu o ritmo de correções de bugs aplicado em 2010.
“Isso ocorreu em parte por causa do leve aumento de informes sobre vulnerabilidades dos produtos Microsoft... E pelo fato de que a Microsoft fornece suporte aos produtos por até dez anos”, disse Mike Reavey, diretor do Microsoft Security Response Center (MSRC), em um post no blog da equipe.
“Velhos produtos encontram novos métodos de ataques, combinados com o crescimento geral do cenário de vulnerabilidades, resultam em mais informes de vulnerabilidade.”
Número surpreendente
Mas os grandes números de dezembro chamaram a atenção de Storms.
“O grande número de dezembro é surpreendente”, disse Storms. Nos últimos três anos, a Microsoft tem publicado no máximo nove updates em dezembro, afirmou. “E o fato é que muitas empresas não aplicarão os patches antes da primeira semana de 2011.”
Não é apenas que o pessoal dos departamentos de TI estará desfalcado por conta das festas de fim de ano. Eles também não irão pôr em risco o funcionamento dos sistemas em uma época tão crítica como a do Natal.
“Neste caso, haverá menos risco se ninguém fizer nada”, disse Storms. “Isso é especialmente verdadeiro em empresas como as do setor financeiro, que desde novembro já mantêm suas redes trancadas.”
Muitas empresas proíbem a aplicação de correções nos dois últimos meses do ano para assegurar que seus sistemas continuem a funcionar, disse Storms.
Duas das 17 atualizações podem ser exploradas por cibercriminosos para injetar remotamente código malicioso em PCs vulneráveis, afirmou a Microsoft em sua notificação preliminar.
Bug importante
A Microsoft frequentemente rotula os bugs de execução remota de código – os mais perigosos – como importantes sempre que os componentes vulneráveis não são ativados automaticamente ou quando outros fatores podem proteger alguns usuários.
Entre as correções a serem aplicadas hoje está uma que resolve uma vulnerabilidade já descoberta em todas as versões suportadas do IE, disse Reavey.
No começo de novembro, a Microsoft revelou o bug de 0-day do IE e confirmou que os ataques já estavam ocorrendo. Ela não conseguiu produzir e testar um patch a tempo de oferecê-lo na atualização daquele mês, que foi entregue seis dias depois.
A atualização do IE é uma das que foram marcadas como críticas, e vai afetar todas as versões do navegador, com a possível exceção do IE9, que ainda está em modo Preview.
A Microsoft também pretende consertar a última das quatro vulnerabilidades do Windows que foram usadas pelo famoso worm Stuxnet, para se infiltrar em sistemas de controle industrial, disse Reavey.
Até onde a Microsoft sabe, o bug – que permite aos invasores elevar os privilégios de acesso de um PC comprometido – não foi explorado por outro malware além do Stuxnet.
Mas o código que explora a vulnerabilidade está disponível na Internet há semanas.

Microsoft libera versão final de seu antivírus gratuito

Security Essentials, recomendado para usuários domésticos e pequenas empresas, está disponível, em português, para Windows XP, Vista e 7.
A Microsoft liberou nesta sexta-feira (17/12) a versão final de seu antivírus gratuito, o Security Essentials. Em relação ao seu predecessor, o novo software traz poucas novidades: leves mudanças na interface, integração com o Internet Explorer e com o firewall do próprio Windows, e a promessa de ser mais eficiente na busca e na eliminação de pragas.
O primeiro Essentials foi lançado em setembro do ano passado, e substituiu o Live OneCare, também da Microsoft. A sua prioridade, segundo a empresa, seria oferecer uma solução leve de segurança, para usuários finais e pequenos empresas, que não precisam de recursos avançados.
Por isso, a gigante dos softwares sempre negou que estaria competindo com outras fabricantes de antivírus, tais como Symantec, McAfee ou Kaspersky. Os representantes dessas empresas dizem o mesmo: seus produtos disporiam de ferramentas específicas, como anti-spam, filtro de conteúdo (para que páginas impróprias não sejam acessadas) ou firewall com mais recursos.

61% dos PCs brasileiros foram infectados com malwares de roubos de dados bancários em 2010

Você sabe como os malwares estão atuando no Brasil? Talvez poucas pessoas saibam que esses softwares destinados a se infiltrar em um sistema de computador alheio vem atacando de diferentes formas por aqui. O Brasil lidera o ranking de países mais infectados da América Latina, onde 61% dos computadores abrigam malwares.

Em uma lista divulgada pela Kaspersky nesta quarta-feira (15), o malware que mais gera problema para o Brasil é o destinado a roubar informações dos usuários. Cerca de 11% dos computadores infectados carregam o Trojan, apelidado de Banker, que tem como principal objetivo o roubo de dados bancários. Estes vírus, em 99% dos casos, são feitos no Brasil e, segundo Dmitry Bestuzhev - pesquisador sênior da Kaspersky Lab para América Latina e analista de pesquisas globais - os criminososque atuam por trás deles estão bastante motivados a continuar o roubo por aqui.

O Brasil é o rei da pirataria e isso todo mundo já sabe, porém essa cultura de piratear softwares está facilitando os ataques, até com os malwares mais primitivos. "O problema é que os brasileiros não compram software porque não podem tocá-lo. A cultura não permite que eles gastem dinheiro com algo que não poderá ser visto", explica o
executivo. Com isso, mesmo que os criminosos tenham um nível técnico inferior ao dos russos, por exemplo, fica fácil atuar no país, inclusive com malwares extremamente conhecidos. O vírus que liderou o TOP 20 Brasil em 2010, com 13% de infecção no país, foi o já conhecido Net-Worm.Win32.Kido.ih.

Logo em seguida, em quarto lugar, estão os HackTools que funcionam como uma espécie de cracker. O alto índice desta praga no país está diretamente ligada com a pirataria. Para se ter ideia, os brasileiros baixavam o antivírus Karspersky gratuitamente para um trial ("teste") de 30 dias e após este período, ao invés de comprar o software
legalmente, eles baixavam um cracker para quebrar o sistema de segurança e conseguir mais 30 dias de uso gratuito. No entanto, o software da Karspersky conseguia detectar o HackTool e bloqueava a sua ação.



Veja a matéria completa no link: http://olhardigital.uol.com.br/produtos/digital_news/61-dos-pcs-brasileiros-foram-infectados-com-malwares-de-roubos-de-dados-bancarios-em-2010

quinta-feira, 16 de dezembro de 2010

CÁLCULO DO DÍGITO VERIFICADOR DA CHAVE DE ACESSO DO CT-e

Olá pessoal!!
Neste artigo pretendo demonstrar como realizar o cálculo do dígito verificador da chave de acesso do CTe.
Antes de demonstrar o como gerar o digito verificador, vamos entender do que é composta a chave de acesso.
A Chave de Acesso do Conhecimento de Transporte Eletrônico é representada por uma seqüência de 44 caracteres numéricos, representados da seguinte forma:

Código da UF - Código da UF do emitente do Documento Fiscal (Tamanho 2 caracteres)
Ano e Mês da Emissão (AAMM) - Ano e Mês de emissão do CT-e (Tamanho 4 caracteres)
CNPJ - CNPJ do emitente (Tamanho 14 caracteres)
Modelo - Modelo do Documento Fiscal (Tamanho 2 caracteres)
Série - Série do Documento Fiscal (Tamanho 3 caracteres)
Numero do CTe - Número do Documento Fiscal (Tamanho 9 caracteres)
Código Numérico - Código Numérico que compõe a Chave de Acesso (Tamanho 9 caracteres)
 Digito - Dígito Verificador da Chave de Acesso (Tamanho 1 caractere)

CÁLCULO DO DÍGITO VERIFICADOR DA CHAVE DE ACESSO DO CT-e
O dígito verificador da chave de acesso do CT-e é baseado em um cálculo do módulo 11.
O módulo 11 de um número é calculado multiplicando-se cada algarismo pela seqüência de multiplicadores 2,3,4,5,6,7,8,9,2,3, ... posicionados da direita para a esquerda.
A somatória dos resultados das ponderações dos algarismos é dividida por 11 e o DV (dígito verificador) será a diferença entre o divisor (11) e o resto da divisão:
DV = 11 - (resto da divisão)
Quando o resto da divisão for 0 (zero) ou 1 (um), o DV deverá ser igual a 0 (zero).


  

Vamos exemplificar toda essa teoria no Delphi
Primeiro devemos desenhar o formulário, nesse exemplo estou utilizando dois edit’s para exemplificar melhor o funcionamento, porém em seu projeto poderá realizar tudo no mesmo Edit... Coloquei um botão para acionar o evento do cálculo quando clicar.

O primeiro Edit vamos chamá-lo de edtChave. O segundo Edit vamos chamá-lo de edtDV.
No edtChave, vamos informar uma chave de exemplo, retirada da página 74 do Manual de Integração – Contribuinte Padrões Técnicos de Comunicação.

Chave Exemplo:
5206043300991100250655012000000780026730161
O dígito verificador dessa chave deverá ser à “5”

Agora vamos ao código do botão,  vou montar esse algoritmo de forma bem primária, lembre-se que você pode usar arrays para facilitar...

procedure TForm2.btnGerarDigitoClick(Sender: TObject);
Var

// Essas serão as variáveis responsáveis por armazenar cada numero da chave
V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40,V41, V42, V43 : Real;
// as variáveis abaixo serão responsáveis por armazenar os resultados das multiplicações
R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, R40, R41, R42, R43 : Real;
//Utilizaremos as variáveis abaixo para formulação do resultado
Soma, Divisao, Resultado :real;
SomaI: integer;
begin
// Através do código abaixo, vamos separar os valores com a “função Copy”da chave de acesso
V1 := StrToFloat(Copy(edtChaveAcesso.Text,1,1));
V2 := StrToFloat(Copy(edtChaveAcesso.Text,2,1));
V3 := StrToFloat(Copy(edtChaveAcesso.Text,3,1));
V4 := StrToFloat(Copy(edtChaveAcesso.Text,4,1));
V5 := StrToFloat(Copy(edtChaveAcesso.Text,5,1));
V6 := StrToFloat(Copy(edtChaveAcesso.Text,6,1));
V7 := StrToFloat(Copy(edtChaveAcesso.Text,7,1));
V8 := StrToFloat(Copy(edtChaveAcesso.Text,8,1));
V9 := StrToFloat(Copy(edtChaveAcesso.Text,9,1));
V10 := StrToFloat(Copy(edtChaveAcesso.Text,10,1));
V11 := StrToFloat(Copy(edtChaveAcesso.Text,11,1));
V12 := StrToFloat(Copy(edtChaveAcesso.Text,12,1));
V13 := StrToFloat(Copy(edtChaveAcesso.Text,13,1));
V14 := StrToFloat(Copy(edtChaveAcesso.Text,14,1));
V15 := StrToFloat(Copy(edtChaveAcesso.Text,15,1));
V16 := StrToFloat(Copy(edtChaveAcesso.Text,16,1));
V17 := StrToFloat(Copy(edtChaveAcesso.Text,17,1));
V18 := StrToFloat(Copy(edtChaveAcesso.Text,18,1));
V19 := StrToFloat(Copy(edtChaveAcesso.Text,19,1));
V20 := StrToFloat(Copy(edtChaveAcesso.Text,20,1));
V21 := StrToFloat(Copy(edtChaveAcesso.Text,21,1));
V22 := StrToFloat(Copy(edtChaveAcesso.Text,22,1));
V23 := StrToFloat(Copy(edtChaveAcesso.Text,23,1));
V24 := StrToFloat(Copy(edtChaveAcesso.Text,24,1));
V25 := StrToFloat(Copy(edtChaveAcesso.Text,25,1));
V26 := StrToFloat(Copy(edtChaveAcesso.Text,26,1));
V27 := StrToFloat(Copy(edtChaveAcesso.Text,27,1));
V28 := StrToFloat(Copy(edtChaveAcesso.Text,28,1));
V29 := StrToFloat(Copy(edtChaveAcesso.Text,29,1));
V30 := StrToFloat(Copy(edtChaveAcesso.Text,30,1));
V31 := StrToFloat(Copy(edtChaveAcesso.Text,31,1));
V32 := StrToFloat(Copy(edtChaveAcesso.Text,32,1));
V33 := StrToFloat(Copy(edtChaveAcesso.Text,33,1));
V34 := StrToFloat(Copy(edtChaveAcesso.Text,34,1));
V35 := StrToFloat(Copy(edtChaveAcesso.Text,35,1));
V36 := StrToFloat(Copy(edtChaveAcesso.Text,36,1));
V37 := StrToFloat(Copy(edtChaveAcesso.Text,37,1));
V38 := StrToFloat(Copy(edtChaveAcesso.Text,38,1));
V39 := StrToFloat(Copy(edtChaveAcesso.Text,39,1));
V40 := StrToFloat(Copy(edtChaveAcesso.Text,40,1));
V41 := StrToFloat(Copy(edtChaveAcesso.Text,41,1));
V42 := StrToFloat(Copy(edtChaveAcesso.Text,42,1));
V43 := StrToFloat(Copy(edtChaveAcesso.Text,43,1));

// Conforme explicado anteriormente neste artigo, faremos a multiplicação por  2,3,4,....9
R43 := V43*2;
R42 := V42*3;
R41 := V41*4;
R40 := V40*5;
R39 := V39*6;
R38 := V38*7;
R37 := V37*8;
R36 := V36*9;
R35 := V35*2;
R34 := V34*3;
R33 := V33*4;
R32 := V32*5;
R31 := V31*6;
R30 := V30*7;
R29 := V29*8;
R28 := V28*9;
R27 := V27*2;
R26 := V26*3;
R25 := V25*4;
R24 := V24*5;
R23 := V23*6;
R22 := V22*7;
R21 := V21*8;
R20 := V20*9;
R19 := V19*2;
R18 := V18*3;
R17 := V17*4;
R16 := V16*5;
R15 := V15*6;
R14 := V14*7;
R13 := V13*8;
R12 := V12*9;
R11 := V11*2;
R10 := V10*3;
R9 := V9*4;
R8 := V8*5;
R7 := V7*6;
R6 := V6*7;
R5 := V5*8;
R4 := V4*9;
R3 := V3*2;
R2 := V2*3;
R1 := V1*4;
// Somaremos os valores obtidos dos resultados das multiplicações
Soma := R1+ R2+ R3+ R4+ R5+ R6+ R7+ R8+ R9+ R10+ R11+ R12+ R13+ R14+ R15+ R16+ R17+ R18+ R19+ R20+R21+ R22+ R23+ R24+ R25+ R26+ R27+ R28+ R29+ R30+R31+ R32+ R33+ R34+ R35+ R36+ R37+ R38+ R39+ R40+ R41+ R42+ R43;

SomaI := Trunc(Soma);
Divisao := (SomaI mod 11);
Resultado := 11-Divisao;

// Compara se o resultado é igual a 1 (Se for deverá ser = 0)
if Resultado = 1 then
begin
  edtDV.Text := '0';
end
    else
      begin

      edtDV.Text := FloatToStr(Resultado);
      end;

Pronto!! Agora é só adaptar o algoritmo ao seu projeto, para customizar e reduzir o tamanho do código, você poderá utilizar arrays para alimentação das variáveis e multiplicação dos resultados...
Um grade abraço!
Até o próximo artigo!

sexta-feira, 10 de dezembro de 2010

NF-e passa a ser obrigatória em três situações específicas



Vale lembrar que, até então, salvo alguns casos excepcionais envolvendo o varejo, apenas atacadistas e industriais estavam obrigados a usar a NF-e.

Com a portaria CAT-G 184, de 30 de novembro de 2010 da Secretaria da Fazenda do Estado de São Paulo, o varejo passou a ser obrigado a emitir a Nota Fiscal Eletrônica (NF-e) em três situações específicas: operações interestaduais, vendas para órgãos públicos e em operações de comércio exterior. A determinação vigora desde primeiro de dezembro e seu descumprimento pode resultar na apreensão das mercadorias comercializadas sem o documento eletrônico, além de multa equivalente a 50% do valor da operação. Vale lembrar que, até então, salvo alguns casos excepcionais envolvendo o varejo, apenas atacadistas e industriais estavam obrigados a usar a NF-e.

Para o consultor tributário Welington Motta, da consultoria Confirp, "esse é um sinal de que em breve o varejo, que ainda pode usar cupom fiscal na maioria das compras e vendas, terá de emitir a NF-e em todas as suas operações". Para que isso ocorra, há a necessidade de cada uma das fazendas estaduais regularem tal obrigação em suas jurisprudências. Segundo a Secretaria da Fazenda do Estado de São Paulo (Sefaz-SP), a demora para inclusão do varejo na NF-e acontece porque "algumas atividades varejistas ainda não são previstas na Classificação Nacional de Atividade Econômica (Cnae), da Receita Federal".

Por enquanto, ressalta-se, salvo algumas exceções, o varejo é apenas obrigado a emitir a NF-e nas três situações citadas acima. No caso das operações envolvendo o poder público, a emissão do documento eletrônico é exigida inclusive em transações envolvendo sociedades de economia mista, de qualquer um dos poderes da União, dos estados ou dos municípios.

O software necessário para a emissão da NF-e é oferecido, gratuitamente, pela Sefaz-SP. É possível obtê-lo no site da secretaria (www.fazenda.sp.gov.br/ nfe/emissor/emissor.asp). Para emitir a nota eletrônica, ainda é necessário que a empresa obtenha certificação digital.

Com o sistema eletrônico, os fiscos conseguem monitorar as operações em tempo real, dificultando a sonegação, o que acarreta ampliação da arrecadação com o Imposto sobre a Circulação de Mercadorias e Prestação de Serviços (ICMS). A NF-e também serve de suporte ao Sistema Público de Escrituração Digital (Sped), projetos de escrituração eletrônica contábil e fiscal da Receita Federal do Brasil (RFB).

Fonte: Diário do Comércio – 10/12/2010