def __init__(self):
super(Move, self).__init__()
Это регистрация проверок [Функция проверка, Метка сообщения при
ошибке]
self._constraints += [
('check_centralisation', 'period_centralized_journal'),
('check_company', 'company_in_move'),
('check_date', 'date_outside_period'),
]
Это разрешения вызова функций для удаленных клиентов. (По умолчанию
выполнение запрещено)
self._rpc.update({
'button_post': True,
'button_draft': True,
})
self._order.insert(0, ('date', 'DESC'))
self._order.insert(1, ('reference', 'DESC'))
Здесь хранится описание сообщения об ошибках
self._error_messages.update({
'del_posted_move': 'You can not delete posted moves!',
'post_empty_move': 'You can not post an empty move!',
'post_unbalanced_move': 'You can not post an unbalanced
move!',
'modify_posted_move': 'You can not modify a posted move '
\
'in this journal!',
'period_centralized_journal': 'You can not create more
than ' \
'one move per period\n' \
Это пример функций проверки которые зарегистрированны при
инициализации объекта
def check_company(self, ids):
for move in self.browse(ids):
company_id = -1
for line in move.lines:
if company_id < 0:
company_id = line.account.company.id
if line.account.company.id != company_id:
return False
return True
def check_date(self, ids):
for move in self.browse(ids):
if move.date < move.period.start_date:
return False
if move.date > move.period.end_date:
return False
return True
Поизучай код родного модуля account хотя бы файл move.py - Это
операционный журнал финансового учета западного образца.
Имя функции проверки должно называть вот так -> check_Имя поля
и возвращать True или False
default_(имя поля) - Заполнение по умолчанию поля в новой форме
Возвращает значение поля или False
on_change_(имя поля) - Вызов при изменении поля для проверки группы
полей
Возвращает значение поля или False
on_change_with(имя поля) - Вызов при изменении поля обработки группы
полей
Возвращает значение поля или False
Здесь описание типов полей и их свойств
http://doc.tryton.org/2.2/trytond/doc/ref/models/fields.html#ref-models-fields