Gestione listini e automatizzazione prezzi

di il
12 risposte

Gestione listini e automatizzazione prezzi

Salve a tutti , sono nuovo del forum e mi scuso in anticipo se le mie spiegazioni non dovessero essere al 100% comprensibili. Sto creando un database per un azienda odontotecnica presso cui faccio stage.
Sostanzialmente deve riguardare la gestione dei fornitori , dei clienti e dei loro ordini, dei corrieri e dei listini prezzi (ogni clienti sceglie un determinato listino secondo le sue esigenze , ovviamente i prodotti nel listino non cambiano, variano solamente i prezzi).
Il mio scopo principale è creare un automatismo sul prezzo del prodotto ordinato, ovvero nel momento in cui vado a inserire un nuovo ordine e metto il codice dell'ordine, il nome del cliente, il nome del prodotto ordinato e il numero del listino a cui aderisce , il prezzo deve uscire in automatico.
purtroppo questo non accade e dopo numerosi tentativi non so più che fare.
vi mando in allegato lo screen del database per avere un vostro parere sul progetto in generale, ma soprattutto per avere un consiglio su come creare questo automatismo.
grazie in anticipo a chi rispoderà
Allegati:
17660_757796c28c2a53a0bfc1c6adb372dce9.png
17660_757796c28c2a53a0bfc1c6adb372dce9.png

12 Risposte

  • Re: Gestione listini e automatizzazione prezzi

    Io direi, prima di rispondere alla tua domanda, osservando la finestra Relazioni, mi pare che ci siano alcuni errori di NORMALIZZAZIONE. Provo a descriverne alcuni che mi saltano più all'occhio:
    1. Le tabelle Corrieri, Clienti e Fornitori hanno campi simili/omogenei. Possono stare tutti in una sola tabella più generalizzante che si potrebbe chiamare Soggetti.
    2. DettagliOrdini (tu la chiami "Dettagli sugli ordini") dovrebbe essere tabella figlia rispetto a Ordini, ma non vedo alcuna relazione che li leghi.

    Riguardo alla gestione di Listini, potresti spiegare con quale criterio avviene la "personalizzazione" di un listino? Oppure potresti descrivere alcuni esempi concreti (almeno per me non addetto ai tuoi lavori)?
  • Re: Gestione listini e automatizzazione prezzi

    Ah grazie Osvaldo..
    comunque certo , allora .. l'azienda per cui lavoro , dato che è aperta da poco , ha deciso di creare un listino prezzi generale , e per ogni singolo cliente viene fatto un listino prezzi personalizzato , che può dipendere probabilmente dalla quantità di prodotti richiesti dal cliente o altri fattori.
    preciso che l'unica differenza tra i diversi listini non sono le tipologie di prodotti venduti , ma i singoli prezzi.
    ovviamente vorrebbero un programma in cui non debba essere necessario andare a controllare, ogni volta che si riceve un ordine, quale dei listini viene applicato per quel cliente e che prezzo ha quel prodotto , ma desidererebbero un database abbastanza automatico , almeno sotto questo punto di vista.

    per quanto riguarda i diversi errori come potrei rimediare allora ?
    grazie
  • Re: Gestione listini e automatizzazione prezzi

    gabri ha scritto:


    un listino prezzi generale , e per ogni singolo cliente viene fatto un listino prezzi personalizzato , che può dipendere probabilmente dalla quantità di prodotti richiesti dal cliente o altri fattori.

    gabri ha scritto:


    per quanto riguarda i diversi errori come potrei rimediare allora ?
    Come puoi notare da un thread si sono aperte 2 problematiche. Entrambe non da poco. Non saprei da dove cominciare. Suggerisco:
    1. Leggere attentamente il regolamento in cui si richiede una conoscenza base di Access e non pretendere la "pappa pronta"
    2. Per il Problema2, quello di normalizzare il database, prioritario, sarebbe opportuno rimandare ad un nuovo thread in cui si parla solo della struttura tabelle nella apposita sezione "Progettazione database"
    3. Per il Problema1...so di altri utenti più esperti (forse gibra o oregon...non ricordo veramente) che hanno affrontato a puntino questo problema, e si tratta di un marchingegno alquanto complesso. Bada bene che vi sono molte variabili di cui tenere conto per riuscire a personalizzare un listino. Provo a dirti qualcosa, giusto per farti capire che la "personalizzazione" è un termine vago e fluttuante nel tempo. Faccio un esempio. Immagina un cliente Mario Rossi che ti commissiona molti lavori all'anno, diciamo 12 (uno al mese). Nei primi 5 anni è puntuale nei pagamenti e lascia senz'altro una buona impressione alla tua azienda. Poi comincia a procurarti 6 all'anno per altri 3 anni, poi un anno te ne commissiona solo 1...magari su quest'ultimo prova anche a fare il furbo...poi non si fa più sentire. Ho ovviamente estremizzato il discorso, ma capisci bene che attribuire una Etichetta a Tizio o Caio con le rispettive PersonalListinizzazioni diventa errato/pericoloso...
  • Re: Gestione listini e automatizzazione prezzi

    Le conoscenze basilari non mi mancano. ovviamente non vi chiedo di farmi il database da zero , sarebbe una mancanza di rispetto nei vostri confronti
    chiedo solo dei piccoli suggerimenti per rendere presentabile un progetto sia per me che per l'azienda molto importante.
    parlando della normalizzazione , certamente si potrebbe fare , andando a semplificare , e di molto , il programma , ma penso che riunire in una sola entità le tabelle CLIENTI , FORNITORI e CORRIERI possa creare confusione per chi lo dovrà usare.

    invece parlando dei listini, è ovvio che può capitare che durante i diversi esercizi dell'azienda ci siano clienti non continui nei loro ordini, ma non capisco come questo possa influenzare sul termine di "personalizzazione dei listini"...
  • Re: Gestione listini e automatizzazione prezzi

    gabri ha scritto:


    penso che riunire in una sola entità le tabelle CLIENTI , FORNITORI e CORRIERI possa creare confusione per chi lo dovrà usare.
    Esistono altri strumenti, ad esempio le query, che provvederanno a diversificare i vari ruoli. Un modo "facile-facile" (di partenza) sarebbe quello di avere, oltre ai classici campi anagrafici (Cognome-Nome o RagioneSociale, Indirizzo, CodiceFiscale, PIVA...questi ce li hanno tutti), un campo che chiamerei Qualifica con la possibilità di scegliere fra 3 valori: Cliente, Corriere, Fornitore. 3 distinte query che chiamerai Clienti, Corrieri, Fornitori possono diventare le basi per future caselle combinate per le opportune scelte.
  • Re: Gestione listini e automatizzazione prezzi

    Ah si giusto grazie.
    Poi la teorica tabella "Soggetti" dovrò metterla in relazione con la tabella ordini ? che a sua volta sarà in relazione con prodotti ?
  • Re: Gestione listini e automatizzazione prezzi

    Hai mai letto quei manuali di base (ma anche su internet trovi) che parlano del database Northwind? L'organizzazione tabelle è simile alla tua. Prova a dargli un'occhiata.
  • Re: Gestione listini e automatizzazione prezzi

    gabri ha scritto:


    creare un listino prezzi generale , e per ogni singolo cliente viene fatto un listino prezzi personalizzato , che può dipendere probabilmente dalla quantità di prodotti richiesti dal cliente o altri fattori.
    Fin qui, tutto normale, nel senso che è una normalissima gestione dei listini (normale perché la fa ogni azienda).
    Quello che non capisco è:
    a) se stai già gestendo questo scenario (e non riesci a farlo come vorresti) oppure
    b) se questa è solo una 'dichiarazione di intento' (cioè cosa vorresti fare.

    gabri ha scritto:


    preciso che l'unica differenza tra i diversi listini non sono le tipologie di prodotti venduti , ma i singoli prezzi.
    Certo, è normale che sia così.

    gabri ha scritto:


    ovviamente vorrebbero un programma in cui non debba essere necessario andare a controllare, ogni volta che si riceve un ordine, quale dei listini viene applicato per quel cliente e che prezzo ha quel prodotto , ma desidererebbero un database abbastanza automatico , almeno sotto questo punto di vista.
    Hanno perfettamente ragione, ovviamente.
    Per ottenere questo è importante creare la struttura giusta (tabelle) ed aggiungere una gestione corretta.
    Ad esempio, in un gestionale che ho creato per un azienda il prezzo viene stabilito in base a vari parametri: bisogna di tutto occorre definire un Listino di Costo (per non rischiare di vendere sotto-costo), Listini Clienti personalizzati, Listini Clienti per quantità, posso avere anche Listini per singolo articolo di un singolo Cliente, e così via...
    Infine, ognuno dei listini deve essere gestito con le Data di Validità.
    Tanto per fare un esempio, nel nostro gestionale c'è anche il listino per Classe articolo, e per Valuta.
    Come vedi la gestione la si può rendere anche molto complessa.


    Partiamo quindi dai listini:
    Prima di tutto quali sono le chiavi primarie di ogni tabella?

    Ad esempio, la tabella Clienti dovrebbe avere la chiave primaria IDCliente.
    La tabella Listini dovrebbe avere la chiave primaria IDListino.
    In alcune li vedo, ma vedo anche poca omogeneità e un tantino di confusione nel nominarle.

    In linea generale, per evitare future difficoltà di lettura e gestione dei campi, è sempre meglio mantenere una certa linearità nel chiamare gli oggetti, esempio:

    Tabella ChiavePrimaria
    Clienti IDCliente
    Listini IDListino
    Ordini IDOrdine
    OrdiniRighe IDOrdineRiga


    Sinceramente trovo deleterio usare un nome campo come "ID DISP", "ID STATO", primo perché contengono uno spazio (assolutamente sconsigliato !!!) poi ID DISP è usato dappertutto, e questo genera confusione, secondo costringe a usare le parentesi quadre nelle query, aumentando solo confusione.
    Evitare anche gli underscore nei nomi, gli accenti e qualsiasi altro simbolo che non siano esclusivamente lettere.
    Lo stesso vale per tabelle.
    Non c'è alcuna ragione valida per utilizzare quanto sopra! Quindi perché complicarsi la vita per niente?

    Se io scrivo IDListino, so già di cosa parlo, se scrivo ID DISP a cosa mi riferisco? Boh! Devo andare a controllare qual'è la tabella!

    Dovresti spiegare BENE come hai relazionato le tabelle sugli Ordini e Prodotto, perché sono tutt'altro che chiare.

    Intanto partiamo da qui.
  • Re: Gestione listini e automatizzazione prezzi

    Grazie gibra per i consigli.
    comunque il mio intento è quello di porre al centro del progetto la tabella PRODOTTI e poi da li creare relazioni con le tabelle CLIENTI, FORNITORI,CORRIERI e LISTINO PREZZI.
    Parlando della chiave primaria "ID DISP" : l'ho messa sia come PK di PRODOTTO , sia di LISTINI PREZZI , dato che come struttura sono simili , ma hanno fini diverse le tabelle .
    poi questa è solo la mia considerazione , vorrei sapere il vostro parere
  • Re: Gestione listini e automatizzazione prezzi

    Il mio parere te l'ho già espresso.
  • Re: Gestione listini e automatizzazione prezzi

    Si certo , ma mi chiedevo se era possibile avere dei consigli concreti su come normalizzare le tabelle e creare i "famosi" automatismi .
  • Re: Gestione listini e automatizzazione prezzi

    Comincia intanto a modificare le chiavi primarie come ti ho suggerito.
    Non è un consiglio concreto, questo?

    Inoltre, rispondi alle domanda che ti ho fatto...
Devi accedere o registrarti per scrivere nel forum
12 risposte