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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.05.2013, 11:50   #1  
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   #2  
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   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,431 / 1775 (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   #4  
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   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,431 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от IKA Посмотреть сообщение
Нет, тк если продали 15 упаковок и 2 коробки, то всем понятно, что продали. А 92 (=15*6+2) коробки - не имеет смысла ни для работников склада ни для клиентов компании.
Так продавать (впрочем как и покупать) можно не обязательно в складских еденицах измерения. Заводите в заказы строки в "удобных для человека" еденицах измерения, а складские проводки будут создаваться в еденицах измерения "удобных для системы".

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

Последний раз редактировалось S.Kuskov; 17.05.2013 в 16:25.
За это сообщение автора поблагодарили: ikopyl (4).
Старый 17.05.2013, 16:26   #6  
mnt_dx is offline
mnt_dx
Участник
Axapta Retail User
Лучший по профессии 2014
 
1,746 / 188 (10) ++++++
Регистрация: 17.02.2011
Адрес: К Северу через Северо-Запад
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Если продали 15 упаковок и 2 коробки, заведите две строки. Не подходит?
+1
Старый 17.05.2013, 16:51   #7  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,701 / 405 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Так продавать (впрочем как и покупать) можно не обязательно в складских еденицах измерения. Заводите в заказы строки в "удобных для человека" еденицах измерения, а складские проводки будут создаваться в еденицах измерения "удобных для системы".

Если продали 15 упаковок и 2 коробки, заведите две строки. Не подходит?
скорее всего так было в старой системе вот и перенесли 1 в 1 в Ax, потому что переубедить не смогли
Старый 17.05.2013, 17:25   #8  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Я вполне понимаю, почему не смогли переубедить.
Вы же не вводите 1.7 кг как две строки(одну на1 кг, вторую в 700гр).

Собственно, для пользователя, что в 1 кг - 1000гр то же самое , что в 1 упаковке - 12 коробок.
Или вот еще пример:
Если в 1 футе - 12 дюймов и продали кусок материи длиной в 3фута и 7 дюймов, это в аксапте тоже как 2 строки заказа вводить? Как если бы мы 2 куска материи продавали один длиной в 3 фута и один в 7 дюймов??? Абсурд. И на складе уж тем более никто не поймет, что такое 3.583 фута(=3' 7") и как их отрезать! Собственно, как и 42 дюйма(=3' 7") не имеют практич смысла.
Старый 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 коробок, а не одна целая упаковка =).
Старый 21.05.2013, 19:14   #13  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от ALES Посмотреть сообщение
Отсюда следует ,что единица учета коробка т.к. если продать из двух упаковок (60 коробок) по 30 коробок из каждой, физически будет ноль целых упаковок и 60 коробок, а не одна целая упаковка =).
Если в качестве единицы измерения выбрать наименьшую,
работа станет пресной, никакой тебе движухи с округлениями,
а так у нас есть шанс обсудить разработку блока анализа накопленных погрешностей при пересчетах.

Последний раз редактировалось Кирилл; 21.05.2013 в 19:20.
За это сообщение автора поблагодарили: lev (3), IKA (1), mnt_dx (2).
Теги
как правильно, пересчет единиц измерения

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
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, время: 18:24.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.