def tela_lista_prod(root, cabecalhos, dados): view.limpa_tela(root) frame_lista_vend = LabelFrame(root, text="Listagem Produtos", padx=5, pady=5) frame_lista_vend.grid(padx=10, pady=10) tabela = ttk.Treeview(columns=cabecalhos, show="headings") scroll_v = ttk.Scrollbar(orient="vertical", command=tabela.yview) scroll_h = ttk.Scrollbar(orient="horizontal", command=tabela.xview) tabela.configure(yscrollcommand=scroll_v.set, xscrollcommand=scroll_h.set) tabela.grid(column=0, row=0, sticky='nsew', in_=frame_lista_vend) scroll_v.grid(column=1, row=0, sticky='ns', in_=frame_lista_vend) scroll_h.grid(column=0, row=1, sticky='ew', in_=frame_lista_vend) frame_lista_vend.grid_columnconfigure(0, weight=1) frame_lista_vend.grid_rowconfigure(0, weight=1) for col in cabecalhos: tabela.heading(col, text=col.title(), command=lambda c=col: view.sortby(tabela, c, 0)) # adjust the column's width to the header string tabela.column(col, width=tkFont.Font().measure(col.title())) for item in dados: tabela.insert('', 'end', values=item) # adjust column's width if necessary to fit each value for ix, val in enumerate(item): col_w = tkFont.Font().measure(val) if tabela.column(cabecalhos[ix], width=None) < col_w: tabela.column(cabecalhos[ix], width=col_w) tabela.bind("<Double-Button-1>", lambda event: mostra_dados_prod(event, tabela, root))
def tela_cad_forn(root): view.limpa_tela(root) frame_cad_forn = LabelFrame(root, text="Cadastro Fornecedores", padx=5, pady=5) frame_cad_forn.grid(padx=10, pady=10) campo1 = Label(frame_cad_forn, text="Nome:") campo1.grid(row = 0, column = 1,padx = 10, sticky=E) nome_forn = Entry(frame_cad_forn, width=50) nome_forn.grid(row=0, column = 2, columnspan=3) campo2 = Label(frame_cad_forn, text="Duração da campanha:") campo2.grid(row = 1, column = 0,padx = 10, columnspan=2) valida_num = (root.register(controller.valida_numero),'%d', '%i', '%P', '%s', '%S', '%v', '%V', '%W') #permitir apenas numero no duracao da campanha dur_camp_forn = Entry(frame_cad_forn, width=50, validate = 'key', validatecommand = valida_num) dur_camp_forn.grid(row=1, column = 2, columnspan=3) botao_enviar = Button(frame_cad_forn,text="Cadastrar", command=lambda: controller.cadastrar(frame_cad_forn,{"classe":model.fornecedor,"nome_forn":nome_forn.get(), "dur_camp":dur_camp_forn.get()})) #passo os dados do formulario em um dicionario botao_enviar.grid(row=2,column=4, columnspan=2, sticky=W, pady=10) botao_limpar = Button(frame_cad_forn,text="Limpar", command=lambda: view.limpa_entradas(frame_cad_forn)) botao_limpar.grid(row=2,column=3, sticky=E, pady=10)
def tela_lista_prod(root,cabecalhos, dados): view.limpa_tela(root) frame_lista_vend = LabelFrame(root, text="Listagem Produtos", padx=5, pady=5) frame_lista_vend.grid(padx=10, pady=10) tabela = ttk.Treeview(columns=cabecalhos, show="headings") scroll_v = ttk.Scrollbar(orient="vertical", command=tabela.yview) scroll_h = ttk.Scrollbar(orient="horizontal", command=tabela.xview) tabela.configure(yscrollcommand=scroll_v.set, xscrollcommand=scroll_h.set) tabela.grid(column=0, row=0, sticky='nsew', in_=frame_lista_vend) scroll_v.grid(column=1, row=0, sticky='ns', in_=frame_lista_vend) scroll_h.grid(column=0, row=1, sticky='ew', in_=frame_lista_vend) frame_lista_vend.grid_columnconfigure(0, weight=1) frame_lista_vend.grid_rowconfigure(0, weight=1) for col in cabecalhos: tabela.heading(col, text=col.title(),command=lambda c=col: view.sortby(tabela, c, 0)) # adjust the column's width to the header string tabela.column(col,width=tkFont.Font().measure(col.title())) for item in dados: tabela.insert('', 'end', values=item) # adjust column's width if necessary to fit each value for ix, val in enumerate(item): col_w = tkFont.Font().measure(val) if tabela.column(cabecalhos[ix],width=None) < col_w : tabela.column(cabecalhos[ix], width=col_w) tabela.bind("<Double-Button-1>", lambda event: mostra_dados_prod(event,tabela,root))
def tela_cad_clie(root): view.limpa_tela(root) frame_cad_clie = LabelFrame(root, text="Cadastro Clientes", padx=5, pady=5) frame_cad_clie.grid(padx=10, pady=10) campo1 = Label(frame_cad_clie, text="Nome Completo:") campo1.grid(row = 0, column = 1,padx = 10, sticky=E) nome_clie = Entry(frame_cad_clie, width=50) nome_clie.grid(row=0, column = 2, columnspan=3) campo7 = Label(frame_cad_clie, text="CPF:") campo7.grid(row = 1, column = 1,padx = 10) cpf_clie = Entry(frame_cad_clie, width=50) cpf_clie.grid(row=1, column = 2, columnspan=3) campo2 = Label(frame_cad_clie, text="Telefone Res:") campo2.grid(row = 2, column = 0,padx = 10, columnspan=2) tel_res = Entry(frame_cad_clie, width=50) tel_res.grid(row=2, column = 2, columnspan=3) campo3 = Label(frame_cad_clie, text="Telefone Cel:") campo3.grid(row = 3, column = 0,padx = 10, columnspan=2) tel_cel = Entry(frame_cad_clie, width=50) tel_cel.grid(row=3, column = 2, columnspan=3) campo4 = Label(frame_cad_clie, text="Telefone Com:") campo4.grid(row = 4, column = 0,padx = 10, columnspan=2) tel_com = Entry(frame_cad_clie, width=50) tel_com.grid(row=4, column = 2, columnspan=3) campo5 = Label(frame_cad_clie, text="Email:") campo5.grid(row = 5, column = 0,padx = 10, columnspan=2) email = Entry(frame_cad_clie, width=50) email.grid(row=5, column = 2, columnspan=3) campo6 = Label(frame_cad_clie, text="Endereço:") campo6.grid(row = 6, column = 0,padx = 10, columnspan=2) endereco = Entry(frame_cad_clie, width=50) endereco.grid(row=6, column = 2, columnspan=3) botao_enviar = Button(frame_cad_clie,text="Cadastrar", command=lambda: controller.cadastrar(frame_cad_clie,{"classe": model.pessoa, "nome_pessoa": nome_clie.get(), "cpf": cpf_clie.get(),"email": email.get(),"endereco": endereco.get(),"tel_cel": tel_cel.get(), "tel_res": tel_res.get(),"tel_com": tel_com.get(),"tipo": 0})) botao_enviar.grid(row=8,column=4, columnspan=2, sticky=W, pady=10) botao_limpar = Button(frame_cad_clie,text="Limpar", command=lambda: view.limpa_entradas(frame_cad_clie)) botao_limpar.grid(row=8,column=3, sticky=E, pady=10)
def tela_cad_camp(root): view.limpa_tela(root) dados = [] frame_cad_camp = LabelFrame(root, text="Cadastro Campanha", padx=5, pady=5) frame_cad_camp.grid(padx=10, pady=10) campo1 = Label(frame_cad_camp, text="Fornecedor:") campo1.grid(row = 0, column = 0) try: lista_forn = controller.busca("nome", "fornecedores","","") var_forn = StringVar(frame_cad_camp) var_forn.set(lista_forn[0]) forn = apply(OptionMenu, (frame_cad_camp,var_forn) + tuple(lista_forn)) except: var_forn.set("") forn = OptionMenu(frame_cad_camp,var_forn,"") forn.grid(row = 0 , column = 1) campo2 = Label(frame_cad_camp, text="Data Inicio:") campo2.grid(row = 1, column = 0) inic_camp = Entry(frame_cad_camp, width=20) inic_camp.grid(row=1, column = 1) campo3 = Label(frame_cad_camp, text="Código Produto:") campo3.grid(row = 2, column = 0) cod_prod = Entry(frame_cad_camp, width=20) cod_prod.grid(row=2, column = 1) campo5 = Label(frame_cad_camp, text="Desconto:") campo5.grid(row = 2, column = 2) desco_prod = Entry(frame_cad_camp, width=10) desco_prod.grid(row=2, column = 3) botao_incluir_prod = Button(frame_cad_camp, text="Incluir", command=lambda: inclui_prod_camp(frame_cad_camp,cod_prod,desco_prod,dados)) botao_incluir_prod.grid(row=2, column =4, sticky = W) sub_lista_prod_camp(frame_cad_camp,dados) botao_enviar = Button(frame_cad_camp,text="Cadastrar", command=lambda: controller.cadastrar(frame_cad_camp,{"classe":model.campanha,"fornecedor":var_forn.get(), "data_inic":inic_camp.get(),"produtos":dados})) #passo os dados do formulario em um dicionario botao_enviar.grid(row=5,column=4, columnspan=2, sticky=W, pady=10) botao_limpar = Button(frame_cad_camp,text="Limpar", command=lambda: view.limpa_entradas(frame_cad_camp)) botao_limpar.grid(row=5,column=3, sticky=E, pady=10)
def tela_cad_prod(root): view.limpa_tela(root) frame_cad_prod = LabelFrame(root, text="Cadastro Produtos", padx=5, pady=5) frame_cad_prod.grid(padx=10, pady=10) valida_num = (root.register(controller.valida_numero),'%d', '%i', '%P', '%s', '%S', '%v', '%V', '%W') #permitir apenas numero no duracao da campanha campo1 = Label(frame_cad_prod, text="Código:") campo1.grid(row = 0, column = 1,padx = 10, sticky=E) cod_prod = Entry(frame_cad_prod, width=50, validate = 'key', validatecommand = valida_num) cod_prod.grid(row=0, column = 2, columnspan=3) campo2 = Label(frame_cad_prod, text="Fornecedor:") campo2.grid(row = 1, column = 0,padx = 10, columnspan=2) try: dados = controller.busca("nome", "fornecedores","","") var_forn = StringVar(frame_cad_prod) var_forn.set(dados[0]) forn_prod = apply(OptionMenu, (frame_cad_prod,var_forn) + tuple(dados)) except: var_forn.set("") forn_prod = OptionMenu(frame_cad_prod,var_forn,"") forn_prod.grid(row = 1 , column = 2, columnspan = 3, sticky = W+E ) campo3 = Label(frame_cad_prod, text="Quantidade:") campo3.grid(row = 2, column = 0,padx = 10, columnspan=2) qnt_prod = Entry(frame_cad_prod, width=50, validate = 'key', validatecommand = valida_num) qnt_prod.grid(row=2, column = 2, columnspan=3) campo4 = Label(frame_cad_prod, text="Descrição:") campo4.grid(row = 3, column = 0,padx = 10, columnspan=2) desc_prod = Entry(frame_cad_prod, width=50) desc_prod.grid(row=3, column = 2, columnspan=3) campo5 = Label(frame_cad_prod, text="Preço compra:") campo5.grid(row = 4, column = 0,padx = 10, columnspan=2) pcompra = Entry(frame_cad_prod, width=50) pcompra.grid(row=4, column = 2, columnspan=3) campo6 = Label(frame_cad_prod, text="Preço venda:") campo6.grid(row = 5, column = 0,padx = 10, columnspan=2) pvenda = Entry(frame_cad_prod, width=50) pvenda.grid(row=5, column = 2, columnspan=3) botao_enviar = Button(frame_cad_prod,text="Cadastrar", command=lambda: controller.cadastrar(frame_cad_prod,{"classe": model.produto, "codigo": cod_prod.get(), "fornecedor": var_forn.get(),"qnt": qnt_prod.get(),"desc": desc_prod.get(), "pcompra": pcompra.get(),"pvenda": pvenda.get()})) botao_enviar.grid(row=7,column=4, columnspan=2, sticky=W, pady=10) botao_limpar = Button(frame_cad_prod,text="Limpar", command=lambda: view.limpa_entradas(frame_cad_prod)) botao_limpar.grid(row=7,column=3, sticky=E, pady=10) return var_forn
def tela_cad_vend(root): view.limpa_tela(root) frame_cad_vend = LabelFrame(root, text="Cadastro Vendedores", padx=5, pady=5) frame_cad_vend.grid(padx=10, pady=10) campo1 = Label(frame_cad_vend, text="Nome Completo:") campo1.grid(row = 0, column = 1,padx = 10, sticky=E) nome_vend= Entry(frame_cad_vend, width=50) nome_vend.grid(row=0, column = 2, columnspan=3) campo8 = Label(frame_cad_vend, text="CPF:") campo8.grid(row = 1, column = 1,padx = 10) cpf_vend = Entry(frame_cad_vend, width=50) cpf_vend.grid(row=1, column = 2, columnspan=3) campo2 = Label(frame_cad_vend, text="Telefone Res:") campo2.grid(row = 2, column = 0,padx = 10, columnspan=2) tel_res = Entry(frame_cad_vend, width=50) tel_res.grid(row=2, column = 2, columnspan=3) campo3 = Label(frame_cad_vend, text="Telefone Cel:") campo3.grid(row = 3, column = 0,padx = 10, columnspan=2) tel_cel = Entry(frame_cad_vend, width=50) tel_cel.grid(row=3, column = 2, columnspan=3) campo4 = Label(frame_cad_vend, text="Telefone Com:") campo4.grid(row = 4, column = 0,padx = 10, columnspan=2) tel_com = Entry(frame_cad_vend, width=50) tel_com.grid(row=4, column = 2, columnspan=3) campo5 = Label(frame_cad_vend, text="Email:") campo5.grid(row = 5, column = 0,padx = 10, columnspan=2) email = Entry(frame_cad_vend, width=50) email.grid(row=5, column = 2, columnspan=3) campo6 = Label(frame_cad_vend, text="Endereço:") campo6.grid(row = 6, column = 0,padx = 10, columnspan=2) endereco = Entry(frame_cad_vend, width=50) endereco.grid(row=6, column = 2, columnspan=3) campo7 = Label(frame_cad_vend, text="Comissões:") campo7.grid(row = 7, column = 0,padx = 10, columnspan=2) comissoes = [] botao_incluir_comis = Button(frame_cad_vend, text="Incluir", command= lambda: inclui_comissao(comissoes,0)) #segundo par. de inclui_comissao indica novo registro ou nao (0 = novo, id_vendedor = antigo) botao_incluir_comis.grid(row=7, column = 2, sticky = W) botao_enviar = Button(frame_cad_vend,text="Cadastrar", command=lambda: controller.cadastrar(frame_cad_vend,{"classe": model.vendedor, "nome_pessoa": nome_vend.get(), "cpf": cpf_vend.get(),"email": email.get(),"endereco": endereco.get(),"tel_cel": tel_cel.get(), "tel_res": tel_res.get(),"tel_com": tel_com.get(),"tipo": 1,"comissoes":comissoes})) botao_enviar.grid(row=8,column=4, columnspan=2, sticky=W, pady=10) botao_limpar = Button(frame_cad_vend,text="Limpar", command=lambda: view.limpa_entradas(frame_cad_vend)) botao_limpar.grid(row=8,column=3, sticky=E, pady=10)
def tela_cad_vendas(root): view.limpa_tela(root) dados=[] total =[] total.append(0) frame_cad_vendas = LabelFrame(root, text="Cadastro Vendas", padx=5, pady=5) frame_cad_vendas.grid(padx=10, pady=10) campo1 = Label(frame_cad_vendas, text="CPF vendedor:") campo1.grid(row = 0, column = 0, sticky = W) cpf_vendor = Entry(frame_cad_vendas, width=20) cpf_vendor.bind("<FocusOut>", lambda event: controller.busca_cpf(event,frame_cad_vendas,cpf_vendor.get(),0)) cpf_vendor.grid(row=0, column = 1, sticky = W) campo2 = Label(frame_cad_vendas, text="CPF Cliente:") campo2.grid(row = 1, column = 0, sticky = W) cpf_clie = Entry(frame_cad_vendas, width=20) cpf_clie.bind("<FocusOut>", lambda event: controller.busca_cpf(event,frame_cad_vendas,cpf_clie.get(),1)) cpf_clie.grid(row=1, column = 1, sticky = W) campo3 = Label(frame_cad_vendas, text="Código Produto:") campo3.grid(row = 2, column = 0, sticky = W) cod_prod = Entry(frame_cad_vendas, width=20) cod_prod.grid(row=2, column = 1, sticky = W) campo5 = Label(frame_cad_vendas, text="Quantidade:") campo5.grid(row = 2, column = 2, sticky = W) qnt_prod = Entry(frame_cad_vendas, width=10) qnt_prod.grid(row=2, column = 3, sticky = W) botao_incluir_prod = Button(frame_cad_vendas, text="Incluir", command=lambda: inclui_prod_vend(frame_cad_vendas,cod_prod,qnt_prod,dados,total)) botao_incluir_prod.grid(row=2, column =4, sticky = W) sub_lista_prod_vend(frame_cad_vendas,dados,total) sub_total_venda(frame_cad_vendas,total) campo6 = Label(frame_cad_vendas, text="Tipo da Venda:") campo6.grid(row = 5, column = 0, sticky = W) t_venda = IntVar() Radiobutton(frame_cad_vendas, text="Normal", variable=t_venda, value=1).grid(row = 5, column = 1, sticky = W) Radiobutton(frame_cad_vendas, text="Consignado", variable=t_venda, value=2).grid(row = 5, column = 2, sticky = W) campo7 = Label(frame_cad_vendas, text="Tipo do Pagamento:") campo7.grid(row = 6, column = 0, sticky = W) pag_venda = IntVar() Radiobutton(frame_cad_vendas, text="Dinheiro", variable=pag_venda, value=1).grid(row = 6, column = 1, sticky = W) Radiobutton(frame_cad_vendas, text="Cartão", variable=pag_venda, value=2).grid(row = 6, column = 2, sticky = W) Radiobutton(frame_cad_vendas, text="Cheque", variable=pag_venda, value=3).grid(row = 6, column = 3, sticky = W) botao_enviar = Button(frame_cad_vendas,text="Cadastrar", command=lambda: controller.cadastrar(frame_cad_vendas, {"classe":model.venda,"cpf_vendor":cpf_vendor.get(),"cpf_clie":cpf_clie.get(), "produtos":dados, "t_venda":t_venda.get(),"t_pag":pag_venda.get()})) #passo os dados do formulario em um dicionario botao_enviar.grid(row=7,column=6, columnspan=2, sticky=W, pady=10) botao_limpar = Button(frame_cad_vendas,text="Limpar", command=lambda: view.limpa_entradas(frame_cad_vendas)) botao_limpar.grid(row=7,column=5, sticky=E, pady=10)