Advertisement
Guest User

index.py

a guest
Oct 30th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.17 KB | None | 0 0
  1. import firebirdsql
  2. import configparser
  3.  
  4. cfg = configparser.ConfigParser()
  5. cfg.read('C:\\GDOOR Sistemas\\GDOOR PRO\\USUALG.ini')
  6.  
  7. dir = cfg.get('BASE', 'DIR')
  8. host = cfg.get('BASE', 'LOCAL')
  9. conn = firebirdsql.connect(
  10.     host=host,
  11.     database=dir + 'DATAGES.fdb',
  12.     port=3050,
  13.     user='SYSDBA',
  14.     password='masterkey'
  15. )
  16.  
  17. CST_ICMS = [
  18.     ('00', u'00 - Tributada Integralmente'),
  19.     ('10', u'10 - Tributada e com cobrança do ICMS por substituição tributária'),  # noqa
  20.     ('20', u'20 - Com redução de base de cálculo'),
  21.     ('30', u'30 - Isenta ou não tributada e com cobrança do ICMS por substituição tributária'),  # noqa
  22.     ('40', u'40 - Isenta'),
  23.     ('41', u'41 - Não tributada'),
  24.     ('50', u'50 - Suspensão'),
  25.     ('51', u'51 - Diferimento'),
  26.     ('60', u'60 - ICMS cobrado anteriormente por substituição tributária'),
  27.     ('70', u'70 - Com redução de base de cálculo e cobrança do ICMS por substituição tributária'),  # noqa
  28.     ('90', u'90 - Outras')
  29. ]
  30.  
  31. CSOSN_SIMPLES = [
  32.     ('101', u'101 - Tributada pelo Simples Nacional com permissão de crédito'),
  33.     ('102', u'102 - Tributada pelo Simples Nacional sem permissão de crédito'),
  34.     ('103', u'103 -Isenção do ICMS no Simples Nacional para faixa de receita bruta'),  # noqa
  35.     ('201', u'201 - Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por substituição tributária'),  # noqa
  36.     ('202', u'202 - Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por substituição tributária'),  # noqa
  37.     ('203', u'203 - Isenção do ICMS no Simples Nacional para faixa de receita bruta e com cobrança do ICMS por substituição tributária'),  # noqa
  38.     ('300', u'300 - Imune'),
  39.     ('400', u'400 - Não tributada pelo Simples Nacional'),
  40.     ('500', u'500 - ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação'),  # noqa
  41.     ('900', u'900 - Outros')
  42. ]
  43. emitente = conn.cursor()
  44. emitente.execute('SELECT EMITENTE.OPT_SIMPLES FROM EMITENTE')
  45. ok = emitente.fetchone()
  46. x = 1
  47. while x == 1:
  48.     st = 0
  49.     st_novo = 0
  50.     if ok[0] == 1:
  51.         st_a = 0
  52.         while st_a == 0:
  53.             st = input("CSOSN a ser substituido ? ")
  54.             if st in CSOSN_SIMPLES:
  55.                 st_a = 1
  56.         st_a = 0
  57.         while st_a == 0:
  58.             st_novo = input("CSOSN novo ? ")
  59.             if st_novo in CSOSN_SIMPLES:
  60.                 st_a = 1
  61.     else:
  62.         st_a = 0
  63.         while st_a == 0:
  64.             st = input("CST ser substituido ? ")
  65.             if st in CST_ICMS:
  66.                 st_a = 1
  67.  
  68.         st_a = 0
  69.         while st_a == 0:
  70.             st_novo = input("CST novo ? ")
  71.             if st_novo in CST_ICMS:
  72.                 st_a = 1
  73.  
  74.     elo = input("Elo")
  75.     x = input("Deseja inserir outro ? Digite qualquer coisa para sim e 0 para não")
  76.     buscas = [{'antigo': st, 'novo': st_novo, 'elo': elo}]
  77.  
  78. for busca in buscas:
  79.     at = conn.cursor()
  80.     query = 'UPDATE ESTOQUE SET ESTOQUE.ST = "{}", ESTOQUE.ELO = "{}" WHERE ESTOQUE.ST  ="{}"'.format(busca['novo'], busca['elo'], busca['antigo'])
  81.     at.execute(query)
  82.     conn.commit()
  83. conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement