Ticket #86 (new compito)

Opened 3 years ago

Last modified 3 years ago

Analisi modello Configurazione GAS

Reported by: dom_thual Owned by:
Priority: minore Milestone: ACQUISTIAMO - L'utente può ordinare
Component: analisi Keywords: modello
Cc:

Description

Vedere se gli attributi bastano.
Dare significato di questi attributi
Conseguenze aspettate sulle viste

Change History

comment:1 Changed 3 years ago by dom_thual

Il dubbio nasce sull'attributo use_single_delivery. Quali funzionalità sono aspettati di questo attributo?

comment:2 Changed 3 years ago by dom_thual

use_single_delivery
def: se true IL GAS utilizza un solo luogo per fare le consegne.
Valore: Viene presso il default del GASConfig.default_delivery_place che se è nullo corrisponde alla sede del GAS.headquarter
View: se true non viene impostato in produzione e rimane un setup anagrafico. Ad esempio all'apertura di un ordine il dato viene automaticamente impostato ed è di sola lettura.

Nota: migliorare il help_text
default_delivery_place = models.ForeignKey(Place, blank=True, null=True, related_name='gas_default_delivery_set', help_text=_("to specify if different from delivery place"))


comment:3 Changed 3 years ago by dom_thual

use_headquarter_as_withdrawal
def: se true IL GAS non utilizza il concetto del punto di ritiro
Valore: se true Non servono e non possono essere valorizzare il campo GASConfig.default_withdrawal_place
ovvero la proprietà GASConfig.withdrawal_place dovrebbe lanciare un eccezione?
View: se true il concetto non viene mostrato in produzione (workflow, stampe) e la classe withdrawal non viene implementato (modello è ok: GASSupplierOrder.withdrawal can be null).

NOTA: questo campo è stato tolto ultimamente dal modello.


Last edited 3 years ago by dom_thual (previous) (diff)

comment:4 Changed 3 years ago by dom_thual

can_change_price
def: se true IL GAS può cambiare in percentuale il prezzo di tutti prodotti presenti nel listino produttore
Valore: se true il GASMember acquista un prodotto ad un prezzo che viene calcolato con una percentuale presente nel PDS.order_price_percent_update e calcolata sul listino relativo al PDS GASSupplierStock.price
View: se false i listini presentano lo stesso prezzo. se true?
Quale listino prezzo mostrare al quali ruoli? chiedere alla comunità?

Confusione?
Questa gestione non permette di rispondere al fabbisogno di un GAS che intende abbattere la fattura di un produttore di una certa percentuale per un sostegno economico del produttore al GAS. Il quale sembra essere la richiesta iniziale.

cioè can_change_price con il PDS.order_price_percent_update NON si applicherebbe al prezzo di listino (ovvero prima dell'acquisto gasista) MA sulla fattura in fase di consegna economica dell'ordine.
Chiedere chiarimenti alla comunità?

cioè per il momento questo concetto di modifica percentuale viene applicato sul prezzo prodotto.
# how much (in percentage) base prices from the Supplier are modified for the GAS. " casi si presentano:
1/2 se PDS.order_price_percent_update > 0 allora il GASMember paga di più del prezzo produttore e in cassa del GAS non entrano nessun soldo per aiutarlo. Cioè tutto finisce in tasca del produttore con una fattura maggiorata.
2/2 se PDS.order_price_percent_update < 0 allora il GASMember paga di meno del prezzo produttore e funziona come se era una promozione che il produttore fa ai gassisti.

Pero in ogni 2 casi, in termine di bilanci per il borsellino del GAS non c'entrano soldi. E un dato contabile. Quindi dobbiamo correggere la help_text:
can_change_price = models.BooleanField(default=False,

help_text=_("GAS can change supplier products price (i.e. to hold some funds for the GAS itself)")

)

la confusione viene dal fatto che
"GAS can change supplier products price" <differente da> "hold some funds for the GAS itself"

Propongo:
"GAS can change producer invoice" == "hold some funds for the GAS itself"
Eliminare il codice relativo alla modifica del prezzo di listino. Questo permette di evitare dei listini prezzo differente tra varie GAS.
Implementare il ribasso di sostegno produttore applicandolo al momento del PAGAMENTO del produttore.
Obbligare che PDS.order_price_percent_update sia solo o positivo o negativo. Cioè per evitare che soldi escono dalla cassa per andare al produttore piuttosto che il contrario aspettato dalla comunity.

comment:5 Changed 3 years ago by dom_thual

use_scheduler
def: se true IL GAS puo automatizzare gli ordini per i PDS che implementano una schedulazione.
Valore: se true un PDS puo essere sottoposto ad una pianificazione automatica.
View: se true un ordine manuale non può essere aperto nella view di apertura ordine.
Se false la view anagrafica del PDS non mostra la gestione di schedulazione.
Il gestionale deve prevedere un passaggio MANUALE-AUTOMATICO per passare da una modalità di gestione all'altra.

Nota dobbiamo predisporre una scatola vuota nel modello per ospitare questa funzione. Come lo abbiamo fatto per la gestione economica.

In pratica
++ from gasistafelice.scheduler.models import Schedule
class GASSupplierStock(models.Model, PermissionResource):
++ schedule = models.ForeignKey(Schedule, null=True, blank=True, related_name="pds_set", help_text=_("automatic order management for this PDS."))

creare un applicazione Scheduler
con classe
class Schedule(models.Model, PermissionResource):

is_active = models.BooleanField(default=False, help_text=_("switch management for manual or automatic mode"))

comment:6 Changed 3 years ago by dom_thual

Riunione 20110616 è stato condiviso come segue:
use_single_delivery -rinominato-> can_change_delivery_place_on_each_order
use_headquarter_as_withdrawal -re introdotto e rinomato-> can_change_withdrawal_place_on_each_order

viene rimandato a dopo il discorso
can_change_price
use_scheduler

Note: See TracTickets for help on using tickets.