logo
logo
Еще раз. [Dervish 01/09/2009 01:54]
Есть операции расхода. Есть операции прихода. В общем случае у них могут быть разный набор классификаторов. Например, для операции прихода никак нельзя указать статью расхода "Все расходы на меня".
 
Теперь представим себе вот такую ситуацию: в кармане 500 рублей, а в программе значится - 1000. Я ввожу операцию остатка (неважно как, галочками или отдельной операцией) в которой указываю вышеупомянутую статью расхода "Все расходы на меня". А потом вспоминаю, что неделю назад я, скажем, еще заправил автомобиль на 600 рублей. Ввожу ее задним числом и получаю что моя операция остатка превратилась в операцию прихода на сумму 100 рублей. Прихода! С расходной статьей "Все расходы на меня".
 
Вот такая ситуация не должна возникать в принципе. Она должна быть невозможной. Поэтому, если вы хотите, чтобы операция остатка содержала классификаторы, то в программе должно указываться два комплекта классификаторов, один для операции расхода, другой - для операции прихода.
 
Да и то, поработав некоторое время с операциями фиксации остатка в своей базе данных я еще больше укрепился во мнении, что операции фиксации остатка - зло. Вредное и ненужное зло. Впрочем, я отклонился от темы.
 
Реализовывать два комплекта классификаторов на одну операцию я не хочу, это очень серьезная переделка. Можно ли сделать так, чтобы для операции фиксации остатка вводился всего один комплект классификаторов? Один вариант я предложил: сделать так, чтобы при вводе операции фиксации остатка сразу указывалось, это операция прихода или расхода. Если, например, указывается, что это операция расхода, то она будет аккуратно корректировать сумму своей операции до тех пор, пока сумма операции будет отрицательной. Но как только действия пользователя приведут к тому, что сумма этой операции должна будет стать положительной (то есть, операция превратится в операцию прихода), то программа принудительно оставит ее нулевой. И тогда итоговый остаток от этой операции "уплывет" и станет не тем, который был введен.
 
В таком варианте реализации для "полноценной" фиксации остатка, чтобы он вообще не изменялся ни в какую сторону нужно будет ввести подряд две операции, одну - операцию расхода и вторую - операцию прихода. Два комплекта классификаторов. Собственно, с этого я и начинал.