создать новую тему раскрыть все
 
дублирую старый перевод, открывается окно:
 
Сумма списания () 0.50 R
Сумма зачисления () 10 баллов
Курс пересчета (*) 20 баллов за 1 R
 
изменяю сумму зачисления, зачем-то меняется курс:
 
Сумма списания () 0.50 R
Сумма зачисления () 80 баллов
Курс пересчета (*) 160 баллов за 1 R
 
пробую поставить "точку" в другом месте (заново дублирую):
 
Сумма списания (*) 0.50 R
Сумма зачисления () 10 баллов
Курс пересчета () 20 баллов за 1 R
 
изменяю сумму зачисления, меняется сумма списания, вместо курса, причем вместо 4 R стоит 0.04 R:
 
Сумма списания (*) 0.04 R
Сумма зачисления () 80 баллов
Курс пересчета () 20 баллов за 1 R
 
сохраняю что получилось. окно ввода закрывается.
открываю проводку для редактирования и вижу перемены:
 
Сумма списания () 0.04 R
Сумма зачисления () 80 баллов
Курс пересчета (*) 2000 баллов за 1 R
 
непорядок какой-то((((
 
по логике поле ввода, отмеченное "точкой" меняться не должно, оно как бы заблокировано. и в расчете ошибка.
 
3.0.248 стоит.
 
А, может быть, действительно переделать логику, пусть изменяется неотмеченное поле? Что думаете?
свернуть/развернуть ветвь ошибка 3 версии [Daniil 23/08/2015 19:52] # написать ответ
 
только что проверил. запустил вторую версию.
логика та же, но 3-я версия считает неверно.
 
списание = копейка
зачисление = 20 баллов (т.е. рубль)
пересчет = 20 баллов за рубль.
 
сохранил, открыл и уже 2000 баллов за рубль.
 
------------------------
 
по логике - имхо, точку поставил, поле неактивно, значит залочено.
аналогия с залоченной проводкой - открывается только для просмотра да еще другим цветом.
свернуть/развернуть ветвь Тут есть и другая "логика" [Дим(м) 24/08/2015 09:16] # написать ответ
 
Поле неактивно - пользователь менять его не может. Значит, программа пересчитывает его сама.
 
Представьте начальное состояние диалога. Во всех полях 0.
Если при этом "залочить" любое из полей, ввести что-то осмысленное будет довольно трудоёмко.
Лочим списание, вводим зачисление, получаем курс - бесконечность. Потом придётся переставлять "точку" на сумму зачисления и вводить что-то второе.
свернуть/развернуть ветвь Обсудим. [Dervish 24/08/2015 13:44] # написать ответ
 
Поле неактивно - пользователь менять его не может. Значит, программа пересчитывает его сама.
Это именно та самая логика, которой я руководствовался, когда делал диалог таким, какой он сейчас. Однако, «меня терзают смутные сомнения» (с)... В общем, мне все еще хочется найти решение получше, именно поэтому я все время возвращаюсь к этой теме.
 
Я тут себе представил ввод операции перевода, если заблокированное поле сделать неизменяемым (невычисляемым) и понял, что  из-за этого придется делать лишние клики мышкой чтоб ввести перевод, для которого известны сумма списания и сумма зачисления. А значит, мое предложение не годится.
 
Оставляем все как есть пока. (Пока не придет в голову(-ы) лучшая идея).
 
если делать один клик, а не "тыркать туда сюда" и смотреть когда же наконец угадаешь и получишь требуемый результат.
достаточно было сбоя в расчете, что бы логика к которой я привыкал пару лет улетучилась из головы.
кто-то скажет - меняй голову, кто-то скажет значит такая "логичная логика" что .......
лишние клики мышкой чтоб ввести перевод, для которого известны сумма списания и сумма зачисления. А значит, мое предложение не годится.

может быть известно что угодно. кто и как округлит это........ кто как настроил. на одном сайте одно, на другом другое.
юзеры программы должны точно знать, что вводить, куда, что при этом залочено, что изменяется.
 
в программе должна быть какая-то "общая логика", я уже привел пример с залоченной проводкой - только просмотр, менять нельзя, цветовая гамма другая, т.е. полная аналогия, но при этом........ (на данный момент) кручу верчу как хочу, запутать хочу (здесь такая логика, а здесь мне удобнее так, а вы ковыряйтесь и не ворчите).
сорри, если чето перегнул (((
 

вопрос - а ошибку в расчетах нашли?
с яндекс диска фотки не аттачатся((((
текстом описал максимально точно к принтам.
здесь тоже надо спорить?
 
рядом с точкой что бы появлялся знак "="?
 
Представьте начальное состояние диалога. Во всех полях 0.

валюты в программу введены (названия). курсы тоже должны быть введены. уже ни каких "нулей".
минимум один (первый введенный) курс должен отразиться в окне ввода.
это надо контролировать при добавлении валюты.
валюта не может быть без курса к хоть одной другой валюте.
в нашем случае к рублю (основной), или это не валюта, а ахинея - ошибка, которую надо поправить.  
 
если курс есть (отличный от нуля), "0" быть не должно в диалоге ввода. и не должно быть того что из этого вытекает: бесконечность, переставлять точку.......
 
диалог добавленя валюты не содержит курса.........
о чем дальше вообще говорить? конечно "0" и непонятки и ошибки.
и курс к основной валюте (начальный) надо указать и возможно полезно кросс-курс пересчитать сразу при добавлении новой валюты.
сейчас это разделено. отсюда "0". уже не логично иметь в программе валюту с курсом "0". у такой валюты имени (названия) быть не может, потому что название одно = "ноль".
 
курса нет - не ввели или не рассчитали кросс-курс = в окне перевода поле курса сразу залочено (точкой). т.е. 3-го "0" как бы и нет, поле не активно. останется только 2 "нуля" (2 поля ввода), уже проще.
 
если это первый расчет/ввод курса для какой-то валюты, то может стоит его запомнить и ввести в список курсов на вкладке валюты? это лучше, чем пустота. следующий раз при вводе перевода курс уже отобразится, 3-х "0" не будет, а дальше по ситуации.
 
-----
только дошло - залоченное поле (курса) будет изменяться (заново рассчитываться), т.е. логика ввода (которую я выше предлагал) будет нарушена.
упс(((((((
 

тогда остается ввод курса одновременно с вводом названия новой валюты и расчет кросс-курсов сразу.
 
зы
сорри, за лишнюю порцию словесного поноса. ((((
 
У меня подставляется точно 4 R, я не понимаю, откуда там 0,04. Какие разрядности установлены для валют? Сможете сделать тестовую базу, в которой эта ошибка проявляется и прислать мне на почту?
 
у баллов 0
у других валют 2
получается 0.04R
-------------
если у баллов 2 знака после запятой,
то получается 4R
-------------
у баллов (речь про Малину) курс 20 баллов за рубль и после запятой ничего не надо, вот я и поставил "0" после запятой в настройке валюты "баллы Малины" (на вкладке "валюты").
вроде это не ошибка с моей стороны?
---------
если поменять 2 на 0 и наоборот (знаков после запятой у валюты "баллы Малины"), то присылать на почту ни чего не придется - "0.04" будет видно.