NÓtinha - Gerador de notas fiscais para empresas
Publicado por Slackjeff (última atualização em 20/10/2017)
[ Hits: 2.047 ]
Homepage: https://slackjeff.com.br
Sistema de notas para empresas, gera um arquivo.html.
Este script está inacabado, falta resolver algumas coisas, como somar subtotal, somar total, arrumar um bug das tabelas, quando o usuário não digita nada a tabela é gerada mesmo assim, ficando um bug chato, falta também a função procurar.
Disponibilizo ele para se alguém quiser dar uma força e ir ajudando, fique a la vonte!
#!/bin/bash
#-----------------Informações do Autor e licença------------------------|
#
# Data de modificação:
# Autor: Jefferson Rocha <lrcjefferson@gmail.com>
# Sob-Licença: (MIT) Este programa é livre para ler, modificar e,
# redistribuir, porem mantenha os Créditos do autor original!
#
#
#--------------------Informações do Programa----------------------------|
#
# Nome: NÓtinha
# Versão: 0.1
#
# Descrição: Programa básico que gera uma nota para o cliente em
# formato HTML, para imprimir aperte CTRL + P em seu browser,
# de escolha.
#
# TODO Falta fazer somas e arrumar um bug que tem quando o usuario não,
# Digita nada em alguma linha ele é enviado mesmo assim o formulario.
#--------------------Informações da Empresa-----------------------------|
#
#-Altere as informações da sua empresa aqui
razao_social=$(echo "NOME-AQUI LTDA")
cnpj=$(echo "111.1111/1000")
endereco=$(echo "Rua Exemplo XXXXXXX, 100.")
cep=$(echo "XXXXXX-XX")
fone=$(echo "XX-XXXXXXX")
data=$(date +%d%m%Y)
#------------------------------------------------------------------------|
principal(){
echo "
+--------------+-------------------+
| 1) Nova Nota | 2) Procurar Nota |
+--------------+-------------------+"
read opcao
case $opcao in
1) func_novo ;;
2) func_procurar ;;
esac
}
#---------------------+ Funções do CASE
func_novo(){
i=0
read -p "Nome do Cliente: " nomecliente
while [ "$sair" != "sair" ]; do
i=$((i+1))
for filter in Produto Quantidade Descricao PrecoUnitario; do
read -p "${filter}: " ${filter}$i
done
read -p "Deseja sair? [sair] ou [enter] para continuar: " sair
done
# Imprimi dados geral HTML!
DADOS="
<table border=1 align="center" bgcolor="#dedede">
<caption><h1>$razao_social</h1></caption>
<caption> CNPJ: $cnpj | ENDEREÇO: $endereco | CEP: $cep | FONE: $fone </caption>
<tbody>
<tr>
<th>Quantidade</th>
<th>:::::::: Produto :::::::</th>
<th>:::::::: Descrição ::::::::</th>
<th>::Preço Unitário::</th>
<th>::Sub-Total::</th>
</tr>
<tr>
<td align="center">$Quantidade1</td>
<td align="center">$Produto1</td>
<td align="center">$Descricao1</td>
<td align="center">$PrecoUnitario1</td>
<td align="center">$preco_total1</td>
</tr>
<tr>
<td align="center">$Quantidade2</td>
<td align="center">$Produto2</td>
<td align="center">$Descricao2</td>
<td align="center">$PrecoUnitario2</td>
<td align="center">$preco_total2</td>
</tr>
<tr>
<td align="center">$Quantidade3</td>
<td align="center">$Produto3</td>
<td align="center">$Descricao3</td>
<td align="center">$PrecoUnitario3</td>
<td align="center">$preco_total3</td>
</tr>
<tr>
<td align="center">$Quantidade4</td>
<td align="center">$Produto4</td>
<td align="center">$Descricao4</td>
<td align="center">$PrecoUnitario4</td>
<td align="center">$preco_total4</td>
</tr>
<tr>
<td align="center">$Quantidade5</td>
<td align="center">$Produto5</td>
<td align="center">$Descricao5</td>
<td align="center">$PrecoUnitario5</td>
<td align="center">$preco_total5</td>
</tr>
<tr>
<td align="center">$Quantidade6</td>
<td align="center">$Produto6</td>
<td align="center">$Descricao6</td>
<td align="center">$PrecoUnitario6</td>
<td align="center">$preco_total6</td>
</tr>
<tr>
<td align="center">$Quantidade7</td>
<td align="center">$Produto7</td>
<td align="center">$Descricao7</td>
<td align="center">$PrecoUnitario7</td>
<td align="center">$preco_total7</td>
</tr>
<tr>
<td align="center">$Quantidade8</td>
<td align="center">$Produto8</td>
<td align="center">$Descricao8</td>
<td align="center">$PrecoUnitario8</td>
<td align="center">$preco_total8</td>
</tr>
<tr>
<td align="center">$Quantidade9</td>
<td align="center">$Produto9</td>
<td align="center">$Descricao9</td>
<td align="center">$PrecoUnitario9</td>
<td align="center">$preco_total9</td>
</tr>
<tr>
<td align="center">$Quantidade10</td>
<td align="center">$Produto10</td>
<td align="center">$Descricao10</td>
<td align="center">$PrecoUnitario10</td>
<td align="center">$preco_total10</td>
</tr>
<tr>
<td align="center">$Quantidade11</td>
<td align="center">$Produto11</td>
<td align="center">$Descricao11</td>
<td align="center">$PrecoUnitario11</td>
<td align="center">$preco_total11</td>
</tr>
<tr>
<td align="center">$Quantidade12</td>
<td align="center">$Produto12</td>
<td align="center">$Descricao12</td>
<td align="center">$PrecoUnitario12</td>
<td align="center">$preco_total12</td>
</tr>
<tr>
<td align="center"> TOTAL: $Sub_Total </td>
</tr>
</tbody>
</table>
"
echo $DADOS > $nomecliente-$data.html
}
principal
Limpa o diretório atual, excluindo arquivos temporários
Cria cabeçalhos para shell scripts
Gerar a linha do Depends prontinha para o "control" para gerar pacotes DEB
Organizando CD’s com shell script
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
VOL já não é mais como antes? (4)
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









