To: RUDEN Мы с Вами говорим об одном и том же, вот только эмоциональная окраска немного отличается - у меня больше оптимистическая, а у Вас больше с пессимистическим уклоном. Прочитайте еще раз повнимательнее, то что я писал ранее, так как скорее всего либо не читали вообще либо не поняли - это тоже самое, что и Вы предлагаете, но другими словами
aivt писал(а):То что я предлагаю сделать с округлением объемов как раз простое решение и при этом оно оставляет не ограниченную свободу действия. Всего-то нужно завести у каждой единицы измерения дополнительное свойство "точность округления объемов". Храниться оно будет в виде числа, например 0, 2, 3 (знака после запятой) в базе данных в справочнике единиц измерения. Отображаться будет в справочнике единиц измерения. Возможность изменять это значение (в справочнике единиц измерения) позволит как раз реализовать, то о чем вы писали "чтобы тонны были с тремя знаками, м2 , с двумя, м3 с тремя". Реализация самого округления может выполняться элементарно просто - событие "изменение объема" приводит к тому, что срабатывает функция, которая получает не округленный объем из ячейки объем и точность округления из справочника единиц измерения, а затем возвращает в ячейку объем округленный с требуемой точностью. Излишний функционал, например, в виде формул округления просто не нужен, так как потребует больших трудозатрат как на реализацию, так и на использование.
При копировании сметной строки в смету начальное значение точности округления должно устанавливаться путем копирования из справочника единиц измерения. После этого со сметной строкой можно делать, что угодно - как увеличивать, так и уменьшать количество знаков после запятой. Кстати в Excel есть замечательные кнопочки, которыми уменьшается или увеличивается количество отображаемых знаков после запятой, вот только эта функция в Excel ни как не связана с округлением. В нашем же случае можно реализовать такие же кнопочки в Smeta.ru, которые не только будут уменьшать или увеличивать количество отображаемых знаков после запятой, но и будут одновременно задавать точность округления объемов. Все это, повторюсь, может работать в каждой строке независимо, для того чтобы в описанной Вами ситуации каждый мог менять точность округления по своему усмотрению. При этом начальное значение в любом случае должно как то устанавливаться "по умолчанию", а сделать это можно как я описывал ранее - через справочник единиц измерения.
При этом не согласен, что "верных" решений может быть несколько. По аналогии русло у реки одно, а на дне могут быть и впадины и отмели. Я Вам объясняю, что русло одно. Вы мне объясняете, что отмелей и ям полно в этом русле. Масштабы не совпадают - Вы слишком всматриваетесь в детали рельефа дна, но при этом не видите русло реки в целом. Я не против, что деталей рельефа может быть множество, но это не проблема, когда видишь все русло. В деталях программисты сами разберутся, когда русло задано верно.