AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.05.2013, 00:58   #1  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Округление до 5 позиций в ед.изм
На осн ед. изм товара можно указать количество цифр после запятой.

Мы собираемся во всю использовать этот функционал (нужно округлять до 5 знаков)
На сколько он надежно работает?
На первый взгляд пока проблем не замечено, но Оч боюсь, что где-нибудь потом обнаружится баг, что в где-нибудь в стандартных пересчетах результаты случайно до 2 позиций округляются, и тогда округление до 5 в других местах потеряет смысл.

AX2009
Старый 17.05.2013, 01:44   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
с количеством сложностей вроде нет
сложности начинаются, если ваши дробные единицы имеют стоимость/цену меньше копейки. в финансах начинаются "необъяснимые" для бухгалтерии явления. прежде вего в СФ и накладной.
Старый 17.05.2013, 10:58   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от IKA Посмотреть сообщение
На осн ед. изм товара можно указать количество цифр после запятой. Мы собираемся во всю использовать этот функционал (нужно округлять до 5 знаков)
По-моему, если возникает необходимость регулярно оперировать количествами товара с 5-ю знаками после запятой, то это говорит о не очень удачно выбранной единице измерения. Т.е. с точки зрения бизнеса все может быть абсолютно правильно и логично, мол, мы всю жизнь отгружали тоннами с точностью до 50 грамм, но с точки зрения реализации в Аксапте это грозит лишними проблемами и постоянными допиливаниями тут и там.
Цитата:
Сообщение от IKA Посмотреть сообщение
Оч боюсь, что где-нибудь потом обнаружится баг, что в где-нибудь в стандартных пересчетах результаты случайно до 2 позиций округляются, и тогда округление до 5 в других местах потеряет смысл.
Да запросто - либо отчет будет выводить с меньшей точностью, либо форма будет давать вводить данные только с двумя знаками и нахально округлять более точные данные при вводе, либо сообщения в инфологе будут выводиться без учета этой настройки... Все эти благие намерения с повышением точности "кое-где" разбиваются о банальный факт: чтобы это работало, надо, чтобы везде в приложении каким-то боком протягивались эти настройки - либо через использование нужного EDT, либо через явное чтение настроек и их применение по месту, а такой фигней даже в стандартном приложении заморачивается считанное количество форм/отчетов, про кастомизации я даже молчу. Просто посмотрите по перекрестным ссылкам, сколько мест в приложении смотрит на соотв. настройку, и все станет ясно.
За это сообщение автора поблагодарили: Daiver (1), ikopyl (2).
Старый 17.05.2013, 11:50   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Присоединюсь, проблем будет много. Причем "в одном месте" это так просто не поправишь.
__________________
Ivanhoe as is..
Старый 17.05.2013, 12:34   #5  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Бизнес построен таким образом. что большинство товара состоит из упаковок, которые состоят из коробок поменьше. Поэтому по каждой номенклатуре указывается сколько коробок у упаковке.
Например, если упаковка Товара1 состоит из 6 коробок и продали 1 упаковку и 2 коробки, то пользователь должен вводить 1.2 , а не 1.33.
Сейчас это так и реализовано . что когда пользовватель вводит 1.2, то это кол-во пересчитывается в кол-во упаковок и получается 1.33(3), кот попадает в стд поле аксапты Qty(например, на в строках заказа).
Ест-но возникают тут же проблемы с округлением, кот решено нивелировать количеством знаков после запятой. В текущей системе(кот до аксы была) использовалось округление до 5 и "работало хорошо".
Меня последствия беспокоят.
Не думаю, что требование такое уж редкое, поэтому, если есть проверенные практикой варианты реализации, расскажите.
Старый 17.05.2013, 12:53   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от IKA Посмотреть сообщение
Например, если упаковка Товара1 состоит из 6 коробок и продали 1 упаковку и 2 коробки, то пользователь должен вводить 1.2 , а не 1.33.
У вас не десятичная система счисления?

По сути проблемы: А нельзя в качестве складской еденицы измерения выбрать коробки, а не упаковки?

Последний раз редактировалось S.Kuskov; 17.05.2013 в 13:11.
За это сообщение автора поблагодарили: lev (3).
Старый 17.05.2013, 16:17   #7  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение

По сути проблемы: А нельзя в качестве складской еденицы измерения выбрать коробки, а не упаковки?
Нет, тк если продали 15 упаковок и 2 коробки, то всем понятно, что продали. А 92 (=15*6+2) коробки - не имеет смысла ни для работников склада ни для клиентов компании.

Причем, 6 - это только один из примеров. Тут в ходу также упаковки по 12 коробок внутри , по 60, по 15 и тд. Теперь продать если: 15 упаковок(по 12) и 7 коробок превратятся превратятся в 187.

Последний раз редактировалось IKA; 17.05.2013 в 16:24.
Старый 17.05.2013, 16:22   #8  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от IKA Посмотреть сообщение
Нет, тк если продали 15 упаковок и 2 коробки, то всем понятно, что продали. А 92 (=15*6+2) коробки - не имеет смысла ни для работников склада ни для клиентов компании.
Так продавать (впрочем как и покупать) можно не обязательно в складских еденицах измерения. Заводите в заказы строки в "удобных для человека" еденицах измерения, а складские проводки будут создаваться в еденицах измерения "удобных для системы".

Если продали 15 упаковок и 2 коробки, заведите две строки. Не подходит?

Последний раз редактировалось S.Kuskov; 17.05.2013 в 16:25.
За это сообщение автора поблагодарили: ikopyl (4).
Старый 20.05.2013, 10:00   #9  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от IKA Посмотреть сообщение
Например, если упаковка Товара1 состоит из 6 коробок и продали 1 упаковку и 2 коробки, то пользователь должен вводить 1.2 , а не 1.33.
А если упаковка состоит из 30 коробок и продали 1 упаковку и 20 коробок, то пользователь должен вводить 1.20.
При этом система упорно не различает 1.2 и 1.20.
Нехорошая, негодная система.

Хотя, если подумать и вводить число в строковое поле, а потом разбирать, то можно отличить 1.2 и 1.20. Шутка удалась лишь наполовину (

Последний раз редактировалось Кирилл; 20.05.2013 в 10:07.
Старый 20.05.2013, 11:40   #10  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от IKA Посмотреть сообщение
Сейчас это так и реализовано . что когда пользовватель вводит 1.2, то это кол-во пересчитывается в кол-во упаковок и получается 1.33(3), кот попадает в стд поле аксапты Qty(например, на в строках заказа).
А в InventSum у вас что хранится? 1.33? Или всё же есть отдельные поля для упаковок и коробок?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.05.2013, 18:02   #11  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
На данный момент 1.33(3).
Точней, 1.33333, тк на Unit большинства номенклатур установлено округление до 5 знаков + поле(display method), кот переводит это в Упаковки/Коробки .
Метод основан на том, что при определенной точности округления , зная возможный максимум коробок в упаковке(например, товаров с больше 100 коробок в упаковке не бывает), можно из получаемого real установить точное целое количество упаковок и коробок.
т.е по сути: если наше число x, то это результат округления до 5 любого числа в диапазоне от x-0.000005 до x+ 0.000005.(отбросим целую часть, тк с ней все ясно, это целое кол-во упаковок) Соответственно, нужно, чтобы неравенству: x-0.000005 <= y/(количество корВУпак) < x+ 0.000005 не могло удовлетворять два целых y. То есть 1<(0.00001)*(количество корВУпак). Отсюда уже выводим сколько нужно знаков после запятой(в примере выше было 5) при заданном количестве корВУпак.

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

Мне кажется. что добавлять везде в системе дополнительно 2 поля чревато. То есть просто для сохранения историч данных это хорошо, но полагаться на их значения невозможно, тк можно легко упустить инициализацию поля в ком-нить стд куске кода, что скажется потом и на InventSum в том числе..
Старый 21.05.2013, 18:47   #12  
ALES is offline
ALES
Участник
Злыдни
 
220 / 45 (2) +++
Регистрация: 11.08.2004
Цитата:
Сообщение от IKA Посмотреть сообщение
(отбросим целую часть, тк с ней все ясно, это целое кол-во упаковок)
Отсюда следует ,что единица учета коробка т.к. если продать из двух упаковок (60 коробок) по 30 коробок из каждой, физически будет ноль целых упаковок и 60 коробок, а не одна целая упаковка =).
Старый 17.05.2013, 13:59   #13  
mnt_dx is offline
mnt_dx
Участник
Axapta Retail User
Лучший по профессии 2014
 
1,744 / 188 (10) ++++++
Регистрация: 17.02.2011
Адрес: К Северу через Северо-Запад
IKA, а разве можно в накладной писать 1.2 - это не соответствует единице измерения "Коробка", это будет "1 коробка 2 штуки". Например, на услуги пишут 1.5 часа, а не 1.30.

Последний раз редактировалось mnt_dx; 17.05.2013 в 14:05.
Старый 17.05.2013, 16:14   #14  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Именно так тут в накладной и пишут. Есть две колонки : упаковки и коробки.
В данном случае будет: продано: 1 упаковка и 2 коробки, а не 1.33333(3) упаковки
Старый 18.05.2013, 14:25   #15  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,158 / 1286 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Мне кажется, что тут не стоит смешивать единицы измерения продажи и складской учет.
  • В первую очередь, стоит узнать, в каких единицах измерения представлен прайс?
  • Отличается ли прайс для коробок и для упаковок?
  • В каких единицах заказывают покупателя?
  • Заказывают ли они Х коробок и У упаковок?
Исходя из этого уже и нужно думать о дальнейших действиях.
Например, в поставках фармацевтики есть как первичные упаковки, так и заводские упаковки, так и цеховые упаковки. Но покупателям всегда выставляются документы в первичных упаковках. От поставщиков всегда приходят заводские упаковки. А вот для подбора на складе используются все эти сущности для оптимизации подбора в зависимости о количества заказов клиента.
Старый 18.05.2013, 20:44   #16  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,284 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
ИМХО, проще в какой-нибудь форме типа "Создание строк заказа" сделать две колонки - "Коробки" и "Упаковки", а далее пусть система сама создаст ДВЕ строки: первая - на коробки, вторая - на упаковки.
__________________
Михаил Андреев
https://www.amand.ru
За это сообщение автора поблагодарили: IKA (1), mnt_dx (2).
Старый 21.05.2013, 18:27   #17  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Ок. Тогда представьте следующую ситуацию.

Допустим, в упаковке у вас 10 коробок. Предположим, что было два прихода: первый из 1 упаковки и 3 коробок, а второй из 1 упаковки и 8 коробок. Тогда в InventSum у вас будет храниться 3.1, то есть 3 упаковки и 1 коробка, что, очевидно, не соответствует реальному количеству на складе, которое равно 2 упаковкам и 11 коробкам.

Кстати, заметьте относительно вашего примера про футы и дюймы, что в системах длина обычно хранится именно как 42 дюйма и лишь для отображения переводится в 3'7".
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: S.Kuskov (1).
Старый 21.05.2013, 18:40   #18  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Количество коробок в упаковке не меняется у товара.
Если товар по-другому расфасован, то считается другим товаром.
Старый 22.05.2013, 09:23   #19  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от IKA Посмотреть сообщение
Количество коробок в упаковке не меняется у товара.
Если товар по-другому расфасован, то считается другим товаром.
Maxim Gorbunov написал о другом. Он акцентировад ваше внимание и внимание участников дискуссии на то, что в вашем учёте 1 упаковка из 10 коробок никак не отличается от 10 коробок россыпью. Т.е. анализируя свои складские остатки, вы не можете сказать сколько у вас целых упаковок, а сколько начатых, вы можете только сосчитать общее количество коробок и прикинуть сколько это будет в упаковках.

И не факт, что это не правильно. Возможно у вас никогда не вскрывают следующую коробку до того пока не израсходуется предыдущая. И тогда не имеет смысла "Наличие товара" в в разрезе единиц измерения
За это сообщение автора поблагодарили: IKA (1).
Старый 22.05.2013, 12:14   #20  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от IKA Посмотреть сообщение
Количество коробок в упаковке не меняется у товара.
Если товар по-другому расфасован, то считается другим товаром.
Вы, наверное, ещё собираетесь написать, что закупаете товар только упаковками, а не отдельными коробками. Но задумайтесь о том, что приход - это не только закупка. Приходом также является и возврат из заказа, и излишки при инвентаризации.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Теги
как правильно, пересчет единиц измерения

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX 2012 Пересчет ед. изм. в query \ view Aleks_K DAX: Программирование 3 05.01.2013 11:29
Единицы измерения и настройка пересчета ед.изм. kashperuk DAX: Функционал 22 26.06.2009 16:09
Как сделать ед.изм . "конвертируемой"? Амангельды DAX: Функционал 14 19.01.2005 16:05
Округление в спецификациях chel DAX: Функционал 2 17.08.2004 11:14
Округление цен (цена/ед) в заказах Роман Кошелев DAX: Функционал 8 30.07.2002 16:58

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:00.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.