создать новую тему раскрыть все
свернуть/развернуть ветвь Порядок операций в списке [Дим(м) 19/01/2004 12:27] # написать ответ
 
Насколько я понимаю, если учет времени операций выключен, то  в пределах одной даты операции в списке отображаются в соответствии с порядком ввода: самая последняя выше предыдущих?
Неплохо было бы, наверное, сделать возможность переупорядочивать их вручную (например, какими-нибудь Ctrl+Up/Ctrl+Down), чтобы избавляться от отрицательных промежуточных остатков. Не очень хочется проставлять всем операциям время (да еще и видеть его в таблице) только, чтобы задавать относительный порядок операций.
 
Dervish: Наверное возможно и даже желательно, но надо понимать, что это будет изменять время операции.
свернуть/развернуть ветвь Изменять время? [Дим(м) 19/01/2004 13:04] # написать ответ
 
Я имел в виду исключительно редим работы, когда время операций не учитывается/отображается/вводится (галочка "Учитывать время в операциях" выключена).
В случае, когда это не так, понятное дело, никаких перемещений "вручную" - только редактирование времени.
 
Dervish: Даже если эта галочка (учитывать время...) у вас выключена, всё равно, поле "Время" неявно присутствует в данных, оно никуда не пропадает, оно просто не показывается. А положение операции в списке определяется двумя полями: дата и время (даже если оно не видно).
 
Любопытства ради включил в базе поддержку времени уже после того, как добавил несколько операций. В итоге, у всех этих операций время оказалось 0:00:00, что и ожидалось. Well
Но ведь как-то же они упорядочиваются. Well
Раз не по времени, а по каким-то внутренним параметрам (порядку в базе?), то и переупорядочивание существенно операций не поменяет!
 
Т.е. в режиме без учета времени операции можно и нужно (!) уметь менять местами.
 
Dervish: По времени. По миллисекундам.
свернуть/развернуть ветвь Ох, зря я это сделал... [Дим(м) 11/03/2004 11:36] # написать ответ
 
После того, как снова отключил учет времени в операциях (при этом у некоторых операций время уже было установлено) при открытии файла происходит следующее:
 
Файл: Array.h
Строка: 233
Возврат: 0x0041bd5f
Версия: 2.0 alpha
Сборка: 188
 
После того, как около десятка раз согласишься продолжить выполнение программы, все вроде ок, но при добавлении операции и сохранении базы падает:
 
Файл: dbEngine.cpp
Строка: 1296
Возврат: 0x0041c623
Версия: 2.0 alpha
Сборка: 188
 
Dervish: Мммда, неприятность. Можете прислать файл базы?
 
(Продублировал на e-mail)
свернуть/развернуть ветвь Отправил базу почтой [Дим(м) 11/03/2004 16:11] # написать ответ
 
А еще заметил во время дальнейших экспериментов, что после таких включений-выключений учета времени у некоторых операций пропали минуты.
Было, например, 11:20 - стало 11:00. При этом у соседней операции, как было 10:30, так и осталось!
Причем сделать обратно 11:20 уже нельзя! Исправляешь время на 11:20, а в таблице по прежнему выводится 11:00. Да и если снова открыть свойства, то там тоже будет 11:00.
 
Dervish: Фантастика! Давайте разбираться.
 
1. Эти эксперименты вы выполняли на уже испорченной базе данных или на нормальной?
 
2. Можете прислать мне (по мылу) последовательность действий пользователя в которой проявляются такие эффекты?
 
PS. За базу спасибо, буду разбираться.
свернуть/развернуть ветвь Давайте... [Дим(м) 11/03/2004 17:54] # написать ответ
 
1. Да. Эту проблему я заметил именно на испорченной базе.
 
Да и в той базе, что я прислал по почте такое можно наблюдать.
Попробуйте, например, поставить ненулевое время у какой-нибудь из операций, у которых 0:00 - у меня устанавливаются только часы (10:50 -> 10:00). Not so
А у тех операций, у которых установлено время, отличное от нуля, если изменить только минуты или только часы - ничего не происходит (они не меняются в базе), а если и минуты и часы - вылетает ошибка, часы обновляются, а минуты остаются без изменений.
 
2. Что касается последовательности действий, как такую базу "сделать" Well, то прямо сейчас я ее не смогу указать.
Единственное, что могу подтвердить, это то, что делал я только переключение учета времени, сохранение базы в разных режимах (с учетом/без), добавление операций в разных режимах.
 
А началось все с того, что вчера я включил в базе учет времени (до того он был выключен), поменял время некоторых операций (чтобы их правильно упорядочить) и снова выключил учет времени. Возможно, еще где-то на промежуточном этапе сохранял базу.
 
P.S. А еще в результате всех этих "приключений" мне пришла в голову мысль, что было бы неплохо добавить на диалог с ошибкой кнопку "Игнорировать все такие ошибки" Well чтобы при загрузке такой базы кликать на 20-30 раз, а один.
 
Dervish: По пунктам:
 
1. Спасибо, буду разбираться.
 
2. Очень жаль: я не могу понять, как "сломать" базу. А ошибка кроется именно там. Вот ведь беда.
 
3. Если я сделаю кнопку "Игнорировать ошибки", то от этого может пропасть желание избавиться от ошибок в базе (гипотетически). А такие ошибки грозят тем, что они могут накапливаться. И в один прекрасный день это может закончиться очень плачевно. Не буду утверждать, но вполне возможно, что ошибки со временем, которые вы описываете, происходят как раз от того, что база запорчена.
свернуть/развернуть ветвь Я немного не о том [Дим(м) 12/03/2004 00:02] # написать ответ
 
3. Идея в том, чтобы не показывать диалог с одной и той же ошибкой снова и снова. Если я выбираю "Игнорировать такие ошибки", то это значит только, что больше диалог с точно такой же ошибкой не появится (будут диалоги только с другими ошибками).
 
И не надо это нигде сохранять. Т.е. при следующем старте ошибка появится снова.
Фактически, все, что это дает - это возможность видеть кажую ошибку не более одного раза в ходе работы программы. Все же лучше, чем механически кликать на Ok десятки раз при загрузке базы. Well
 
А с базой я еще повожусь. Если найду способ "сломать" здоровую базу, обязательно напишу.
свернуть/развернуть ветвь Минуты не меняются [Дим(м) 19/03/2004 20:02] # написать ответ
 
Интересную особенность заметил, пока возился с базами.
Если открыть операцию на редактирование, кликнуть по полю с минутами, ввести значение и тут же (не переходя в другие поля) нажать Enter, то диалог закроется, а таблице будет старое значение минут. С часами такой проблемы нет.
 
Если еще какие-то подробности нужны - дайте знать.
 
Dervish: Нет, мне кажется, я понял, почему это происходит, так что никакой дополнительной информации не нужно, спасибо.
 
Я тоже столкнулся с проблемой порядка операций в течении , но последнее время я ее решаю таким образом:
У меня всегда показывается текущая неделя с группировкой по дате. Работа со временем в операциях отключена.
Чтобы переместить операции в конец дня, я выделяю операции и устанавливаю им дату на день вперед, а потом меняю на правильное. Если в начало дня переместить, то на день назад и опять корректное
 
но выглядит как-то не очень хорошо. Наверное, действительно, надо сделать в программе обработку Ctrl+Up / Ctrl+Down.
 
Возможно этот вопрос уже решен. Но все-таки, столкнулся с ситуацией когда денег около "0", и при вводе операций получается следующее. Сначала стоят операции расхода, т. к. вводил их раньше, затем операция прихода. Баланс уходит в минус, что немного напрягает, тем более, что потом приход перекрывает все расходы.
Тем более, что взятые в долг у кого-либа деньги, у меня отражаются приходом.
Предлагаю сортровать операции в течение дня, сначала приход, затем расход.
свернуть/развернуть ветвь Вы правы, там... [Dervish 06/10/2004 02:31] # написать ответ
 
есть недоработка. Мне самому приходится с этим сталкиваться и я планировал это исправить.
 
Насчёт предложения "сначала приход, потом расход", над этим надо подумать.
 
Спасибо.
свернуть/развернуть ветвь Опаньки! [Андрей 06/10/2004 12:26] # написать ответ
 
Я в самом начале использования программы заметил это неудобство и просто выставляю время операции. Думаю нам всем нет разницы купил я батон в 13:45 или 10:45 и получил деньги в 17:30 или в 12:30. И не надо ничего выдумавать с сортировкой ибо, если хотите красоты, то нельзя потратить больше чем есть в наличии, что-то придется отдолжить... Ну так и делайте операцию перевода (если это так критично). В противном случае поставте время прихода раньше времени расхода. А вот без поиска я мучаюсь... ;(
 
я указывал время для каждой операции, то сейчас, во второй версии я отключил работу со временем. Я понял, что лично мне оно не нужно, только добавляет хлопот.
 
И тут же возник аналогичный вопрос, а что же делать с возможными отрицательными остатками. Кстати, этот вопрос тесно связан с сортировкой операций в списке. Если несколько операций попадают на один день, и у списка установлена сортировка по дате, эти операции запросто могут перепутаться и в итоге мы получим совершенно удивительные остатки. Было уже, наблюдал.
 
Добавить в сортировку сумму (чтобы вначале все приходы, а потом расходы), было бы замечательным решением, если бы не случай, когда окажется две операции в один день на одну и ту же сумму. В этом случае опять может возникнуть вторая проблема, внешне будет казаться, что у них будут перепутаны остатки.
 
Тем не менее с этим что-то надо делать и желательно не затягивать.
 
Какие будут предложения?
свернуть/развернуть ветвь А если так? [Дим(м) 06/10/2004 13:36] # написать ответ
 
Насколько я понял из предыдущего обсуждения, время в операции все равно хранится. И, насколько я понимаю, если учет времени выключен, то это время ввода операции? Именно по нему сортируются операции в пределах одного дня.
 
Соответственно, при переупорядочивании (Ctrl-Up, Ctrl-Down ?) нужно просто менять это время (которое все равно никто не видит Well, что и обеспечит правильную сортировку в дальнейшем. Просто устанавливать передвинутой операции время "ввода" на одну миллисекунду больше, чем время операции, ставшей "предыдущей".
 
Когда же учет времени включен, функцию "ручного" переупорядочивания можно сделать недоступной - чтобы не возникало различных недоразумений при попытке поставить операцию в "12:30" выше операции в "18:00".
 
я его не отрицаю. Единственное что смущает, это неочевидность кнопок. Хотя, их можно вынести в меню...
 
Может быть ещё будут предложения?
свернуть/развернуть ветвь Насчет кнопок [Дим(м) 06/10/2004 20:32] # написать ответ
 
Насчет кнопок я и сам не уверен на все 100%. Well
Просто какого-то общего стандарта мне не попадалось, и в разных программах эта функця реализована по-разному: Ctrl-Up,Down (WinOrganizer), Ctrl-Shift-Up,Down (TheBat!), Alt-Up,Down (Download Master), Ctrl-Alt-Up,Down и т.д.
 
Просто вариант с Ctrl лично мне показался самым простым и самым интуитивным из остальных. Well
 
между прочими вариантами, то вариант Ctrl+Up/Ctrl+Down и мне нравится больше.
свернуть/развернуть ветвь Предложение такое: [AleS 06/10/2004 16:58] # написать ответ
 
показывать операции в порядке их ввода. Иначе придется (а придется обязательно) при сортировке пересчитывать остаток для каждой операции, что идеологически неверно. Пытаться автоматически расставить операции в каком-то порядке особого смысла, на мой взгляд, не имеет. Если мне важен порядок операций - я за ним слежу сам, если не важен - значит хватит входящего/исходящего за день остатка. Дополнительно имеет смысл дать возможность пользователю менять порядок ввода операций уже после их ввода (как в варианте с фиксацией времени - манипулируя временем операций можно расставить их в той последовательности, которая тебе нужна), но это может оказаться непростой задачей.
 
так решил сделать. Операции в порядке ввода. Потом подумал, что будет негоже, если не дать возможность переставить операции. И сделал так, что при любом изменении операции, она "всплывает" вверх. А теперь вижу, что это тоже не есть хорошо. Не нравится мне.
 
А дать возможность изменения... Тогда напрашивается либо Ctrl+Up/Ctrl+Down или вообще drag-n-drop. Но с перетаскиванием мне уж точно не хотелось бы связываться, слишком муторная реализация.
 
Пока есть немного времени, продолжаем думать. Well
 
Будут ещё варианты?
свернуть/развернуть ветвь Порядок [Андрей 06/10/2004 18:15] # написать ответ
 
offtopic on "Лично для меня данная проблема кажется надуманной." offtopic off
 
Теперь по делу. в 1С для каждой операции (в течении дня) есть приоритет от 0 (высокий) до 9 (низкий). По умолчанию у всех операций он равен 5. Если надо поднять операцию в верх ставим приоритет 0 и она автоматом идет вверх списка операций за день. И наоборот. Таким образом, абсолютно реально расположить 10 опереций в день так как хочеться. В принципе большего и не надо. Можно конечно, сделать от 0 до 255, но вопрос надо ли.
И всетаки, я не могу понять почему нельзя указывать вручную операциям прихода более раннее время, а расходам -- более позднее? На мой взгляд отказываться от времени операций - это ухудшать универсальность.
 
что это дело вкуса. Если вам нравится вводить операции вместе с временем, так и делайте на здоровье, никто ведь не запрещает! Well
 
Я просто понял, что лично мне это не нужно. Не нужно и мешает, немного усложняет ввод операций. Поэтому и решил лично для себя отказаться от этого. А теперь только осталось решить, а как будет удобнее работать без ввода времени в операции.
свернуть/развернуть ветвь ну, брат, и придумал [kilo 06/10/2004 21:41] # написать ответ
 
слишком все сложно и надумано. а если после ввода десятка операций необходимо будет ввести одну между двумя конретными?
просто при вводе часы тикают и автоматически программа упорядочивает операции по времени ввода, предлагая текущее время. положи перед собой пачку чеков, упорядочь, как хочешь, и вводи, не обращая внимание на время. ну. придума пробблему
свернуть/развернуть ветвь Наверное... [Dervish 07/10/2004 01:07] # написать ответ
 
Но ведь пока не попробуешь, бывает очень сложно понять, что именно будет лучше всего, верно?
 
Намудрил? Может быть. Могу исправить? Однозначно да. Well
свернуть/развернуть ветвь Предложение следующее. [Сергей 07/10/2004 10:40] # написать ответ
 
Время расхода я не ставлю в операциях, т. к. сколько потратил я помню, но во сколько, в 12. 00 или 13. 00 мне это не важно, а редактировать время операции руками для сортировки мне кажется неправильным.
Лично для меня достаточно двух возможностей.
Первое - перемещение операций по Ctrl+Up/Ctrl+Down (возможно даже перемещение на следующий(предыдущий) день, только с предупреждением).
Второе внесение в контекстное меню пункта "Добавить перед выделенной операцией", чтобы потом не перетаскивать операцию в течение дня.
 
Но мне кажется, что будет вполне достаточно только Ctrl+Up/Ctrl+Down. Как вы считаете?
свернуть/развернуть ветвь Предложенне прежнее. [Сергей 08/10/2004 07:15] # написать ответ
 
Минимально Ctrl+Up/Ctrl+Down достаточно. Но если говорить об удобстве программы, то возможность добавить операцию в нужном месте является необходмой (операций за день может быть все-таки достаточно много), тем более, что дата операции уже будет установлена.
Если эта возможность быстро не реализуема, предлагаю ее включить в план, соответственно если реализация возможности очень трудоемка, не настаиваю.
 
Я за то чтоб стандартная функция "добавить" выводила новый документ с датой докумета, на котором стоит курсор (по умолчанию)
 
как следующию запись после той, на которой стоит курсор
 
что такое "другой принцип сортировки"? Дату выбирать из следующей записи? Следующей сверху или снизу?
 
Извините, просто не понял.
свернуть/развернуть ветвь Уточняю [Дмитрий 14/10/2004 18:07] # написать ответ
 
Дата таже, но так как внутри даты сортируется по времени на минуту больше, хотя тут может возникнуть конфлик 5 записей через одну минуту отсортировать по Ctrl+Up / Ctrl+Down не получится
 
команды Ctrl+Up и Ctrl+Down будут доступны только тогда, когда есть возможность передвинуть операцию не изменяя видимое представление даты/времени. То есть:
 
1. Если база данных настроена так, что время не показывается, то Ctrl+Up и Ctrl+Down будут перемещать операцию вверх и вниз но только среди операций с той же самой датой.
 
2. Если же база данных настроена так, что время показывается, то Ctrl+Up и Ctrl+Down будут передвигать операции только внутри группы операций с одинаковой датой и одинаковым временем.
 
То есть, при нажатии Ctrl+Up и Ctrl+Down будет происходить только перемещение операции, если оно возможно. Ни дата ни время изменяться не будут.
 
Это нормально? Есть возражения?
свернуть/развернуть ветвь Возражение [Сергей 17/10/2004 11:52] # написать ответ
 
Предлагаю, все-таки, сделать перемещение по Ctrl+Up и Ctrl+Down, когда база данных настроена так, что время не показывается с возможностью перемещения между датами, с предупреждением какой-либо всплывающей подсказкой "Вы собираетесь переместить операцию ... на такое-то число. Да? Нет?".
 
... только даты (когда время не вводится в операции), да, согласен. А вот если операции вводятся с временем, то, мне кажется, случаи "попадания" двух операций в одну и ту же дату/время будут достаточно редки. А значит, практически всегда при нажатии Ctrl+Up/Down программа будет выводить сообщение. Может быть лучше просто заблокировать кнопки Ctrl+Up/Down в базе, для которой указывается и дата и время для операций?
свернуть/развернуть ветвь Полностью поддерживаю. [Сергей 18/10/2004 07:25] # написать ответ
 
Ctrl+Up/Down необходим только в случае изменения даты (когда время не вводится в операции). При ведении времени в операциях у пользователя больше возможностей для работы с операциями.
Спасибо за внимательное отношение к просьбам пользователей. И отдельное Спасибо за программу.
свернуть/развернуть ветвь На мой вгляд все отлично [Владимир 18/10/2004 01:00] # написать ответ
 
Менять дату/время по ctrl+up/down опасно.
свернуть/развернуть ветвь Вот и я... [Dervish 18/10/2004 02:13] # написать ответ
 
...сомневаюсь.
свернуть/развернуть ветвь Поддерживаю [Дим(м) 18/10/2004 11:35] # написать ответ
 
Я тоже счтитаю, что менять дату по Ctrl-Up/Down не стоит.
Если надо поменять дату - открой операцию и отредактируй, как надо.
Аналогично, когда включен учет времени - Ctrl-Up/Down ничего не должны менять. (иначе зачем тогда учитывать время, если Ctrl-Up/Down будут его менять, как им вздумается)
свернуть/развернуть ветвь Поддерживаю!!! [Taras 11/10/2004 23:53] # написать ответ
 
И это правильно...
 
то только через настройки.