﻿id	summary	reporter	owner	description	type	status	priority	component	resolution	keywords	cc
1020	БД: Вычислять статус заказа по необходимости а не хранить его.	san	Denis_N	"Из ticket:874#comment:14
> Часть состояний (""создан"", ""скомплектован"", ""проверен"" и ""прошел ОТК"") формируется автоматически (то есть зависит только от состояния составляющих заказ изделий), а часть (точнее, одно - ""отгружен"") - присваиваются пользователями. Зачем хранить в таблице значение, которое является агрегацией состояний составляющих заказ изделий? ИМХО лучше хранить в таблице orders только поле-флаг ""отгружен"", а остальные состояния вычислять каждый раз по мере необходимости - это позволит избежать потенциальных неконсистентных состояний, когда записанное в таблице состояние не соответствует состояниям составляющих заказ изделий (например в результате бага). Например если состояния изделий кодировать как 0 (не проверено), 1 (проверено, не прошло ОТК) и 2 (прошло ОТК), то состояние всего заказа в целом легко получается простым MIN(itemState)...

"	задача	closed	major	БД изделий АДС	fixed		
