logo
logo

Форум Не помещается описание

создать новую тему раскрыть все
Не помещается описание tea 23/09/2002 02:37 #написать ответ
У меня в поле «Примечание» (964 beta) можно написать только то, что помещается в поле ввода. Например если я туда введу только точки, то их будет 80 (примерно), а если букву Щ то она поместится там только 40 раз.
Мне кажется это не ошибка и было сделано специально, но у меня уже несколько раз были покупки, когда я покупал много вещей, а точной стоимости каждой из них не знаю. Знаю только что купил и общую сумму. Вот в этом случае у меня в поле всё и не помещается, приходится писать что-то вроде «много продуктов» и т.д., и т.п.
Нельзя ли исправить подобное поведение программы и давать вводить более длинные строки, а не только то что помещается в диалоге ввода?
 
Dervish: Справедливое замечание. Будет исправлено.
А как с остальными примечаниями? tea 07/01/2003 01:58 #написать ответ
Точно также не могу ввести примечание больше видимой части и в «Агентах», и в «Статьях».
 
Dervish: Если не ошибаюсь, в бета 1026 я исправил поле "Примечание" в операциях. Но, честно говоря, не помню, исправил ли в Агентах и Статьях. Впрочем, это легко проверяется.
В операциях — исправлено, а… tea 09/01/2003 03:47 #написать ответ
в других примечаниях, то есть в агентах, проектах и статьях так и осталось.
 
Dervish: Непорядок, буду исправлять. Спасибо.
что-то вроде «много продуктов» де Багер 07/01/2003 12:16 #написать ответ
Детализацию орпераций когда будем делать?
 
Dervish: Будем. Правда, не совсем пока понятно это дело чисто идеологически. Но что-то делать надо.
Идеология. Это что? tea 09/01/2003 03:58 #написать ответ
Это как базе сохранять и обрабатывать программой или просто как диалог должен выглядеть?
Для меня это самое ожидаемое изменение в программе.
Это как... де Багер 10/01/2003 02:35 #написать ответ
Поясняю...
Есть комунальные платежи,
   детализируем - квартплата, газ, вода ...
Заморочки - я плачУ за квартиру раз в три месяца (автоматическая (повторяемая) операция), за газ - раз в месяц (так-же), за воду - раз в два месяца.
Вопрос - как это всё хранить, ну и отображать/обрабатывать?
Есть предложение - начать думать после релиза (вроде 2.0, хотя я согласен на 1.5 и с глюками, но завтра)
Да… А я представлял по другому… tea 10/01/2003 07:10 #написать ответ
Я считаю, что детализация должна выглядеть немного по другому.
Например: пошёл в магазин, купил там булку хлеба, зубную пасту ну и ещё чего-нибудь, CD например. То есть агент и время не меняются, а статьи расходов разные.
Сейчас приходится вводить <B>три</B> операции, а в дальнейшем, как я себе представлял, было бы удобнее сделать чтобы в одной операции вводились агент, время и общая сумма, а при большом желании чтобы можно было выделить в этой одной операции какие-нибудь отдельные статьи со своими суммами или полностью детализировать операцию.
А по поводу коммунальных платежей… У меня они просто выделены в программе в отдельную статью, а уже внутри неё подразделяются на воду, свет и прочее.
За газ плачу раз в полгода (чтобы каждый месяц не бегать по этим кассам) и разбивка этого платежа на шесть месяцев тоже нужна, но мне кажется это не детализация, а просто отнесение расходов на другой период времени…
Хотя возможно я неправильно трактую термины.
Что такое "идеологические проблемы"? Dervish 10/01/2003 15:13 #написать ответ
Представим, что есть корневая операция и вложенные в неё дочерние. Итак, вот список вопросов, которые лично мне пока не ясны:
 
1. Должна ли корневая операция иметь собственную сумму или сумма корневой операции автоматически равна сумме вложенных операций?
 
2. Если корневая операция всё-таки имеет собственную сумму, требовать ли равенства суммы корневой операции и общей суммы всех вложенных операций?
 
3. Должна ли корневая операция иметь свою статью?
 
4. И если должна, то стоит ли требовать, чтобы статьи дочерних операций являлись подстатьями корневой операции?
 
5. А может быть вообще не считать корневую операцию операцией и просто дать возможность группировать операции иерархически?
 
Надо иметь ввиду, что рассматривать все эти вопросы следует не только с точки зрения логической целостности и удобства ввода и просмотра данных, но и с точки зрения последующего анализа в графиках.
Об операциях -- Введение Artem Fedorov 10/01/2003 17:19 #написать ответ
Вместо предисловия:
 
>> Должна ли корневая операция иметь собственную сумму или сумма корневой операции автоматически равна сумме вложенных операций?
 
А должен счет иметь баланс на основе его операций, или у него он от операций не зависит?

 
На данном этапе, этапе проектировки, самое главное -- не ошибиться с дизайном, архитектурой этих операций. Такие ошибки дорого стоят. Стоит допустить оплошность, возможность использовать операции неэффективно, как тут же ее как раз и начнут так использовать. Потом начинается "месиво" из информации, которую трудно контролировать. Потом начинаются предложения ввести новую ф-ию в программу, чтобы помочь контрлировать "месиво". И программа превращается из инструмента в набор функций. Все прелесть Cash в том, что в ней сейчас сочетается как отличный дизайн архитектуры программы, так и дизайн интерфейса (который не может быть хорошим, если архитектура приложения имеет ошибки). Повоторюсь -- на данном этапе важно выбрать хороший дизайн (не интерфейс! дизайн архитектуры программы!), чтобы в будущем не расплачиваться за ошибки. Продолжение следует...
 
Dervish: Однажды я наступил на грабли дизайна внутренностей программы, не совсем удачно реализовав работу с файлом базы данных. Может быть потому и пропадает желание снова садиться в ту же самую лужу. Поэтому, собственно, никаких возражений, будем считать ваше сообщение, Артём, аксиомой.
Дизайн Artem Fedorov 13/01/2003 05:29 #написать ответ
Я могу еще ошибку указать: неиерархические счета.
Вот уже есть предложение добавить "раскраску" к счетам. Это первый шаг. Ввели бы мы раскраску, дальше пошли бы просьбы "а сделать так, чтобы не только отдельные счета, но и те, у которых баланс меньше нуля, были красными", потом "все классно, только я хочу оставить счет "основной" всегда синим, даже если остаток меньше нуля", потом программа превращается в "месиво". Хорошо, что можно ввести иерархию и успокоится. А если архитектура уже не позволяет решить проблему легко и изящно из-за ошибочно принятых (когда-то) решений? Вот это, как с Аргентиной-Ямайкой, боль!
 
ЗЫ Таки да, введение и должно было быть аксиомой ) Как каждая хорошая презентация должна начинаться с утверждения, которой не оспоришь.
 
ЗЗЫ В сторону: еще лучшая презентация должна начинаться с пародоксального утверждения, но я до него не додумался. )
 
Dervish: Ой, может быть без парадоксов обойдёмся? )
Об операциях -- Раздел 1 "И де я? Или логика в углу" Artem Fedorov 10/01/2003 17:32 #написать ответ
Исходя из вышенаписанного, объясню, почему я дал такой ответ на первый вопрос авторского поста. Детализация операций -- возможность объеденить несколько операций в одну, чтобы много места не занимали, когда эта группа логически едина!!! Это важный момент. Детализировать одну операцию, в которой каждый член не связан с главным -- большая ошибка (например операция "Расходы за день", куда входят продукты, батарейки, попеременно оплата интернета и коммунальных услуг). Зато есть смысл детализировать логически связанные операции, такие как "Покупка еды", куда входят "Черный хлеб", "Огурцы", "Водка". Заметьте, сама главная, "родительская" операция не несет никакой нагрузки. Она служит обобщением всех покупок, логическим единением. Без нее операции покупок хлеба, водки, огурцов не имели бы такого значения, какое они получают, будучи вместе. Порзнь, можно было бы сказать, что хлеб -- на обед, водка -- в подарок, огурцы -- жене. А вместе, они дают точную характеристику главной операции -- "ужин алкоголика". Здесь родительская и дочерние операции тесно взаимосвязаны, и каждая привносит новый смысл. Я говорю о смысле потому, что он -- основа дизайна. Если нет четкого понимания, кому, зачем и как нужна какая-либо ф-ия, то дизайн будет слабым и следующий щаг -- "месиво". А если есть самое главное -- понимание этих вещей, то и дизайн можно развивать в нужном ключе.
Продолжение следует....
 
Dervish: читаю дальше...
Об операциях -- Раздел 2 "Раздвигаем и расширяем" (1) Artem Fedorov 10/01/2003 18:19 #написать ответ
Покурили, теперь можно продолжать...
Вы знаете, что в Cash уже есть логическая "объединялка" операций -- Статьи? И агенты. И проекты. Благо, все они иерархические. Они уже говорят, что операция не "сама по себе", а уже входит в какую-то подгруппу, имеет родственные связи с другими операциями из другой подгруппы. Но эти категории слишком общие -- именно поэтому поступают предложения сделать разбиение более конкретным, на уровне самих операций, а не всего денежного потока. Итак, необходимо разбить и операции. Почему нужно, чтобы операции были родственными также и по статьям (агентам, проектам)? Для обеспечения единения со всем потоком. Представьте поток, реку. Это весь денежный поток. Но она образуется из притоков, ручейков. Какой-то ручеек узкий, какой-то широкий. В свою очередь каждый ручеек образуется из более мелких и т.д. Иногда приходит "тетка" и выливает ведро помоев в реку. Это тоже приток, только единоразовый (или нечастый, если "тетка" решила время от времени выливать ведро в реку). Это и есть стройное дерево статей, например расходов (постоянные ручейки -- наши регулярный выплаты, "тетка" с ведром -- нерегулярные, например штрафы ГИБДД).
 
Dervish: Тоже покурю и продолжу чтение...
Об операциях -- Раздел 2 "Раздвигаем и расширяем" (2) Artem Fedorov 10/01/2003 18:21 #написать ответ
При необходимости анализировать, мы подходим к каждому ручейку и меряем его вклад в общее дело (в реку). Со статьями (агентами, проектами) так же. А теперь представьте, что вложенные операции имеют разные статьи с родительской. Это не только нарушает принцип логического единства, описанного в первом разделе, такие операции не входят органично в денежный поток. Хотя поток и может быть проанализирован старым способом, эти операции не несут нагрузки информационной нагрузки, позволяющей уточнить свойства основного потока. А теперь, если операции имеют дочерние статьи (агенты, проекты). Например, операция -- "тетка" вылила ведро. Статья "Ведро "тетки"". А дети статьи -- "зловония", "вонючести", "цветастости". А дети операции -- сколько всего этого было в данном ведре, и чего не было в нем вообще. Причем не теряется связь с основным потоком -- все эти дети вписываются в дерево статей и составляют единое целое.
Продолжение следует...
 
Dervish: Любопытная аллегория. Но сомнения пока остаются.
Об операциях -- Раздел 3 "Ответы на вопросы" Artem Fedorov 10/01/2003 18:31 #написать ответ
А что если в одной родительской операции НУ ДОЛЖНЫ БЫТЬ дети разных статей?
Скорее всего, проблема -- в грамотной проектировке дерева статей. Это не так просто как кажется. Хорошо то, что такой дизайн поможет больше уделять времени составлению дерева статей, если человек хочет удобнопользоваться вложенными операциями. Иначе, люди имеют тенденцию к разгильдяйскому отношению по поводу дерева статей, превращая его в чуть более упорядоченный плоский список. Встретившись с проблемой, человек сразу интуитивно (!) начнет перерабатывать дерево. В результате у него будет не только удобная возможность детализировать операции, но лучшая аналитика и отчетность. Но будут и те, кто напишет в форум "А почему так?" и их будет много. Но тут будет выбор -- сделать правильно, или сделать "для всех", что приведет к "месиву" не только у тех, кто не хочет перерабатывать статьи, но и у тех, кто переработал бы, но у него нету стимула. Остается выбрать наименьшее зло.
 
Dervish: Почему-то вспомнился пост уважаемого Эксплорера, что "Не надо меня учить и заставлять". В общем, лично я его понимаю и не являюсь сторонником надуманных ограничений. По мне, чем меньше ограничений, тем лучше.
 
А я хочу детализировать только некоторые части, поэтому надо, чтобы сумма "родительской" была больше сумм "дочерних"
Пожалуйста -- создайте вложенную операцию со статьей родительской и впишите разницу. Пример из первого раздела, только в операции "Покупка еды", дочерняя запись только "Водка", а вторя дочерняя -- сумма огурцов и хлеба. Причем всегда видно, сколько потратили на "водку", а сколько на остальное.
 
Dervish: Ну вот, значит, я буду обязан всегда вводить лишнюю операцию? Тратить своё время, придумывать название статей (для излишка)... И, кроме того, выслушивать сообщения программы, если суммы вдруг не совпадут?
 
А почему именно группировка по статьям? А не по агентам, проектам?
Самый сложный вопрос. Статьи, конечно, лучше. Но! Если мыслить ширше, то возможность детализировать по агентам и/или проектам тоже важна. Оставляю вопрос открытым.
 
Dervish: А этот вопрос совсем прост, ведь группировка по статье совсем не исключает группировку по агенту. Даже, я бы сказал, наоборот.
 
Продолжение следует...
Второй вопрос -- Лишняя операция Artem Fedorov 13/01/2003 04:58 #написать ответ
1. Для "лишней операции" статью придумывать не надо. Она автоматом -- статья родительской.
2. Она может добавляться и рассчитываться автоматом, зависит от интерфейса. Я говорил об архитектуре.
 
Черновой набросок вариант интерфейса -- создаем операцию как все нормальные люди. Жмем в диалоге "Детализировать". Добавляем операцию. Итак. Если сумма меньше родительской, автоматически создается вторая неизменяемая операция, в которой сумма = "сумма родителской" - "сумма всех дочерних". Естественно, с добавлением дочерних сумма в "остатке" (этой вспомогательной операции) изменяется, когда остаток = 0 она исчезает. Как только остаток опять не равен нулю, она появляется. Если же не вводить сумму в родительскую, то сумма родительской всегда будет равна сумме дочерних, и никакие костыли не появляются.
 
Dervish: Значит, как я понял, речь идёт о "виртуальной" операции, т.е. которая может не отображаться, но расчёт аналитики будет делаться так, как будто бы она есть. Если я верно понял, то мне кажется такой подход удовлетворительным.
Виртуальная операция Artem Fedorov 13/01/2003 19:53 #написать ответ
Такая операция должна отображаться, только если не равно нулю. А то потом пользователь скажет: что это за программа, когда 2+2=11? Вам это внушит доверие? Мне -- нет.
 
Dervish: ИМХО, главное, это не заставлять пользователя вводить эту операцию. Если программа сама будет генерировать её, то и на здоровье.
Группировки Artem Fedorov 13/01/2003 05:11 #написать ответ
Не исключает, но как бы это реализовать? Я так понимаю, что при группировке по статьям агенты могут быть любыми у любых детей. И наоборот. Я слабо представляю, как это организовать с точки зрения интерфейса.
 
Dervish: Да так и реализовать: если вводится дочерняя операция, то её статья обязательно должна быть равна родительской или быть дочерней по отношению к родительской. Совершенно аналогично и для агентов. И для проектов, если угодно.
Первый вопрос -- Ограничения Artem Fedorov 13/01/2003 05:42 #написать ответ
Никаких ограничений нет -- ставьте родителем статью "Все статьирасходов" и дело в шляпе. Просто когда смотришь на список операций, а том все "составные" операции -- это "все расходы", лично для меня, это нагонняет уныние. А вот если смотришь что одна операция -- Продукты и вторая -- Коммунальные услуги, то сразу становится все понятней. Если надо, открыл Коммунальные услуги и посмотрел, кому сколько заплатил. Если не надо -- всегда можно посмотреть на сумму всех проплат по ним. Откроешь продукты и видишь, что продукты ты покупал в "Патерсоне", а вот пиццу -- в "Седьмом континенте" (ну нету в Патерсоне нормальных пицц!). Это ОБЛЕГЧАЕТ работу с операциями. А вот когда все родительские операции "все статьи расходов", то это тоже облегчает, но не настолько. У-ф-ф...
 
Dervish: Боюсь, что если проставлять статью в родительской операции "Все статьи расхода", то ценность группировки операций будет несколько снижена. Но, с другой стороны, меня продолжает мучать вопрос, а что же делать с туалетной бумагой, купленной в супермаркете вместе с продуктами питания. Куда её относить?
Как уже написал... Artem Fedorov 13/01/2003 20:00 #написать ответ
Если не будет ограничений -- то "ценность группировки операций будет несколько снижена", если будут, то это "ограничения" и вообще учат как жить. Так вы за кого? за красных или за белых? Определитесь! )
 
Dervish: За белых. ) За отсутствие ограничений.
Об операциях -- Заключение Artem Fedorov 10/01/2003 18:45 #написать ответ
А теперь, пара слов в конце. Я не графоман.
Просто вопрос давно "зрел", и скоро потребует конкретного ответа. И очень не хочется, чтобы ответ был неправильным. Я не отрицаю других мнений, просто этот опус -- мое общее мнение по данному вопросу, куда вошли теоретические и практические размышления. Введение предназначено для очерчивания рамок -- что можно, а что нельзя. Это самый верхний слой и позволяет широкую трактовку. Если вы не согласны в корне с этим, отвечайте руганью на этот пост. Слоем ниже, одна из возможных трактовок -- "логическое единство", или первый раздел. Это всего лишь трактовка, одна из возможных, еще более сужающая рамки. Если вы думаете, что сама идея логического единства -- дурь, то отвечайте на него. Это говорит о том, что с предыдущим постом (введением) вы согласны. Раздел второй -- лично мой вывод, следующий из логического единства. Если вывод вам кажется неверным, или финал пути, по которому я вывел идею таких операций к финишной прямой вам кажется неправильным, предложите вашу трактовку в рамках "логического единства". (пост разбит на две части не из идейных соображений, а токмо волею сервера, не пускающего большие посты). Последний раздел -- это продолжение третьего, практически объясняющие мои размышления.
 
Если вам понравилась идея, мне будет приятно получить "Правильно говорит товарищ".
 
Прошу у всех прощения за больше посты. Как написать обо всем об этом в двух словах -- я не знаю. Если вы считаете, что я дурной графоман -- отвечайте матом на этот пост. (упс! матом не надо, Dervish символами забъет ругательства).
 
Dervish: Лично я не стал бы говорить, что идея логического единства - дурь. В общем, это достаточно привлекательная идея, но лично меня смущает только одно: поскольку я сам не люблю, когда на меня накладывают какие-то ограничения, то мне и не хотелось бы выступать в роли лица, которое накладывает ограничения на других. А "твёрдое претворение в жизнь" идеи логического единства есть ни что иное, как накладывание ограничений на пользователей программы.
 
С другой стороны, если предоставить полную свободу действий, то не совсем понятно, что же делать с анализом данных, как его потом выполнять. Куда ни кинь - всюду клин.
 
А, может быть, правильно сказал уважаемый де Багер, что лучше эту задачку пока отложить?
не понял… tea 11/01/2003 09:23 #написать ответ
Сообщение от Artem Fedorov я наверное не понял. Для чего вводить дополнительную детализацию статей? Если есть статья «тётка», в ней подстатьи «зловония» и «вонюченсти», и эта тётка один в день выполнила две операции: одну «вонючесть» и одну «зловония», для чего мне объединять это в окне операций если оно уже объединено в статьях? Зашёл в графики и смотришь, всего за день: «тётка» 18 л., ниже уровень: «зловония» — 10 л., «вонючесть» — 8 л.
Наверно что-то не так понял…
 
Dervish: Я поясню, но на вашем примере, в сообщении "Идеология...".
Зачем детализировать статьи? Artem Fedorov 13/01/2003 05:18 #написать ответ
Отвечу на вопрос заголовка. Целю "логического единства" -- сгруппировать однотипные микроплатежи вместе. Т.е., сейчас, при открытии окна операций, мы завалены кучами мелких операций. Цель этого всего -- группировать похожие операции вместе, т.е. вместо кучек операций, каждая из которых мало что значит в отдельности (оговорюсь, не все операции такие), было бы удобно смотреть на перечень "солидных" операций, которых станет меньше. Каждая из операций будет отражать общее направление заключенных в ней расходов, при желании узнать подробнее, просто разорчиваем родительскую операцию и смотрим на детей. Визуально все выигрывает в десятки раз. Если будет у кого желание, могу написать еще сообщение, почему выигрывает.
 
Dervish: Если группировка приведёт к большому количеству операций по статье "Все статьи расхода", то не очень-то и выиграет, увы.
Почему нет автоподставления темы? (Re: Зачем детализировать статьи?) Artem Fedorov 13/01/2003 19:58 #написать ответ
Погодите! Так что нужно?
Я говорю о жесткой группировке по статьям, а мне в ответ "зачем?", "это ограничения", "не надо меня учить"... Ок говорю, можете не привяхываться жестко к статьям. В ответ: "но это уже не так эффективно". А что эффективнее? Вообще не считаться со статьями? Но это же "не так эффективно".
 
А группы всегда выигрывают против линейных списков. Даже если человек  группирует данные не по логике программы, он все-таки подчиняет их какой-то своей логике. Мой подход позволяет объеденить видение логики программой и человеком.
 
Dervish: Идеальный вариант, это когда пользователь сам решает, что ему важнее, целостность структуры (соблюдение которой получается из жестких ограничений) или полная свобода действий.
 
Сейчас могу констатировать: с одной стороны Cash активно используется как частными пользователями, так и компаниями (даже несмотря на невозможность одновременной работы с нескольких рабочих мест). Это с одной стороны. С другой стороны иногда приходится видеть, например, крайне неудачно составленное дерево статей и агентов. Бывает и такое. А есть ещё вот что: некоторые пользователи вообще не пользуются операциями прихода/расхода, ведут учёт исключительно операциями перевода.
 
Почему это происходит? Да как раз потому что Cash не налагает сильных ограничений на методику учёта. А если ввести такие ограничения, что получится? ИМХО, получится переход пользователей на другую программу.
Идеология… tea 11/01/2003 09:19 #написать ответ
Моё мнение:
1. Должна иметь собственную сумму.
2. Нет.
3. Нет. (неуверенно
4. Нет (уверенно)
5. Учитывая ответы на 1-й и 2-й вопросы, мне кажется пользы от простой группировки не будет и непонятно зачем тогда вообще что-то менять…
 
Теперь поясню. Как я уже писал выше, я рассматриваю детализацию операций со следующей позиции: Я пришёл в магазин и сделал много разнообразных покупок. Пришёл домой, достал кассовый чек, длинною 50 см. и начал вводить операции.
Сейчас, либо вводишь одну операцию на всю сумму, либо вводишь все 50 см. В первом случае нет точности анализа, во втором — долго и все операции занимают много места на экране. Второй случай не смертелен, но не очень удобен. Может я не хочу заводить отдельные статьи на редкие покупки или не хочу детализировать покупки стомостью менее 10 руб., но в то же время хочу знать сколько у меня уходит на пиво, водку, сигареты и таблетки для печени… Вот тут-то, детализация и нужна: кассовый чек (вся покупка в одном магазине) на 500 руб. — это корневая операция, а вложенные в неё только то что я хочу выделить — а) пиво 100 руб., статья — снятие деперессии; б) водка — 100 руб., поднятие настроения; в) таблетки — 50 руб., лечение после поднятия настроения; г) хлеб — 5 руб., питание. Итоговая сумма вложенных операций корневой не равна, статьи разные, а анализирую я только указанные статьи и ничего другого.
Вот для этого и нужна детализация покупок. Тогда можно и смотреть на какого агента сколько тратится, так как в корневую операцию введена вся сумма покупки, и статьи которые необходимо держать под контролем тоже содержат достоверную информацию. Тогда и в окне операций хочешь посмотреть детально где, когда и что покупал раскрыл корневую операцию, не хочешь не смотришь, но примерно можно оценить сколько и где потратил в день или неделю, не пролистывая по несколько экранов.
 
Dervish: Вначале пояснение к сообщению Артёма.
 
Допустим вы вводите общий чек для всех покупок, которые вы сделали в супермаркете. Тогда, действительно, корневая операции будет иметь сумму всего чека и относиться к статье "Продукты питания", а дальше, когда вы будете детализировать покупки, вы, например, потраченную на водку сумму отнесёте к статье "Спиртные напитки", которая является подстатьёй упомянутых уже "Продуктов питания". Тогда в последующем, в графиках, это будет очень наглядно отображено.
 
Совсем другой вопрос, что делать, если в общую сумму чека входит, например, туалетная бумага, которая так же куплена в супермаркете. К продуктам питания её, увы, отнести не получится, значит, что с ней делать? Если настаивать на идее логической целостности, то что? Артём, как переработать дерево статей, чтобы туалетная бумага всё-таки вошла в продукты питания?
 
В общем, имхо, идея детализации полезна в двух случаях: для более наглядного представления данных в таблице операций и для более полного и точного анализа введённых данных. Не клеится как-то...
А вот так! :) Artem Fedorov 13/01/2003 05:09 #написать ответ
Как построить дерево?
А так?
Расходы -> Товары -> Продукты
Расходы -> Товары -> Гигиена
Ставим родителем Товары, на продукты -- "Прдукты", на туалетную бумагу -- "Гигиена".
 
Вообще, моя реализация допускает вольности. Например указать в статье родителя "Все статьи расходов".
 
А идеальное дерево стОит разбить очень подробно и со смыслом, вроде того:
Расходы -> Услуги
Расходы -> Товары
И дальше детализировать вроде
Услуги -> Коммуникации
Услуги -> Развлечения
и т.д. Получится ОЧЕНЬ громоздко для заполнения, но при анализе -- сказка!
 
Dervish: А сказка ли? Хорошо, а купленный аккумулятор для автомобиля относится к товарам? Почему бы его не отнести к автомобилю? И что мне делать, если я все свои расходы по автомашине хочу видеть в одной статье? И услуги и товары? Что тогда?
Автомобиль Artem Fedorov 13/01/2003 20:05 #написать ответ
Вы сами дали прекрасный ответ на данный вопрос (про автомобиль). У операций агент -- Автомобиль, а статьи любые. В графике выберите агента автомобиль, и вам дадут все на блюдечке, с разбивкой. Для этого агенты и нужны, так? И зачем привязывать статью к агенту? Это должно происходить в операции, а не в самом дереве статей.
 
Да, аккумулятор это ТОВАР. Деньги, это ТОВАР, облигации -- ТОВАР. Все, что не является услугой -- ТОВАР.
 
Dervish: Хм, ладно, убедили. Убедили в том, что проблема аккумулятора для автомобиля решается правильной подготовкой дерева статей и агентов.
Автомобиль — агент ??? tea 18/01/2003 21:30 #написать ответ
Это как? Я купил аккумулятор у агента автомобиль? Или мне в агенте автомобиль ещё надо создать кучу агентов — все магазины где покупаются запчасти на машину?
--------------------------------------
> Получится ОЧЕНЬ громоздко для
> заполнения, но при анализе --
> сказка!
Так ведь, как я понял детализацию надо делать, чтобы было при заполнении не громоздко.
 
И всё таки я хотел бы уточнить у «Artem_Fedorov»: а не путаете ли Вы операции с отчётами?
 
Ведь анализ происходит (как и должно быть) в отчётах а не при вводе операции. Но об этом я ниже напишу…
 
Dervish: А какая информация полезнее, где потратили деньги или на кого (на что) потратили деньги. Другими словами, что лучше, знать в каком магазине были потрачены деньги или на что? Думаю, что ответ очевиден. А раз так, то магазины в списке агентов не нужно перечислять вовсе, а вот автомобиль как раз подходит к упоминанию в агентах.
Про автомобиль Artem Fedorov 19/01/2003 02:23 #написать ответ
Нет, вы не так поняли. Как сказал Сергей, агент, это не ГДЕ потратили деньги, а НА КОГО потратили. Мне кажется это очень логичным. Поэтому автомобиль и есть агент.
 
Насчет громоздкости. Вы меня не так поняли. Громоздко не детализировать. Громоздко:
а) создать такое дерево статей, т.к. оно очень подробное.
б) заполнять поле "статья" в _любой_ операции, т.к. дерево статей очень большое, и тыкать 10 раз мышкой утомительно.
 
Просто в данном контексте я говорил не о детализирующих операциях, а обо всех операциях, и о большом дереве статей. Понимаю, что иногда уследить за мыслью трудно, т.к. посты у меня довольно большие.
 
Dervish: No comments. Всё так и есть.
взаимозаменяемость агентов и проектов Сергей Старуш 24/01/2003 18:18 #написать ответ
Мне показалось, что при достаточном пофигизме/уровне абстрагирования возможна взаимозаменяемость агентов и проектов ;-).
То есть, можно каталогизировать агентов "жена", "автомобиль", "родители", а можно вести проекты с теми же названиями, разница лишь в ярлыках "проект" и "агент". Я правильно понимаю? =)
 
Dervish: Совершенно верно. Мало того, во второй версии уже не будет отдельных понятий "статья", "агент" или "проект". А будут классификаторы, которые можно будет создавать динамически в базе данных (и, в том числе, дать им эти названия). Тогда каждый пользователь сможет самостоятельно создать такое количество классификаторов, которое ему необходимо.
Второй вариант Artem Fedorov 13/01/2003 05:12 #написать ответ
Можно организовать по агенту. т.е. агент у всех один -- Супермаркет. А статьи -- любые. И дочки они по агентам.
 
Dervish: Ага, значит вам тоже не очень нравится предложенный вами же вариант. Иначе зачем предлагать другой? )
 
И потом, агент "Супермаркет", это просто отвратительный агент. Это самый неудачный пример агента, который только вообще возможен (если вы, скажем не занимаетесь спонсированием супермаркета).
 
Правильный агент, это не тот, кому физически были отданы или через кого были переданы деньги. Правильный агент, это тот, на кого были потрачены деньги!!!
Слишком серьёзно может получиться… tea 13/01/2003 09:56 #написать ответ
Я думаю, что если всё так подробно детализировать, то получится, что белый хлеб «кирпич» будет иметь свою статью, а белый хлеб «батон» — свою, потом ещё окажется что и их надо детализировать каким-либо образом. В итоге, статьи расходов, по своему количеству, запросто смогут сравниться с бюджетом нашей «необъятной».
Такую структуру счетов практически невозможно правильно составить сразу при начале использования программы, а в последующем это будет вызывать частые переделки счетов.
 
Dervish: Согласен. Потому и считаю очень существенным своим упущением, что вместе с программой мною не был предложен продуманный список статей. Это надо исправлять. Видимо, я это сделаю в виде шаблона базы данных.
Совсем нет :) Artem Fedorov 13/01/2003 10:25 #написать ответ
Я так понимаю, это был ответ к посту "А вот так! ", а не "Второй вариант"?
 
Почему подробно? Я говорю как должно выглядеть, ИМХО, в идеале. Человек детализирует до той степени, до какой ему нужно анализировать. Зачем, например, детализировать операцию хлеб на белый и черный, если потом при анализе совсем не нужно, сколько потратили на белый, а сколько на черный? Это бессмысленно. А если человек хочет детализировать большую покупку, чтобы потом проанализировать все ее части, но не хочет создавать кучу разных операций (причем теряется информация о том, что все операции -- одна покупка), то ему придут на помощь детализируемые операции.
 
Насчет того, что нельзя сразу составить правильно. Да, это так. Но стремиться к этому надо. Я, например, начинал так: при каждой операции, если не было подходящей статьи, я создавал максимально узкую (близкую к операции) статью. Например при покупке картиочки интернет я создавал статью "Оплата интернета". У меня получался более-менее линейный список. Когда потребовался анализ, я создал более общие категории и раскидал по ним узкоспециализированные статьи. Если же начать создавать статьи более широкого характера, то да, впоследствии построить грамотное дерево будет проблемой. Это, кстати, кирпич в огород автора -- надо демонстрационную базу поставлять в комплекте
 
Dervish: Да, камушек весьма существенный.
Демонстрационная база Artem Fedorov 13/01/2003 10:34 #написать ответ
Кстати, возникла идея. Почему бы перед выпуском версии 2 не создать раздел, в котором каждый желающий сможет опубликовать свою базу статей? Или ту, какая ему кажется наиболее правильной? И автор (возможно при поддержке общественности) сможет составить демонстрационную базу, используя за основу лучшие части присланных статей?
 
Dervish: А кто ж запрещает-то? Форум практически не модерируется, да и если возникнут такие предложения, то я готов выложить демонстрационную базу на сайт. Готов даже отдельный раздел на сайте создать, что-нибудь типа "Дополнительно".
 
Кстати, могу сказать, что это существенно облегчило бы мне работу, поскольку и так уже зашиваюсь просто.
Неправда ваша! Artem Fedorov 13/01/2003 20:06 #написать ответ
Мне не нравится как раз этот вариант, с агентами. А предыдущий очень даже нравится, и я уже объяснил почему.
 
ЗЫ Спасибо за разъяснение с агентами! Оказывается, я все время этого не понимал. И еще удивлялся, почему анализ по агентам у меня такой неинформативный.
 
Dervish: Всегда пожалуйста!
 
И всё-таки, сомнения во введении ограничений у меня остаются, увы.
Суммируя Artem Fedorov 17/01/2003 04:41 #написать ответ
Итак, возражения понятны. Разберем по полочкам. Я насчитал их три:
 
1) Сумма родительской статьи равна сумме дочерних статей.
Обходной путь найден в том, чтобы создавать автоматическую операцию, корректирующую свое значение.
 
2) Дочерние записи должны иметь любые статьи
Обходной путь -- создать родительскую статью "Все статьи расхода". Или пустую, что то же самое в данном контексте.
 
3) Дочерние записи должны иметь любые статьи, НО родительская запись тоже должна иметь свою статью, не являющуюся родительской для статей дочерних записей
Вот тут решение не было найдено. Вся логика моих соображений противоречит тому факту, что у родительской записи своя статья, а у дочерних операций статьи совершенно из другой ветви, т.е. у них нет связи с родительской операцией. Остается решить, такой ли уж важный это постулат (несвязанность родительских и дочерних). Можно, конечно , разрешить делать что угодно, в том числе можно будет пользоваться и моим подходом. Но! Не тот ли это случай, когда вседозволенность идет во вред? Есть ли РЕАЛЬНАЯ потребность в том, чтобы родительская операция имела свою статью (не пустое поле!), а дочерние операции -- совершенно другие. Если родительская операция имеет в поле статьи пустое поле (или "все статьи расходов"), то это "не так эффективно" (с) Dervish. Перефразируя, можно сказать , что когда родительская операция имеет свою статью, а дети -- другие (статьи не из той же ветки, что и родительская статья, а совершенно из другой!), то это "еще менее эффективно". Вопросы:
о А как пользователь узнает, что эффективнее, если сама архитектура программы ему это не объяснит?
o Стоит ли давать в пользователю инструмент, которым можно неправильно пользоватся, при этом не поставив "предохранители"?
o Какая же реальная, практическая польза от родительских операций, которые не связаны с дочерними по статьям? Желательно пример их жизни.
 
Dervish: В общем, понятно, но теперь, пожалуй, это надо осмыслить. Спасибо.
В другую ветку форума… tea 11/01/2003 09:22 #написать ответ
Вообще, после сообщения от де Багер 07.01.2003 г. 12:16:40 (MSK) «что-то вроде много продуктов…» ошибки программы уже не обсуждаются. Мне кажется надо все посты после указанного перенести в другую ветку форума.
 
Dervish: Увы, но я могу сделать это только ручками. И думаю, что замаюсь просто разыскивать файлики сообщений на сервере, поэтому пока подожду, ладно?
Форум Artem Fedorov 13/01/2003 05:47 #написать ответ
Может стоит сделать в форуме при показе операций (тьфу! постов) около каждого "якорь" (anchor)? Например так
# От:... Добавлено:...
Где ссылка вида
http://www.dervish.ru/forum.php?view=xxx#Номер сообщения
Чтобы можно было скопировать ссылку и ссылаться на конкретное сообщение, а не на весь тред
 
Dervish: Конечно, это было бы полезно. Равно как и уведомлять по e-mail о новых сообщениях. Но это потребует доработки форума, значит, для этого нужно время, а его и так не хватает. Давайте пока не будем гнаться за лучшим, тем более, что уже имеем хорошее.
в продолжение… tea 18/01/2003 22:10 #написать ответ
2 «Artem_Fedorov»:
Мне кажется что Вы немного по своему трактуете понятие «операция», детализацию которой и необходимо сделать.
Ведь страница операций предназначена не для анализа расходов, а для их ввода, или точнее для ввода покупок. Анализ на других страницах программы…
Предлагаю обсудить следуюший случай: утром одновременно куплены булка хлеба и тюбик зубной пасты, в обед — колбаса и мыло, а вечером — сыр и шампунь.
Если сделать как предлагаете Вы, детализировать расходы сразу по статьям, то что, я в на странице операций буду видеть всего две операции — «питание» и «гигиена»?
Неправильно это… На странице операций я должен видеть какие покупки я совершал, когда, где, во сколько… А анализировать кому, сколько и за что я отдаю необходимо в другом месте — в отчётах или графиках…
Вот тогда там и будет видно кто пиццу делать не умеет…
Полностью согласен! Роман 19/01/2003 22:43 #написать ответ
На странице операций нужно облегчать введение операций и понимание произведенньіх операций. Мне кажется, что для єтого достаточно сделать группировку операций по какому-либо признаку: месту проведения, статьи расходов(прихода), агенту, времени, какому угодно пользователю. Кстати по предустановленьім реквизитам  группировка может происходить автоматически.
А вообще предлагаю отложить вопрос до версии 2.1. Уж больно новой версии заждался...
Боюсь, меня не поняли Artem Fedorov 20/01/2003 06:31 #написать ответ
Нет, вы не будете видеть только две операции. Вы будете видеть только те, которые ввели. Я говорил о группировке не в этом смысле. Я говорил о том, что если вы решили добавить _вложенную_ операцию в существующую операцию, то у _вложенной_ операции вы сможете выбрать только ту статью, которая у родительской операции. Или статью, которая является дочерней для статьи родительской. Вот о чем я говорил (уже) в постах 10.
 
P.S. Что-то диалог не клеится. "В огороде бузина..."
Да если бы про бузину… tea 20/01/2003 23:52 #написать ответ
…, а то мне кажется, что разговор получается, про дядьку в огороде
 
Но чтобы лучше понять друга друга, я всё-таки прошу Вас на моём примере, приведённом выше, объяснить Ваше видение проблемы.
 
Только прошу, при этом учитывать, что было куплено всё-таки не две вещи, а больше, как оно часто бывает при посещении супермаркетов, и эти вещи разнообразные — мыло, сметана, хлеб, водка (водка, кстати, не продукт питания), туалетная бумага, и т.д., и т.д., и т.д. …
 
Может после этого бузину под корень изведём
а может так? Vit 29/01/2003 17:39 #написать ответ
А вы не хотите рассмотреть такой вариант: возможность группировки (например - по статьям доходов/расходов) и древовидного отображения операций для случая когда несколько операций имеют одну и ту же дату.
Поясняю: пусть кто-то купил в магазине тучу необходимой ерунды, и пподит ее в программу НЕ закрывая каждый раз окно "добавить операцию". В этом случае можно было бы присваивать всем таким операциям одну и ту же дату (это imho еще не совсем так). Далее, при отображении этих операций, программа выделяет операции, выполненные в одно и то же время, среди них ищет операции с общим "родителем" в статьях прихода/расхода, отличным от "корня", и после этого группирует.
Таким образом, у нас будет возможность сгруппировать операции по нашим же (для каждого-своим) приходно-расходным статьям без всякой надобности в более-менее существенных модификациях программы...
 
Dervish: Была и такая мысль. Но вот Артём Фёдоров считает, что группировка операций должна нести не только функции интерфейса, но и способствовать целостности данных и, если угодно, принуждать пользователя к правильному ведению учёта.
Насчет группировки по дате Artem Fedorov 29/01/2003 22:57 #написать ответ
На самом деле предложенный вариант почти в точности мой
Ключевая фраза: "... среди них ищет операции с общим "родителем" в статьях прихода/расхода..."
Насколько я понимаю, это та же группировка по статьям, но в моем случае (подрузамевалось, я не указывал прямо) что пользователь сам укажет, какие операции добавлять как дочки; в данном случае программа сама решает какие операции сгруппировать вместе, но основная особенность -- родитель будет та операция, у которой статья находится выше всех по дереву статей. Т.е. та же группировка по статьям, только в групиировку включаются не те операции, которые мы укажем, а те, у которых одинаковая дата.
 
Я правильно понял?
 
Dervish: Когда "программа сама решает", это самодеятельность. Причём, в худшем смысле этого слова. Imho, конечно же.
"Сама решает..." Artem Fedorov 30/01/2003 15:48 #написать ответ
Вы неправильно поняли мою фразу. "Сама решает" тут не совсем правильно. Она не решает, она группирует те операции, у которых одинаковая дата (как предлагал Vit). Сама она решает по сравнению с другим методом, когда пользователь прямо указывает, какие операции включать, а какие нет. Тут пользователь тоже указывает, какие включать, но не прямо, а через присвоение одинаковой даты операциям.
сама решает Vit 31/01/2003 14:04 #написать ответ
В общем, Артем меня правильно понял
 
Я действительно предлагал полуавтоматический вариант группировки, подразумевая что если пользователь вводит единовременно группу операций, то эта группа логически связана между собой...а на случай, когда там попадаются операции со "слишком" разными статьями расхода, они (операции) будут объединяться в разные группы под ближайшей "сверху" статьей прихода/расхода.
 
Я не против варианта с "ручным" выбором операций для включения в "групповую" - просто хотелось предложить вариант, который с наименьшими изменениями вписывается в существующую модель программы. Для "совсем" новой версии программы (2.0?), возможно, важным будет дать пользователям более обширные возможно ее настройки - что, впрочем, не отменяет дать возможность пользователю группировать операции и "моим" способом )
 
Dervish: Я не думаю, что сразу же буду делать очень принципиальные изменения во второй версии по части интерфейса. Задача, как я её формулирую перед собой состоит в том, чтобы развязать мне руки и отказаться от структуры файла данных, которая не даёт программе развиваться. А все изменения и доработки могут быть сделаны потом, в совместном обсуждении на сайте.
 
Хотя, несколько (надеюсь приятных) сюрпризов я всё-таки припас. )