Εισαγωγή
Το Boolean field είναι ένας από τους πιο απλούς τύπους πεδίων στο Odoo και επίσης ένας από τους πιο χρησιμοποιούμενους. Κάθε φορά που επιλέγετε ένα checkbox σε μια παραγγελία πώλησης, σημαίνετε έναν πελάτη ως ενεργό ή επισημαίνετε ένα προϊόν ως αγαπημένο, αλληλεπιδράτε με ένα Boolean field.
Παρά την απλότητά του, το Boolean field έχει μερικές συμπεριφορές που αξίζει να κατανοήσετε σωστά. Γνωρίζοντας πότε να το χρησιμοποιήσετε, πότε όχι και πώς να το ρυθμίσετε σωστά θα σας βοηθήσει να δημιουργήσετε καθαρότερα περιβάλλοντα Odoo και να αποφύγετε μερικά κοινά λάθη που κάνουν ακόμη και έμπειρες ομάδες.
Αυτός ο οδηγός καλύπτει το Boolean field από κάθε γωνία: τι αποθηκεύει, πώς συμπεριφέρεται στο μοντέλο δεδομένων του Odoo και στη διεπαφή χρήστη, πώς να το δημιουργήσετε ή να το προσαρμόσετε χρησιμοποιώντας το Odoo Studio ή Python, πραγματικές επιχειρηματικές περιπτώσεις χρήσης και πρακτικές συμβουλές για να αξιοποιήσετε στο έπακρο αυτόν τον τύπο πεδίου.
Τι είναι το Boolean Field στο Odoo
Στο Odoo ORM, το Boolean field αποθηκεύει μία από τις δύο τιμές: True ή False. Αντιστοιχεί απευθείας σε μια στήλη BOOLEAN στο PostgreSQL. Δεν υπάρχει αμφιβολία εδώ: το πεδίο είναι είτε επιλεγμένο είτε μη επιλεγμένο, ενεργοποιημένο ή απενεργοποιημένο, ναι ή όχι.
Από την οπτική γωνία του χρήστη, ένα πεδίο Boolean εμφανίζεται ως checkbox σε φόρμες. Σε λίστες, συνήθως εμφανίζεται ως εικονίδιο επισημάνσεως όταν η τιμή είναι True και τίποτα όταν είναι False. Σε ορισμένες ρυθμίσεις εμφανίζεται ως διακόπτης εναλλαγής αντί για παραδοσιακό checkbox, ανάλογα με το widget που εφαρμόζεται.
Ακολουθεί πώς φαίνεται ο ορισμός ενός πεδίου Boolean σε ένα Python module του Odoo:
from odoo import fields, models
class SaleOrder(models.Model):
_inherit = 'sale.order'
needs_manual_review = fields.Boolean(
string='Needs Manual Review',
default=False,
)
Η παράμετρος string ορίζει την ετικέτα που εμφανίζεται στη διεπαφή. Η παράμετρος default ελέγχει την αρχική τιμή όταν δημιουργούνται νέα αρχεία. Χωρίς προεπιλογή, το Odoo θεωρεί το πεδίο ως False αυτόματα, αλλά θεωρείται καλή πρακτική να δηλώνεται ρητά.
Στο Odoo Studio, αυτός ο ίδιος τύπος πεδίου ονομάζεται απλά Checkbox. Τα πεδία που δημιουργούνται μέσω του Studio λαμβάνουν αυτόματα ένα πρόθεμα x_studio_. Όταν δημιουργούνται μέσω Python ή του XML-RPC API, ορίζετε εσείς το τεχνικό όνομα.
Πώς λειτουργεί το πεδίο
Όταν προσθέτετε ένα πεδίο Boolean σε ένα μοντέλο Odoo, το πλαίσιο δημιουργεί αυτόματα την αντίστοιχη στήλη στη βάση δεδομένων PostgreSQL κατά την εγκατάσταση ή αναβάθμιση του module. Δεν απαιτείται χειροκίνητη SQL μετανάστευση.
Ένα σημαντικό πράγμα που πρέπει να κατανοήσετε: στο Odoo, ένα πεδίο Boolean ποτέ δεν κρατά None ή NULL. Ο ORM επιστρέφει πάντα είτε True είτε False. Ακόμη και αν η στήλη της βάσης δεδομένων δεν έχει τιμή, το Odoo θα επιστρέψει False όταν διαβάσετε το πεδίο. Αυτό διαφέρει από άλλους τύπους πεδίων όπως το Many2one ή Char, όπου μια κενή τιμή επιστρέφει ως False ή None και πρέπει να ελέγξετε και τα δύο.
Κύριες Ιδιότητες Πεδίων
Ακολουθούν οι κύριες ιδιότητες που μπορείτε να ρυθμίσετε σε ένα πεδίο Boolean στο πλαίσιο του Odoo:
- default: Ορίζει την τιμή όταν δημιουργείται ένα νέο αρχείο. Σχεδόν πάντα ορίζεται σε
False, αλλά μπορεί να είναιTrueγια σενάρια opt-out. - compute: Συνδέει μια μέθοδο Python που υπολογίζει την τιμή δυναμικά. Χρήσιμο για παραγόμενες σημαίες με βάση την κατάσταση άλλων πεδίων.
- store: Όταν χρησιμοποιείται με
compute, καθορίζει αν η τιμή αποθηκεύεται στη βάση δεδομένων. Μεstore=True, τα υπολογισμένα πεδία Boolean μπορούν να χρησιμοποιηθούν σε φίλτρα αναζήτησης και αναφορές. - readonly: Αποτρέπει τους χρήστες από το να αλλάξουν χειροκίνητα την τιμή του πεδίου στην διεπαφή. Συνηθισμένο για υπολογισμένες σημαίες που θα πρέπει να ορίζονται μόνο από το σύστημα.
- copy: Ελέγχει αν η τιμή του πεδίου μεταφέρεται όταν διπλασιάζεται μια εγγραφή. Προεπιλογή
True. Για σημαίες όπως "είναι εγκεκριμένο", συνήθως θέλετεcopy=Falseώστε οι διπλασιασμένες εγγραφές να ξεκινούν καθαρές. - groups: Περιορίζει την ορατότητα και την επεξεργασία σε συγκεκριμένες ομάδες χρηστών.
Πώς Εμφανίζεται στις Προβολές
Σε φόρμες, ένα Boolean πεδίο εμφανίζεται ως ένα τυπικό HTML checkbox. Σε λίστες, το Odoo δείχνει ένα εικονίδιο επιβεβαίωσης για True και τίποτα για False από προεπιλογή. Αυτό καθιστά τις λίστες εύκολες στην οπτική σάρωση.
Μπορείτε να αλλάξετε τον τρόπο που εμφανίζεται ένα Boolean πεδίο χρησιμοποιώντας widgets προβολής. Το widget toggle το εμφανίζει ως διακόπτη αντί για checkbox, το οποίο λειτουργεί καλά για ρυθμίσεις ή προτιμήσεις. Για εμφάνιση μόνο για ανάγνωση, το widget boolean_favorite απεικονίζει την τιμή ως εικονίδιο αστεριού, το οποίο μπορείτε να δείτε σε φόρμες προϊόντων και επαφών στο τυπικό Odoo.
Χρήση Boolean Πεδία σε Φίλτρα Τομέα
Τα Boolean πεδία είναι πολύ βολικά στη χρήση σε τομείς του Odoo, οι οποίοι είναι οι εκφράσεις φίλτρων που χρησιμοποιούνται σε προβολές αναζήτησης, αυτοματοποιημένες ενέργειες και κανόνες πρόσβασης. Ένα φίλτρο για μη ελεγμένες εγγραφές φαίνεται έτσι:
[('needs_manual_review', '=', True)]
Δεδομένου ότι υπάρχουν μόνο δύο πιθανές τιμές, μπορείτε επίσης να χρησιμοποιήσετε τη πιο απλή μορφή χωρίς τον τελεστή:
[('needs_manual_review', '=', False)]
Αυτή η απλή συμπεριφορά φιλτραρίσματος είναι ένας λόγος που τα Boolean πεδία ενσωματώνονται τόσο καθαρά με τις αυτοματοποιημένες ενέργειες του Odoo, τις προγραμματισμένες ενέργειες και τις ενέργειες διακομιστή. Είναι εύκολο να ελέγξετε και να ενεργήσετε χωρίς σύνθετες συνθήκες.
Αλληλεπίδραση με το Odoo ORM
Η ανάγνωση και η εγγραφή πεδίων Boolean στην ανάπτυξη του Odoo είναι όσο πιο άμεση γίνεται. Έχετε πρόσβαση στην τιμή του αντικειμένου εγγραφής, την συγκρίνετε με True ή False, και την αναθέτετε απευθείας. Το ORM αναλαμβάνει τα υπόλοιπα. Δεν υπάρχουν μετατροπές, δεν υπάρχουν περιπτώσεις σειριοποίησης και δεν υπάρχουν εκπλήξεις όταν περνάτε τιμές μέσω του XML-RPC API, καθώς οι True και False αντιστοιχούν καθαρά στα αντίστοιχα boolean του XML-RPC.
Επιχειρηματικές περιπτώσεις χρήσης
Τα πεδία Boolean εμφανίζονται σε κάθε τμήμα σε μια τυπική υλοποίηση του Odoo. Ακολουθούν πέντε πρακτικά παραδείγματα από πραγματικές ροές εργασίας επιχειρήσεων.
CRM: Παρακολούθηση Εάν Ένας Υποψήφιος Έχει Πιστοποιηθεί
Οι ομάδες πωλήσεων συχνά χρειάζεται να σημειώσουν ποιες ευκαιρίες έχουν εξεταστεί από έναν ανώτερο εκπρόσωπο και έχουν επιβεβαιωθεί ως βιώσιμες ευκαιρίες. Ένα πεδίο Boolean που ονομάζεται is_qualified στο μοντέλο υποψηφίων CRM δίνει στις ομάδες έναν εύκολο τρόπο να φιλτράρουν την pipeline τους. Οι μη πιστοποιημένοι υποψήφιοι μπορούν να διαχειρίζονται από το προσωπικό χαμηλότερης βαθμίδας, ενώ οι πιστοποιημένοι λαμβάνουν προτεραιότητα. Αυτό το απλό checkbox αντικαθιστά την ανάγκη για μια ειδική φάση ή ένα πεδίο κατάστασης μόνο για αυτόν τον σκοπό.
Πωλήσεις: Σημείωση Παραγγελιών που Χρειάζονται Χειροκίνητη Εξέταση
Σε ορισμένες επιχειρήσεις, ορισμένες παραγγελίες πωλήσεων απαιτούν επιπλέον έγκριση πριν επιβεβαιωθούν, για παράδειγμα παραγγελίες πάνω από ένα συγκεκριμένο ποσό ή για νέους πελάτες. Ένα πεδίο Boolean needs_manual_review στην παραγγελία πώλησης, σε συνδυασμό με μια αυτοματοποιημένη ενέργεια που το ορίζει σε True με βάση επιχειρηματικούς κανόνες, δίνει στην ομάδα οικονομικών ή λειτουργιών μια σαφή σειρά εργασίας. Μπορούν να φιλτράρουν τη λίστα παραγγελιών με βάση αυτό το πεδίο και να επεξεργαστούν τις εγκρίσεις χωρίς να χρειάζεται να ψάχνουν σε ολόκληρη τη λίστα παραγγελιών.
Αποθήκη: Σημείωση Προϊόντων ως Εκτός Καταλόγου
Όταν ένα προϊόν δεν πωλείται πλέον αλλά πρέπει να παραμείνει στο σύστημα για ιστορικούς λόγους, η αρχειοθέτησή του δεν είναι πάντα η σωστή επιλογή. Ένα πεδίο Boolean is_discontinued στο πρότυπο προϊόντος επιτρέπει στις ομάδες προμηθειών και πωλήσεων να βλέπουν με μια ματιά ότι το αντικείμενο δεν πρέπει να παραγγελθεί ξανά ή να προσφερθεί στους πελάτες. Μπορείτε να χρησιμοποιήσετε αυτό το πεδίο σε φίλτρα τιμοκαταλόγων, κανόνες επικύρωσης παραγγελιών αγοράς και ρυθμίσεις ορατότητας καταστήματος ιστοσελίδας.
Λογιστική: Αναγνώριση Τιμολογίων που Χρειάζονται Προσοχή
Οι ομάδες οικονομικών μερικές φορές χρειάζεται να σημειώσουν τιμολόγια που έχουν αμφισβητηθεί, περιέχουν διαφορά τιμής ή περιμένουν πιστωτικό σημείωμα. Αντί να βασίζονται σε σημειώσεις ελεύθερου κειμένου στην επικοινωνία, ένα πεδίο Boolean under_dispute δίνει στην ομάδα έναν δομημένο τρόπο να φιλτράρει και να αναφέρει αυτά τα τιμολόγια. Οι αυτοματοποιημένες υπενθυμίσεις μπορούν επίσης να καταργηθούν για τα τιμολόγια με αυτή τη σημαία ρυθμισμένη σε True, αποτρέποντας την περιττή πίεση πληρωμής σε έναν πελάτη ενώ επιλύεται ένα ζήτημα.
HR: Παρακολούθηση Πιστοποιήσεων και Ολοκλήρωσης Εκπαίδευσης
Τα τμήματα HR συχνά χρειάζεται να επιβεβαιώσουν ότι οι υπάλληλοι έχουν ολοκληρώσει την υποχρεωτική εκπαίδευση ή κατέχουν την απαιτούμενη πιστοποίηση. Ένα πεδίο Boolean στο αρχείο του υπαλλήλου, όπως το safety_training_completed, παρέχει έναν απλό και ελέγξιμο τρόπο παρακολούθησης αυτού. Οι διευθυντές μπορούν να φιλτράρουν τη λίστα της ομάδας τους για να δουν ποιοι χρειάζεται να ολοκληρώσουν την εκπαίδευση, και τα δεδομένα μπορούν να τροφοδοτηθούν σε αναφορές συμμόρφωσης χωρίς να χρειάζεται να δημιουργηθεί ένα πολύπλοκο ειδικό module.
Δημιουργία ή προσαρμογή του Boolean Field
Υπάρχουν τρεις κύριες προσεγγίσεις για την προσθήκη ενός πεδίου Boolean σε ένα μοντέλο Odoo, ανάλογα με την τεχνική σας ρύθμιση και το επίπεδο προσαρμογής που χρειάζεστε.
Χρησιμοποιώντας το Odoo Studio (Χωρίς Κωδικό)
Το Odoo Studio είναι το ενσωματωμένο εργαλείο χαμηλού κώδικα για την προσαρμογή του Odoo χωρίς να χρειάζεται να γράψετε Python ή XML. Για να προσθέσετε ένα πεδίο Boolean μέσω του Studio:
- Ανοίξτε το Odoo Studio από το κύριο μενού (απαιτείται η εφαρμογή Studio).
- Πλοηγηθείτε στη φόρμα όπου θέλετε να προσθέσετε το πεδίο.
- Σύρετε ένα πεδίο Checkbox από την πλαϊνή μπάρα στη διάταξη της φόρμας.
- Ορίστε την ετικέτα, την προεπιλεγμένη τιμή και οποιουςδήποτε απαιτούμενους ή μόνο αναγνώσιμους περιορισμούς στον πίνακα ιδιοτήτων του πεδίου.
- Αποθηκεύστε και κλείστε το Studio.
Το Studio χειρίζεται τα πάντα αυτόματα: το πεδίο δημιουργείται στη βάση δεδομένων με ένα x_studio_ πρόθεμα και προστίθεται στην προβολή. Δεν απαιτείται επανεκκίνηση ή αναβάθμιση.
Χρησιμοποιώντας Python σε ένα Προσαρμοσμένο Module
Για τους προγραμματιστές που δημιουργούν modules Odoo, τα πεδία Boolean ορίζονται απευθείας σε αρχεία μοντέλου Python. Αυτή είναι η συνιστώμενη προσέγγιση για οποιαδήποτε προσαρμογή που χρειάζεται να ελέγχεται εκδόσεων, να δοκιμάζεται και να αναπτύσσεται σε πολλαπλά περιβάλλοντα:
from odoo import fields, models
class ResPartner(models.Model):
_inherit = 'res.partner'
x_is_key_account = fields.Boolean(
string='Key Account',
default=False,
copy=False,
)
Μετά τον ορισμό του πεδίου, το προσθέτετε στο σχετικό αρχείο XML της προβολής ώστε να εμφανίζεται στη διεπαφή. Ο Odoo δημιουργεί τη στήλη της βάσης δεδομένων όταν το module εγκαθίσταται ή αναβαθμίζεται.
Για υπολογισμένα Boolean πεδία, το μοτίβο φαίνεται έτσι:
from odoo import api, fields, models
class SaleOrder(models.Model):
_inherit = 'sale.order'
is_high_value = fields.Boolean(
string='High Value Order',
compute='_compute_is_high_value',
store=True,
)
@api.depends('amount_total')
def _compute_is_high_value(self):
for order in self:
order.is_high_value = order.amount_total >= 10000
Με το store=True, η υπολογισμένη τιμή αποθηκεύεται στη βάση δεδομένων, καθιστώντας την διαθέσιμη σε φίλτρα αναζήτησης και ομαδοποίηση σε λίστες χωρίς να χρειάζεται να υπολογίζεται ξανά σε κάθε φόρτωση σελίδας.
Χρησιμοποιώντας το XML-RPC API
Εάν διαχειρίζεστε τις προσαρμογές του Odoo προγραμματιστικά, για παράδειγμα ως μέρος μιας διαδικασίας ανάπτυξης ή ενός απομακρυσμένου σεναρίου ρύθμισης, τα Boolean πεδία μπορούν να δημιουργηθούν μέσω του XML-RPC API στο μοντέλο ir.model.fields:
field_id = models.execute_kw(
ODOO_DB, uid, ODOO_API_KEY,
'ir.model.fields', 'create',
[{
'name': 'x_needs_manual_review',
'field_description': 'Needs Manual Review',
'model_id': model_id,
'ttype': 'boolean',
'state': 'manual',
}]
)
Η τιμή state: manual λέει στον Odoo ότι αυτό το πεδίο δημιουργήθηκε εκτός ενός module, το οποίο είναι η σωστή ρύθμιση για πεδία που δημιουργούνται μέσω του Studio ή του API. Έτσι ακριβώς χειρίζεται η Dasolo τη δημιουργία απομακρυσμένων πεδίων για πελάτες ως μέρος αυτοματοποιημένων ροών εργασίας ρύθμισης.
Καλές πρακτικές
1. Πάντα να ορίζετε μια προεπιλεγμένη τιμή
Ακόμη και αν ο Odoo επιστρέφει False για Boolean πεδία χωρίς προεπιλογή, είναι καλύτερη πρακτική να δηλώνετε default=False ρητά στον ορισμό του πεδίου σας. Αυτό επικοινωνεί σαφώς την πρόθεση σε οποιονδήποτε διαβάζει τον κώδικα του μοντέλου και αποτρέπει την αμφιβολία όταν το πεδίο χρησιμοποιείται σε αυτοματοποιημένες ενέργειες ή φίλτρα.
2. Χρησιμοποιήστε περιγραφικά ονόματα που διαβάζονται ως ερωτήσεις
Τα ονόματα πεδίων Boolean λειτουργούν καλύτερα όταν διαβάζονται φυσικά ως ερώτηση ναι/όχι. Ονόματα όπως is_verified, needs_approval, has_warranty ή is_key_account είναι άμεσα κατανοητά. Αποφύγετε ασαφή ονόματα όπως flag, status ή check, τα οποία δεν λένε τίποτα για το τι αντιπροσωπεύει πραγματικά το πεδίο.
3. Ορίστε copy=False για σημαίες έγκρισης και κατάστασης
Εάν το πεδίο Boolean σας αντιπροσωπεύει μια κατάσταση που δεν θα πρέπει να μεταφέρεται όταν ένα αρχείο αντιγράφεται, για παράδειγμα "είναι εγκεκριμένο" ή "έχει σταλεί", προσθέστε πάντα copy=False. Διαφορετικά, η αντιγραφή ενός αρχείου θα αντιγράψει την τιμή της σημαίας, γεγονός που μπορεί να οδηγήσει σε αρχεία που εμφανίζονται ως εγκεκριμένα ή αποσταλμένα όταν δεν έχουν περάσει από τη σωστή διαδικασία.
4. Χρησιμοποιήστε υπολογισμένα πεδία Boolean για παράγωγες καταστάσεις
Αποφύγετε να γράφετε ενέργειες διακομιστή ή κώδικα Python που ενημερώνει χειροκίνητα ένα πεδίο Boolean σε απάντηση σε άλλες αλλαγές πεδίων. Αντίθετα, ορίστε το ως υπολογισμένο πεδίο με @api.depends(). Αυτό διατηρεί τη λογική σας σε ένα μέρος, εκτελείται αυτόματα σε κάθε αποθήκευση και είναι πολύ πιο εύκολο στη συντήρηση και την αποσφαλμάτωση από τις διασκορπισμένες λειτουργίες εγγραφής σε πολλές θέσεις της βάσης κώδικα.
5. Προσθέστε πεδία Boolean σε προβολές αναζήτησης όταν χρησιμοποιούνται για φιλτράρισμα
Εάν οι χρήστες χρειάζονται τακτικά να φιλτράρουν αρχεία με βάση ένα πεδίο Boolean, προσθέστε το ρητά στην προβολή αναζήτησης. Στο Studio, ενεργοποιήστε την επιλογή αναζήτησης στον πίνακα ιδιοτήτων του πεδίου. Στον κώδικα, προσθέστε το στην XML της προβολής <search>. Αυτό δίνει στους χρήστες ένα καθαρό κουμπί φίλτρου στη γραμμή αναζήτησης αντί να τους αναγκάζει να χρησιμοποιούν προηγμένα φίλτρα κάθε φορά.
Κοινές παγίδες
Χρησιμοποιώντας Boolean για μια κατάσταση που έχει περισσότερες από δύο επιλογές
Αυτό είναι το πιο κοινό λάθος που κάνουν οι ομάδες με τα πεδία Boolean. Εάν ένα αρχείο μπορεί να είναι σε μία από τρεις ή περισσότερες καταστάσεις, όπως "εκκρεμεί", "εγκεκριμένο" και "απορριφθέν", ένα πεδίο Boolean είναι το λάθος εργαλείο. Καταλήγετε να προσθέτετε μια δεύτερη Boolean, μετά μια τρίτη, και η λογική γίνεται αδύνατο να διαχειριστεί. Χρησιμοποιήστε ένα πεδίο Επιλογής ή μια σωστή ροή κατάστασης αντί αυτού. Τα πεδία Boolean προορίζονται για πραγματικά δυαδικές καταστάσεις.
Ξεχνώντας να ορίσετε copy=False στις σημαίες έγκρισης
Όταν οι χρήστες αντιγράφουν αρχεία στο Odoo, όλες οι τιμές πεδίων αντιγράφονται από προεπιλογή. Μια παραγγελία που έχει σημειωθεί ως "εγκεκριμένη" ή "αναθεωρημένη" θα έχει αυτές τις σημαίες ρυθμισμένες σε True στο αντίγραφο αμέσως. Εάν το αντιγραμμένο αρχείο θα πρέπει να ξεκινήσει από μια καθαρή βάση, προσθέστε copy=False σε κάθε σημαία που αντιπροσωπεύει μια ολοκληρωμένη ενέργεια ή μια επιτευχθείσα κατάσταση.
Μη προσθέτοντας το πεδίο στην προβολή αναζήτησης
Ένα πεδίο Boolean που οι χρήστες χρειάζονται για να φιλτράρουν, αλλά που δεν είναι στην αναζήτηση, τους αναγκάζει να ανοίγουν το παράθυρο προχωρημένου φίλτρου κάθε φορά. Αυτό επιβραδύνει σημαντικά τις καθημερινές ροές εργασίας. Αν προσθέσετε ένα πεδίο Boolean που οι άνθρωποι θα χρησιμοποιήσουν για να βρουν εγγραφές, κάντε το επιπλέον βήμα να το προσθέσετε στην αναζήτηση ταυτόχρονα.
Χρησιμοποιώντας ένα πεδίο Boolean αντί του ενεργού πεδίου
Το Odoo έχει ένα ενσωματωμένο active πεδίο στα περισσότερα μοντέλα που ελέγχει αν οι εγγραφές εμφανίζονται στις τυπικές προβολές. Αν το πεδίο Boolean σας προορίζεται να κρύβει ή να αρχειοθετεί εγγραφές, χρησιμοποιήστε το εγγενές active πεδίο και τον μηχανισμό εναλλαγής του αντί να δημιουργήσετε μια προσαρμοσμένη λύση ορατότητας. Αυτό διατηρεί το μοντέλο δεδομένων σας ευθυγραμμισμένο με τη standard συμπεριφορά του Odoo και συνεργάζεται καλά με τις ενέργειες αρχειοθέτησης και απο-αρχειοθέτησης που είναι ήδη ενσωματωμένες στο UI.
Υπολογισμένα πεδία Boolean χωρίς store=True σε φίλτρα
Αν δημιουργήσετε ένα υπολογισμένο πεδίο Boolean και προσπαθήσετε να το χρησιμοποιήσετε σε φίλτρα αναζήτησης ή ομαδοποίηση λίστας χωρίς store=True, το Odoo θα προκαλέσει ένα σφάλμα ή θα αγνοήσει σιωπηλά το φίλτρο. Τα μη αποθηκευμένα υπολογισμένα πεδία υπάρχουν μόνο στη μνήμη και δεν μπορούν να χρησιμοποιηθούν σε SQL ερωτήματα. Αν ένα υπολογισμένο Boolean χρειάζεται να είναι φιλτραρισμένο ή αναφερόμενο, πάντα προσθέστε store=True στον ορισμό του πεδίου.
Συμπέρασμα
Το πεδίο Boolean είναι το είδος του πεδίου που σταματάτε να παρατηρείτε ακριβώς επειδή λειτουργεί τόσο καλά. Είναι παντού στο Odoo, από τη σημαία active που ελέγχει την ορατότητα των εγγραφών, μέχρι το πεδίο is_published που οδηγεί την ιστοσελίδα σας, μέχρι τις δεκάδες προσαρμοσμένες σημαίες που οι επιχειρήσεις προσθέτουν στις δικές τους ροές εργασίας καθημερινά.
Η κατανόηση του πώς συμπ behaves στο μοντέλο δεδομένων του Odoo, πώς να το διαμορφώσετε σωστά με τις σωστές προεπιλογές και χαρακτηριστικά, και πότε να το χρησιμοποιήσετε σε σχέση με άλλους τύπους πεδίων όπως το Selection θα σας βοηθήσει να δημιουργήσετε υλοποιήσεις που είναι καθαρές, προβλέψιμες και εύκολες στη συντήρηση.
Ένα πεδίο Boolean που έχει γίνει σωστά είναι αόρατο για τον τελικό χρήστη. Απλά λειτουργεί. Ένα πεδίο Boolean που χρησιμοποιείται λανθασμένα δημιουργεί σύγχυση, κατεστραμμένες καταστάσεις και μια αυξανόμενη σωρεία εναλλακτικών λύσεων. Η διαφορά έγκειται στο να γνωρίζετε τους κανόνες και να τους εφαρμόζετε συνεπώς.
Στην Dasolo, βοηθάμε τις εταιρείες να υλοποιήσουν, να προσαρμόσουν και να βελτιστοποιήσουν το Odoo σε όλα τα τμήματα. Είτε χρειάζεστε βοήθεια στο σχεδιασμό ενός καθαρού μοντέλου δεδομένων, στην προσθήκη προσαρμοσμένων πεδίων στις ροές εργασίας σας, είτε στην κατασκευή ενός πλήρους Odoo module από το μηδέν, η ομάδα μας είναι εδώ για να σας υποστηρίξει. Επικοινωνήστε μαζί μας και ας μιλήσουμε για το έργο σας στο Odoo.