NÓtinha - Gerador de notas fiscais para empresas
Publicado por Slackjeff (última atualização em 20/10/2017)
[ Hits: 2.131 ]
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
Instalação do aplicativo Franz
Cálculo de determinantes de matrizes de ordem 2 e 3
InstallDPKG - Instalando pacotes DEB no Slackware
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









