Example #1
0
 def Confirmar(self, key, window_id):
     # Gera movimento de Stock (entra no armazem por contrapartida de fornecedores)
     self.kargs = get_model_record(model=self, key=key)
     self.kargs['estado'] = 'Confirmado'
     self.kargs['numero'] = base_models.Sequence().get_sequence('entrada')
     periodo = None
     from periodo import Periodo
     periodos = Periodo().get()
     for p in periodos:
         lista_datas = generate_dates(start_date=p['data_inicial'], end_date=p['data_final'])
         if str(format_date(self.kargs['data'])) in lista_datas:
             periodo = p['id']
     from armazem import Armazem
     armazem_fornecedor = Armazem(where="tipo='fornecedor'").get()[0]['id']
     from stock import Stock
     stock = Stock(data=self.kargs['data'], numero=base_models.Sequence().get_sequence('stock'), num_doc=self.kargs['numero'], descricao='Nossa Nota de Entrada', documento='entrada', periodo=periodo, estado='Confirmado', user=self.kargs['user']).put()
     from linha_entrada import LinhaEntrada
     record_lines = LinhaEntrada(where="entrada = '{entrada}'".format(entrada=self.kargs['id'])).get()
     if record_lines:
         from linha_stock import LinhaStock
         from produto import Produto
         for line in record_lines:
             quantidade = to_decimal(line['quantidade'])
             product = Produto().get(key=line['produto'])[0]
             descricao = product['nome']
             LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=self.kargs['armazem'], quant_saida=to_decimal(0), quant_entrada=quantidade, user=self.kargs['user']).put()
             LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=armazem_fornecedor, quant_saida=quantidade, quant_entrada=to_decimal(0), user=self.kargs['user']).put()
         self.put()
         ctx_dict = get_context(window_id)
         ctx_dict['main_key'] = self.kargs['id']
         set_context(window_id, ctx_dict)
         return form_edit(window_id=window_id).show()
     else:
         return error_message('Não pode confirmar entradas sem linhas de Entrada! \n')
Example #2
0
 def Confirmar(self, key, window_id):
     #ainda não esta 100% ver com calma outro dia
     # Gera movimento contabilistico (conta de materias primas contra conta de gastos e entrada de produto acabado em armazem)
     # Gera movimento de Stock (sai materia prima do armazem por contrapartida de produto acabado)
     if key in ['None', None]:
         key = get_actions(action='save', key=None, model_name=model.__model_name__, internal=True)
     record_id = key
     record = model.get(key=record_id)[0]
     record['user'] = session['user']
     record['estado'] = 'Confirmado'
     record['numero'] = base_models.Sequence().get_sequence('prato')
     from diario import Diario
     diario = Diario(where="tipo='stock'").get()[0]['id']
     periodo = None
     from periodo import Periodo
     periodos = Periodo().get()
     for p in periodos:
         lista_datas = generate_dates(start_date=p['data_inicial'], end_date=p['data_final'])
         if str(format_date(record['data'])) in lista_datas:
             periodo = p['id']
     if not periodo:
         return error_message('não existe periodo definido para a data em questão! \n')
     from armazem import Armazem
     armazem_cliente = Armazem(where="tipo='cliente'").get()[0]['id']
     from movimento import Movimento
     movimento = Movimento(data=record['data'], numero=base_models.Sequence().get_sequence('movimento'), num_doc=record['numero'], descricao='Nossa Guia de Produção', diario=diario, documento='prato', periodo=periodo, estado='Confirmado', user=session['user'], active=False).put()
     from stock import Stock
     stock = Stock(data=record['data'], numero=base_models.Sequence().get_sequence('stock'), num_doc=record['numero'], descricao='Nossa Guia de Produção', documento='prato', periodo=periodo, estado='Confirmado', user=session['user']).put()
     Prato(**record).put()
     from linha_prato import LinhaPrato
     record_lines = LinhaPrato(where="prato = '{prato}'".format(prato=record['id'])).get()
     if record_lines:
         from linha_movimento import LinhaMovimento
         from linha_stock import LinhaStock
         from produto import Produto
         from familia_produto import FamiliaProduto
         for line in record_lines:
             # tambem depois considerar a verificação se o total está bem calculado e logs se o preço unitário for modificado
             quantidade = to_decimal(line['quantidade'])
             product = Produto().get(key=line['produto'])[0]
             conta_mercadorias = product['conta_mercadorias']
             conta_gastos = product['conta_gastos']
             taxa_iva = product['iva']
             armazem_vendas = None
             familia = FamiliaProduto().get(key=product['familia'])
             if familia:
                 familia = familia[0]
                 if familia['armazem_vendas']:
                     armazem_vendas = familia['armazem_vendas']
             descricao = product['nome']
             #total_sem_iva = line['valor_total']/(1+taxa_iva)
             #Aqui ver a contabilização
             LinhaMovimento(movimento=movimento, descricao=descricao, conta=conta_gastos, quant_debito=quantidade, debito=line['valor_total'], quant_credito=to_decimal(0), credito=to_decimal(0), user=session['user']).put()
             LinhaMovimento(movimento=movimento, descricao=descricao, conta=conta_mercadorias, quant_debito=to_decimal(0), debito=to_decimal(0), quant_credito=quantidade, credito=line['valor_total'], user=session['user']).put()
             # o movimento é no armazem cozinha e sai materia-prima entra produto acabado
             LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=armazem_materia_prima, quant_saida=quantidade, quant_entrada=0.0, user=session['user']).put()
             LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=armazem_produto, quant_saida=0.0, quant_entrada=quantidade, user=session['user']).put()
         return form_edit(key = key, window_id = window_id)
     else:
         return error_message('Não pode confirmar talões sem linhas de Talão! \n')
Example #3
0
 def get_stock(self, key):
     # aqui o stock deve calcular todos os produtos e depois enviar um dicionario com todos os produtos de uma vez
     #print('estou em get_stock')
     from linha_stock import LinhaStock
     entradas = to_decimal(0)
     saidas = to_decimal(0)
     record_lines = LinhaStock(where="produto = '{produto}'".format(
         produto=key)).get()
     #print('record_lines', record_lines)
     from armazem import Armazem
     armazens = Armazem(where="tipo in ('fisico')").get()
     #print('armazens', armazens)
     ids_armazem = []
     for armazem in armazens:
         ids_armazem.append(armazem['id'])
     #print('ids_armazem', ids_armazem)
     if record_lines:
         for line in record_lines:
             if line['armazem'] in ids_armazem:
                 #se for de armazem cliente ou fornecedor não conta aqui
                 entradas += to_decimal(line['quant_entrada'])
                 saidas += to_decimal(line['quant_saida'])
     value = entradas - saidas
     return round(value, 0)
Example #4
0
 def Cancelar(self, key, window_id):
     # Estorna movimento contabilistico
     # Estorna movimento de stock
     # verifica se existe factura gerada e se ouver verifica o estado e depois extorna caso confirmada ou simplesmente cancela se em rascunho
     # Estorna Pagamento
     record_id = key
     record = model.get(key=record_id)[0]
     record['user'] = session['user']
     record['estado'] = 'Cancelado'
     from movimento import Movimento
     from linha_movimento import LinhaMovimento
     movimentos = Movimento(
         where="documento='distribuicao'and num_doc={num_doc} ".format(
             num_doc=record['numero'])).get()
     if movimentos:
         for movimento in movimentos:
             new_movimento = {}
             new_movimento['user'] = session['user']
             for key in movimento.keys():
                 if key not in [
                         'id', 'user_create', 'user_change', 'date_create',
                         'date_change', 'numero', 'descricao'
                 ]:
                     new_movimento[key] = movimento[key]
             new_movimento['numero'] = base_models.Sequence().get_sequence(
                 'movimento')
             new_movimento[
                 'descricao'] = 'Anulação de ' + movimento['descricao']
             new_movimento_id = Movimento(**new_movimento).put()
             linhas_movimento = LinhaMovimento(
                 where="movimento='{movimento}'".format(
                     movimento=movimento['id'])).get()
             for linhamovimento in linhas_movimento:
                 new_linha_movimento = {}
                 new_quant_debito = to_decimal('0')
                 new_quant_credito = to_decimal('0')
                 new_debito = to_decimal('0')
                 new_credit = to_decimal('0')
                 for key in linhamovimento.keys():
                     if key not in [
                             'id', 'user_create', 'user_change',
                             'date_create', 'date_change', 'movimento'
                     ]:
                         if key == 'quant_debito':
                             new_quant_credito = linhamovimento[key]
                         elif key == 'quant_credito':
                             new_quant_debito = linhamovimento[key]
                         elif key == 'credito':
                             new_debito = linhamovimento[key]
                         elif key == 'debito':
                             new_credito = linhamovimento[key]
                         else:
                             new_linha_movimento[key] = linhamovimento[key]
                 new_linha_movimento['movimento'] = new_movimento_id
                 new_linha_movimento['quant_debito'] = new_quant_debito
                 new_linha_movimento['quant_credito'] = new_quant_credito
                 new_linha_movimento['debito'] = new_debito
                 new_linha_movimento['credito'] = new_credito
                 new_linha_movimento['user'] = session['user']
                 LinhaMovimento(**new_linha_movimento).put()
     from stock import Stock
     from linha_stock import LinhaStock
     stocks = Stock(
         where="documento='distribuicao'and num_doc={num_doc} ".format(
             num_doc=record['numero'])).get()
     if stocks:
         for stock in stocks:
             new_stock = {}
             new_stock['user'] = session['user']
             for key in stock.keys():
                 if key not in [
                         'id', 'user_create', 'user_change', 'date_create',
                         'date_change', 'numero'
                 ]:
                     new_stock[key] = stock[key]
             new_stock['numero'] = base_models.Sequence().get_sequence(
                 'stock')
             new_stock['descricao'] = 'Anulação de ' + stock['descricao']
             new_stock_id = Stock(**new_stock).put()
             linhas_stock = LinhaStock(where="stock={stock}".format(
                 stock=stock['id'])).get()
             for linhastock in linhas_stock:
                 new_linha_stock = {}
                 new_quant_entrada = to_decimal('0')
                 new_quant_saida = to_decimal('0')
                 for key in linhastock.keys():
                     if key not in [
                             'id', 'user_create', 'user_change',
                             'date_create', 'date_change', 'stock'
                     ]:
                         if key == 'quant_entrada':
                             new_quant_saida = linhastock[key]
                         elif key == 'quant_saida':
                             new_quant_entrada = linhastock[key]
                         else:
                             new_linha_stock[key] = linhastock[key]
                 new_linha_stock['stock'] = new_stock_id
                 new_linha_stock['quant_entrada'] = new_quant_entrada
                 new_linha_stock['quant_saida'] = new_quant_saida
                 new_linha_stock['user'] = session['user']
                 LinhaStock(**new_linha_stock).put()
     from linha_caixa import LinhaCaixa
     linhascaixa = LinhaCaixa(
         where="documento='distribuicao'and num_doc={num_doc} ".format(
             num_doc=record['numero'])).get()
     if linhascaixa:
         for linhacaixa in linhascaixa:
             new_linha_caixa = {}
             new_entrada = to_decimal('0')
             new_saida = to_decimal('0')
             for key in linhacaixa.keys():
                 if key not in [
                         'id', 'user_create', 'user_change', 'date_create',
                         'date_change', 'descricao'
                 ]:
                     if key == 'entrada':
                         new_saida = linhacaixa[key]
                     elif key == 'saida':
                         new_entrada = linhacaixa[key]
                     else:
                         new_linha_caixa[key] = linhacaixa[key]
             new_linha_caixa[
                 'descricao'] = 'Anulação de ' + linhacaixa['descricao']
             new_linha_caixa['entrada'] = new_entrada
             new_linha_caixa['saida'] = new_saida
             new_linha_caixa['user'] = session['user']
             LinhaCaixa(**new_linha_caixa).put()
     Distribuicao(**record).put()
     return form_edit(key='None', window_id=window_id)
Example #5
0
 def Confirmar(
         self, key,
         window_id):  #não tinha self nem key eu acrescentei mas não testei
     # Gera movimento contabilistico (conta de mercadorias contra conta de gastos)
     # Gera movimento de Stock (sai de armazem por contrapartida de cliente)
     #print ('Hello!!!')
     if key in ['None', None]:
         m_action = model_action(obj=self)
         m_action.save(key=None, internal=True)
     record_id = key
     #print ('model_get begin!')
     record = model.get(key=record_id)[0]
     #print (record)
     record['user'] = session['user']
     record['estado'] = 'Confirmado'
     record['numero'] = base_models.Sequence().get_sequence('distribuicao')
     from diario import Diario
     diario = Diario(where="tipo='stock'").get()[0]['id']
     periodo = None
     from periodo import Periodo
     periodos = Periodo().get()
     for p in periodos:
         lista_datas = generate_dates(start_date=p['data_inicial'],
                                      end_date=p['data_final'])
         if str(format_date(record['data'])) in lista_datas:
             periodo = p['id']
     if not periodo:
         return error_message(
             'não existe periodo definido para o data em questão! \n')
     from armazem import Armazem
     armazem_cliente = Armazem(where="tipo='cliente'").get()[0]['id']
     #Valida se o cliente é sujeito a iva
     from terceiro import Terceiro
     sujeito_iva = Terceiro(
         where="nome='Clientes Gerais'").get()[0]['sujeito_iva']
     from movimento import Movimento
     movimento = Movimento(
         data=record['data'],
         numero=base_models.Sequence().get_sequence('movimento'),
         num_doc=record['numero'],
         descricao='Nossa Guia de distribuição',
         diario=diario,
         documento='distribuicao',
         periodo=periodo,
         estado='Confirmado',
         user=session['user']).put()
     from stock import Stock
     stock = Stock(data=record['data'],
                   numero=base_models.Sequence().get_sequence('stock'),
                   num_doc=record['numero'],
                   descricao='Nossa Guia de Distribuição',
                   documento='distribuicao',
                   periodo=periodo,
                   estado='Confirmado',
                   user=session['user']).put()
     Distribuicao(**record).put()
     from linha_distribuicao import LinhaDistribuicao
     record_lines = LinhaDistribuicao(
         where="distribuicao = '{distribuicao}'".format(
             distribuicao=record['id'])).get()
     if record_lines:
         from linha_movimento import LinhaMovimento
         from linha_stock import LinhaStock
         from produto import Produto
         from familia_produto import FamiliaProduto
         for line in record_lines:
             # aqui depois considerar a contabilização do desconto
             # tambem depois considerar a verificação se o total está bem calculado e logs se o preço unitário for modificado
             quantidade = to_decimal(line['quant_out']) - to_decimal(
                 line['quant_in'])
             product = Produto().get(key=line['produto'])[0]
             contas = Produto().get_accounts(line['produto'])
             conta_mercadorias = contas['conta_mercadorias']
             conta_gastos = contas['conta_gastos']
             if sujeito_iva:
                 taxa_iva = product['iva']
             else:
                 taxa_iva = to_decimal('0')
             armazem_vendas = None
             familia = FamiliaProduto().get(key=product['familia'])
             if familia:
                 familia = familia[0]
                 if familia['armazem_vendas']:
                     armazem_vendas = familia['armazem_vendas']
             descricao = product['nome']
             total_sem_iva = line['valor_total'] / (1 + taxa_iva)
             LinhaMovimento(movimento=movimento,
                            descricao=descricao,
                            conta=conta_gastos,
                            quant_debito=quantidade,
                            debito=line['valor_total'],
                            quant_credito=to_decimal('0'),
                            credito=to_decimal('0'),
                            user=session['user']).put()
             LinhaMovimento(movimento=movimento,
                            descricao=descricao,
                            conta=conta_mercadorias,
                            quant_debito=to_decimal('0'),
                            debito=to_decimal('0'),
                            quant_credito=quantidade,
                            credito=line['valor_total'],
                            user=session['user']).put()
             LinhaStock(stock=stock,
                        descricao=descricao,
                        produto=line['produto'],
                        armazem=armazem_vendas,
                        quant_saida=quantidade,
                        quant_entrada=to_decimal('0'),
                        user=session['user']).put()
             LinhaStock(stock=stock,
                        descricao=descricao,
                        produto=line['produto'],
                        armazem=armazem_cliente,
                        quant_saida=to_decimal('0'),
                        quant_entrada=quantidade,
                        user=session['user']).put()
         #print ('See You!!!')
         return form_edit(key=key, window_id=window_id)
     else:
         return error_message(
             'Não pode confirmar guias de Distribuição sem linhas de Distribuição! \n'
         )
Example #6
0
 def Cancelar(self, key, window_id):
     # Estorna movimento contabilistico
     # Estorna movimento de stock
     record_id = key
     record = model.get(key=record_id)[0]
     record['user'] = session['user']
     record['estado'] = 'Cancelado'
     from movimento import Movimento
     from linha_movimento import LinhaMovimento
     movimentos = Movimento(where="documento='quebra'and num_doc={num_doc} ".format(num_doc=record['numero'])).get()
     if movimentos:
         for movimento in movimentos:
             new_movimento = {}
             new_movimento['user'] = session['user']
             for key in movimento.keys():
                 if key not in ['id', 'user_create', 'user_change', 'date_create', 'date_change','numero','descricao']:
                     new_movimento[key] = movimento[key]
             new_movimento['numero'] = base_models.Sequence().get_sequence('movimento')
             new_movimento['descricao'] = 'Anulação de ' + movimento['descricao']
             new_movimento_id = Movimento(**new_movimento).put()
             linhas_movimento = LinhaMovimento(where="movimento={movimento}".format(movimento=movimento['id'])).get()
             for linhamovimento in linhas_movimento:
                 new_linha_movimento = {}
                 new_quant_debito = to_decimal(0)
                 new_quant_credito = to_decimal(0)
                 new_debito = to_decimal(0)
                 new_credit = to_decimal(0)
                 for key in linhamovimento.keys():
                     if key not in ['id', 'user_create', 'user_change', 'date_create', 'date_change','movimento']:
                         if key == 'quant_debito':
                             new_quant_credito = linhamovimento[key]
                         elif key == 'quant_credito':
                             new_quant_debito = linhamovimento[key]
                         elif key == 'credito':
                             new_debito = linhamovimento[key]
                         elif key == 'debito':
                             new_credito = linhamovimento[key]
                         else:
                             new_linha_movimento[key] = linhamovimento[key]
                 new_linha_movimento['movimento'] = new_movimento_id
                 new_linha_movimento['quant_debito'] = new_quant_debito
                 new_linha_movimento['quant_credito'] = new_quant_credito
                 new_linha_movimento['debito'] = new_debito
                 new_linha_movimento['credito'] = new_credito
                 new_linha_movimento['user'] = session['user']
                 LinhaMovimento(**new_linha_movimento).put()
     from stock import Stock
     from linha_stock import LinhaStock
     stocks = Stock(where="documento='quebra'and num_doc={num_doc} ".format(num_doc=record['numero'])).get()
     if stocks:
         for stock in stocks:
             new_stock = {}
             new_stock['user'] = session['user']
             for key in stock.keys():
                 if key not in ['id', 'user_create', 'user_change', 'date_create', 'date_change','numero']:
                     new_stock[key] = stock[key]
             new_stock['numero'] = base_models.Sequence().get_sequence('stock')
             new_stock['descricao'] = 'Anulação de ' + stock['descricao']
             new_stock_id = Stock(**new_stock).put()
             linhas_stock = LinhaStock(where="stock={stock}".format(stock=stock['id'])).get()
             for linhastock in linhas_stock:
                 new_linha_stock = {}
                 new_quant_entrada = to_decimal(0)
                 new_quant_saida = to_decimal(0)
                 for key in linhastock.keys():
                     if key not in ['id', 'user_create', 'user_change', 'date_create', 'date_change','stock']:
                         if key == 'quant_entrada':
                             new_quant_saida = linhastock[key]
                         elif key == 'quant_saida':
                             new_quant_entrada = linhastock[key]
                         else:
                             new_linha_stock[key] = linhastock[key]
                 new_linha_stock['stock'] = new_stock_id
                 new_linha_stock['quant_entrada'] = new_quant_entrada
                 new_linha_stock['quant_saida'] = new_quant_saida
                 new_linha_stock['user'] = session['user']
                 LinhaStock(**new_linha_stock).put()
     Quebra(**record).put()
     return form_edit(key = 'None', window_id = window_id)
Example #7
0
 def Confirmar(self, key, window_id):
     # Gera movimento contabilistico (conta de mercadorias contra conta de gastos)
     # Gera movimento de Stock (sai de armazem por contrapartida de cliente)
     #print (key)
     if key in ['None', None]:
         key = get_actions(action='save',
                           key=None,
                           model_name=model.__model_name__,
                           internal=True)
     #print (key)
     record_id = key
     record = model.get(key=record_id)[0]
     record['user'] = session.get('user', None)
     record['estado'] = 'Confirmado'
     record['numero'] = base_models.Sequence().get_sequence('talao')
     record['residual'] = model.get_total(key=record_id)
     from diario import Diario
     diario = Diario(where="tipo='stock'").get()[0]['id']
     periodo = None
     from periodo import Periodo
     periodos = Periodo().get()
     for p in periodos:
         lista_datas = generate_dates(start_date=p['data_inicial'],
                                      end_date=p['data_final'])
         if str(format_date(record['data'])) in lista_datas:
             periodo = p['id']
     from armazem import Armazem
     armazem_cliente = Armazem(where="tipo='cliente'").get()[0]['id']
     #Valida se o cliente é sujeito a iva
     from terceiro import Terceiro
     sujeito_iva = Terceiro(where="id='{cliente}'".format(
         cliente=str(record['cliente']))).get()[0]['sujeito_iva']
     from movimento import Movimento
     movimento = Movimento(
         data=record['data'],
         numero=base_models.Sequence().get_sequence('movimento'),
         num_doc=record['numero'],
         descricao='Nosso Talão de Venda',
         diario=diario,
         documento='talao',
         periodo=periodo,
         estado='Confirmado',
         user=session.get('user', None),
         active=False).put()
     from stock import Stock
     stock = Stock(data=record['data'],
                   numero=base_models.Sequence().get_sequence('stock'),
                   num_doc=record['numero'],
                   descricao='Nosso Talão de Venda',
                   documento='talao',
                   periodo=periodo,
                   estado='Confirmado',
                   user=session.get('user', None)).put()
     Talao(**record).put()
     from linha_talao import LinhaTalao
     record_lines = LinhaTalao(where="talao = '{talao}'".format(
         talao=record['id'])).get()
     if record_lines:
         from linha_movimento import LinhaMovimento
         from linha_stock import LinhaStock
         from produto import Produto
         from familia_produto import FamiliaProduto
         for line in record_lines:
             # aqui depois considerar a contabilização do desconto
             # tambem depois considerar a verificação se o total está bem calculado e logs se o preço unitário for modificado
             quantidade = to_decimal(str(line['quantidade']))
             product = Produto().get(key=line['produto'])[0]
             contas = Produto().get_accounts(line['produto'])
             conta_mercadorias = contas['conta_mercadorias']
             conta_gastos = contas['conta_gastos']
             if sujeito_iva:
                 taxa_iva = product['iva']
             else:
                 taxa_iva = to_decimal('0')
             armazem_vendas = None
             familia = FamiliaProduto().get(key=product['familia'])
             if familia:
                 familia = familia[0]
                 if familia['armazem_vendas']:
                     armazem_vendas = familia['armazem_vendas']
             descricao = product['nome']
             total_sem_iva = line['valor_total'] / (1 + taxa_iva)
             LinhaMovimento(movimento=movimento,
                            descricao=descricao,
                            conta=conta_gastos,
                            quant_debito=quantidade,
                            debito=line['valor_total'],
                            quant_credito=to_decimal('0'),
                            credito=to_decimal('0'),
                            user=session.get('user', None)).put()
             LinhaMovimento(movimento=movimento,
                            descricao=descricao,
                            conta=conta_mercadorias,
                            quant_debito=to_decimal('0'),
                            debito=to_decimal('0'),
                            quant_credito=quantidade,
                            credito=line['valor_total'],
                            user=session.get('user', None)).put()
             LinhaStock(stock=stock,
                        descricao=descricao,
                        produto=line['produto'],
                        armazem=armazem_vendas,
                        quant_saida=quantidade,
                        quant_entrada=to_decimal('0'),
                        user=session.get('user', None)).put()
             LinhaStock(stock=stock,
                        descricao=descricao,
                        produto=line['produto'],
                        armazem=armazem_cliente,
                        quant_saida=to_decimal('0'),
                        quant_entrada=quantidade,
                        user=session.get('user', None)).put()
         return form_edit(key=key, window_id=window_id)
     else:
         return error_message(
             'Não pode confirmar talões sem linhas de Talão! \n')