logo
logo
Поделюсь своими задумками на этот счет. [Dervish 02/03/2012 11:17]
Сплиты обсуждались довольно давно. И у меня есть желание их сделать, вот только пока еще я не приступил к этому. Впрочем, о сроках чуть ниже.
 
Многие учетные программы трактуют сплит просто как возможность разделить чек из магазина по разным статьям. Молоко в одну кучку (статью), хлеб - в другую. Но мне хотелось бы реализовать более широкое понимание сплитов. Я рассматривал бы сплит как папочку, в которую входит несколько разных операций. В том числе, в одной папочке могут быть операции всех типов. То есть, в сплит запросто можно будет "положить" операцию перевода и операцию расхода. Тот самый случай, который сейчас обсуждается.
 
В общем, в сплит, как и в любую папочку, можно будет положить сколько угодно операций разных типов. Мало того, возможно, что будет полезным делать вложенные сплиты. Папочка в папочке ну и так далее. Правда, это еще открытый для меня вопрос, тут его нужно будет обдумать.
 
Если на закладке операций фильтры настроены таким образом, что из сплита под эти фильтры попадает всего одна операция, возможно, что строчка с папочкой вообще показываться не будет. А вот если под фильтры попадают несколько операций из одного сплита, то они будут показываться в раскрываемой папочке. Ну и для этой папочке можно будет сделать показ итоговых сумм (согласующихся с фильтром).
 
Основное применение для таких сплитов мне видится именно в реализации вот таких сложных проводок, которые должны выполняться одновременно. Ну и разбить чек на молоко-хлеб, но это вторично уже.
 
Поскольку, на мой взгляд, общей болезнью учетных программ является уйма времени, требующаяся на ввод данных, мне показалось, что можно использовать сплиты для усовершенствования ввода операций.
 
С одной стороны, на ввод каждой операции сейчас уходит довольно много времени: даты, классификаторы, суммы. С другой стороны, не знаю как вы, а я все время ловлю себя на мысли, что вводить, по сути, приходится как правило одно и то же. Отсюда родилась идея: реализовать шаблоны для ввода операций. Макрос, по моей задумке, это "почти заполненный" сплит. Это группа операций, в которых не проставлены какие-то реквизиты. Например, дата сплита. Или суммы. При этом, крайне необходим механизм, позволяющий пересчитывать такие шаблоны в момент исполнения.
 
Тогда будет допустим примерно такой сценарий ввода операции в программу: пользователь выбирает по названиям из заранее подготовленного списка шаблонов нужный ему. Двойной клик на нужном шаблоне и на экране появляется окно, в котором присутствуют только не заполненные в шаблоне поля (или заполненные, но специально помеченные для показа). Пользователь заполняет недостающие данные. Если там не указана сумма, то вводит эту сумму. Когда пользователь нажимает ОК, AbilityCash вычисляет все суммы операций по введенной сумме. Например, может автоматически посчитать комиссии за выполнение операций.