Advertisement
ALEXANDAR_GEORGIEV

dma_horizontal

Nov 26th, 2022 (edited)
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 15.69 KB | Source Code | 0 0
  1. from tkinter import *
  2. from tkinter import ttk
  3. from tkinter.ttk import Treeview
  4. from tkinter.ttk import Style
  5.  
  6. from Opiti.from_excel.classes.global_inc import registry
  7. from json_file_io import JsonFileIo
  8.  
  9.  
  10. class DnaFormImport(Tk):
  11.     def __init__(self):
  12.         Tk.__init__(self)
  13.         self.check_assets = IntVar()
  14.         self.check_amort = IntVar()
  15.         self.sel = int()
  16.         self.last_code_entry = None
  17.         self.last_amount_entry = None
  18.         self.entry_asset_prd_amount = IntVar()
  19.         self.term = None
  20.         self.title('Нематериални активи')
  21.         self.geometry('1400x640+200+150')   #1060
  22.         self.resizable(False, False)
  23.         self.attributes('-topmost', 'true')
  24.         # Label_frame
  25.       # #Активи label_n(geo, text_l, x, y, p=None, w=15, color='black', bg_color=None, bg_border=None) w- ширина, р - подравняване
  26.         frame = Frame(self)
  27.         frame.pack(fill='both', expand=1)
  28.  
  29.         canvas = Canvas(frame)
  30.         canvas.pack(side='left', fill='both', expand=1)
  31.  
  32.         myscrollbar = ttk.Scrollbar(frame, orient="vertical", command=canvas.yview)
  33.         myscrollbar.pack(side='right', fill='y')
  34.  
  35.         canvas.configure(yscrollcommand=myscrollbar.set)
  36.         canvas.bind('<Configure>', lambda e: canvas.configure(scrollregion=canvas.bbox('all')))
  37.  
  38.         second_frame = Frame(canvas)
  39.         canvas.create_window((0,0), window=second_frame, anchor='nw')
  40.  
  41.  
  42.  
  43.         # TODO BUTTONS
  44.         # Button Запиши
  45.         # butt_save = Button(self, text='ЗАПИШИ', font=('Bookman Old Style Bold', 8), fg='blue', height=1, width=10)
  46.         # butt_save.place(x=360, y=760)
  47.         # butt_save.bind('<ButtonRelease-1>')
  48.         # # Button Справка
  49.         # butt_note = Button(self, text='СПРАВКА', font=('Bookman Old Style Bold', 8), fg='green', height=1, width=10)
  50.         # butt_note.place(x=460, y=760)
  51.         # butt_note.bind('<ButtonRelease-1>')
  52.         # # Button Помощ
  53.         # butt_help = Button(self, text='Помощ', font=('Bookman Old Style Bold', 8), fg='black', height=1, width=10)
  54.         # butt_help.place(x=20, y=760)
  55.         # butt_help.bind('<ButtonRelease-1>')
  56.         # # Button OK
  57.         # butt_ok = Button(self, text='OK', font=('Bookman Old Style Bold', 8), fg='green', height=1, width=10)
  58.         # butt_ok.place(x=830, y=760)
  59.         # butt_ok.bind('<ButtonRelease-1>')
  60.         # # Button Отказ
  61.         # butt_exit = Button(self, text='ОТКАЗ', font=('Bookman Old Style Bold', 8), fg='red', height=1, width=10,
  62.         #                    command=self.destroy)
  63.         # butt_exit.place(x=930, y=760)
  64.  
  65.     # Create Label
  66.         label = Label(second_frame, text='ПОКАЗАТЕЛИ', font=('Times New Roman', 12, 'bold'), bg='white', height=5, anchor='center', fg='black', justify='center')
  67.         label.grid(row=0, column=0, padx=(10, 1), pady=(10, 1), rowspan=2, sticky='nswe')
  68.  
  69.         label = Label(second_frame, text='Отчетна стойност\nна нетекущите активи', font=('Times New Roman', 10), bg='white', anchor='center', fg='black', justify='center', height=2)
  70.         label.grid(row=0, column=1, padx=(1, 0), pady=(10, 0), columnspan=7, sticky='ewns')
  71.  
  72.         label = Label(second_frame, text='В началото\nна периода', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  73.         label.grid(row=1, column=1, padx=(1, 0), pady=(1, 1), sticky='wens')
  74.         label = Label(second_frame, text='Постъпили\nпрез периода', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  75.         label.grid(row=1, column=2, padx=(1, 0), pady=(1, 1), sticky='wens')
  76.         label = Label(second_frame, text='Излезли\nпрез периода', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  77.         label.grid(row=1, column=3, padx=(1, 0), pady=(1, 1), sticky='wens')
  78.         label = Label(second_frame, text='В края\nна периода', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  79.         label.grid(row=1, column=4, padx=(1, 0), pady=(1, 1), sticky='wens')
  80.         label = Label(second_frame, text='Преоценка в\nувеличение', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  81.         label.grid(row=1, column=5, padx=(1, 0), pady=(1, 1), sticky='wens')
  82.         label = Label(second_frame, text='Преоценка в\nнамаление', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  83.         label.grid(row=1, column=6, padx=(1, 0), pady=(1, 1), sticky='wens')
  84.         label = Label(second_frame, text='Преоценена\nстойност', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  85.         label.grid(row=1, column=7, padx=(1, 0), pady=(1, 1), sticky='wens')
  86.  
  87.         label = Label(second_frame, text='a', font=('Times New Roman', 10, 'italic'), bg='white', anchor='center', fg='black', justify='center')
  88.         label.grid(row=2, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  89.         label = Label(second_frame, text='1', font=('Times New Roman', 10, 'italic'), bg='white', anchor='center', fg='black', justify='center')
  90.         label.grid(row=2, column=1, padx=(1, 0), pady=(1, 1), sticky='wens')
  91.         label = Label(second_frame, text='2', font=('Times New Roman', 10, 'italic'), bg='white', anchor='center', fg='black', justify='center')
  92.         label.grid(row=2, column=2, padx=(1, 0), pady=(1, 1), sticky='wens')
  93.         label = Label(second_frame, text='3', font=('Times New Roman', 10, 'italic'), bg='white', anchor='center', fg='black', justify='center')
  94.         label.grid(row=2, column=3, padx=(1, 0), pady=(1, 1), sticky='wens')
  95.         label = Label(second_frame, text='4', font=('Times New Roman', 10, 'italic'), bg='white', anchor='center', fg='black', justify='center')
  96.         label.grid(row=2, column=4, padx=(1, 0), pady=(1, 1), sticky='wens')
  97.         label = Label(second_frame, text='5', font=('Times New Roman', 10, 'italic'), bg='white', anchor='center', fg='black', justify='center')
  98.         label.grid(row=2, column=5, padx=(1, 0), pady=(1, 1), sticky='wens')
  99.         label = Label(second_frame, text='6', font=('Times New Roman', 10, 'italic'), bg='white', anchor='center', fg='black', justify='center')
  100.         label.grid(row=2, column=6, padx=(1, 0), pady=(1, 1), sticky='wens')
  101.         label = Label(second_frame, text='7', font=('Times New Roman', 10, 'italic'), bg='white', anchor='center', fg='black', justify='center')
  102.         label.grid(row=2, column=7, padx=(1, 0), pady=(1, 1), sticky='wens')
  103.  
  104.         label = Label(second_frame, text='II. Дълготрайни материални активи', font=('Times New Roman', 10, 'bold'), bg='white', anchor='w', fg='black', justify='left')
  105.         label.grid(row=10, column=0, padx=(10, 0), pady=(1, 1), columnspan=8, sticky='wens')
  106.         label = Label(second_frame, text='  1. Земи и сгради, включително права в т.ч.:', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  107.         label.grid(row=11, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  108.         label = Label(second_frame, text='        - земи', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  109.         label.grid(row=12, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  110.         label = Label(second_frame, text='        - подобрения върху земите', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  111.         label.grid(row=13, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  112.         label = Label(second_frame, text='        - сгради', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  113.         label.grid(row=14, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  114.         label = Label(second_frame, text='  2. Машини, производствено\n      оборудване и апаратура', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  115.         label.grid(row=15, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  116.         label = Label(second_frame, text='  3. Съоръжения и други', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  117.         label.grid(row=16, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  118.         label = Label(second_frame, text='        - в т.ч.: транспортни средства', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  119.         label.grid(row=17, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  120.  
  121.         label = Label(second_frame, text='  4. Предоставени аванси и дълготрайни нема-\n      териални активи в процес на изграждане', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  122.         label.grid(row=18, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  123.         label = Label(second_frame, text='        - в т.ч.: предоставени аванси', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  124.         label.grid(row=19, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  125.         label = Label(second_frame, text='Общо за група II.', font=('Times New Roman', 10, 'bold'), bg='white', anchor='w', fg='black', justify='left')
  126.         label.grid(row=20, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  127.  
  128.         label = Label(second_frame, text='III. Дългосрочни финансови активи', font=('Times New Roman', 10, 'bold'), bg='white', anchor='w', fg='black', justify='left')
  129.         label.grid(row=21, column=0, padx=(10, 0), pady=(1, 1), columnspan=8, sticky='wens')
  130.         label = Label(second_frame, text='  1. Акции и дялове в предприятия от група', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  131.         label.grid(row=22, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  132.         label = Label(second_frame, text='  2. Предоставени заеми на\n    предприятия от група', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  133.         label.grid(row=23, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  134.         label = Label(second_frame, text='  3. Акции и дялове в асоциирани\n    и смесени предприятия', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  135.         label.grid(row=24, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  136.         label = Label(second_frame, text='  4. предоставени заеми, асоциирани\n    и смесени предприятия', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  137.         label.grid(row=25, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  138.         label = Label(second_frame, text='  5. Дългосрочни инвестиции\n    (инвестиционни имоти)', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  139.         label.grid(row=26, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  140.         label = Label(second_frame, text='  6. Други заеми', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  141.         label.grid(row=27, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  142.         label = Label(second_frame, text='  7. Изкупени собствени акции', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', justify='left')
  143.         label.grid(row=28, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  144.         label = Label(second_frame, text='Общо за група III.', font=('Times New Roman', 10, 'bold'), bg='white', anchor='w', fg='black', justify='left')
  145.         label.grid(row=29, column=0, padx=(10, 1), pady=(1, 1), sticky='wens')
  146.         label = Label(second_frame, text='IV. Отсрочени данъци', font=('Times New Roman', 10, 'bold'), bg='white', anchor='w', fg='black', justify='left')
  147.         label.grid(row=30, column=0, padx=(10, 0), pady=(1, 1), sticky='wens')
  148.         label = Label(second_frame, text='ОБЩО НЕТЕКУЩИ (дълготрайни) АКТИВИ', font=('Times New Roman', 10, 'bold'), bg='white', anchor='w', fg='black', justify='left')
  149.         label.grid(row=31, column=0, padx=(10, 0), pady=(1, 1), sticky='wens')
  150. # --------------------------------------
  151.         label = Label(second_frame, text='АМОРТИЗАЦИЯ', font=('Times New Roman', 10), bg='white', anchor='center', fg='black', justify='center', height=2)
  152.         label.grid(row=0, column=8, padx=(2, 0), pady=(10, 0), columnspan=7, sticky='ewns')
  153.  
  154.         label = Label(second_frame, text='В началото\nна периода', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  155.         label.grid(row=1, column=8, padx=(2, 0), pady=(1, 1), sticky='wens')
  156.         label = Label(second_frame, text='Начислена\nпрез периода', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  157.         label.grid(row=1, column=9, padx=(1, 0), pady=(1, 1), sticky='wens')
  158.         label = Label(second_frame, text='Отписана\nпрез периода', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  159.         label.grid(row=1, column=10, padx=(1, 0), pady=(1, 1), sticky='wens')
  160.         label = Label(second_frame, text='В края\nна периода', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  161.         label.grid(row=1, column=11, padx=(1, 0), pady=(1, 1), sticky='wens')
  162.         label = Label(second_frame, text='Преоценка в\nувеличение', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  163.         label.grid(row=1, column=12, padx=(1, 0), pady=(1, 1), sticky='wens')
  164.         label = Label(second_frame, text='Преоценка в\nнамаление', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  165.         label.grid(row=1, column=13, padx=(1, 0), pady=(1, 1), sticky='wens')
  166.         label = Label(second_frame, text='Преоценена\nамортизация', font=('Times New Roman', 10, 'italic'), bg='white', anchor='w', fg='black', height=3)
  167.         label.grid(row=1, column=14, padx=(1, 0), pady=(1, 1), sticky='wens')
  168.  
  169.     def dna(self):
  170.  
  171.         self.mainloop()
  172.  
  173.  
  174. if __name__ == '__main__':
  175.  
  176.     dna = DnaFormImport()
  177.     dna.dna()
  178.  
  179.     # TODO -> попълваме сметка -> ЗАПИС -> съответната сметка да не се маркира вече ! и ако може или реда да стане в друг цвят
  180.     # TODO -> ДА се добави бутон КОРЕКЦИЯ !
  181.     # TODO -> Ако в Entry няма написан текст -> TReeview да се попълни наново със всички сметки !
  182.     # TODO -> Бутона ЗАПИШИ да стане ДОБАВИ !
  183.     # TODO -> Бутона ОК да стане ЗАПИШИ !
  184.     # TODO -> Във всеки таб салдата да се сменят от Дебит в кредит
  185.     # TODO _> ДА направя справкята за Бутона СПРАВКА за да се вижда резултата !
  186.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement