|  14.12.2005, 16:34 | #1 | 
| Участник | Скидка с датой. 
			
			Может уже обсуждалось... Есть скидка у которой указан интервал: март 2006 - 5% Есть скидка у которой интервал не указан - 10% Логика: в марте 2006 запланировали клиенту отпускать по 5%, все остальное время по 10%. Но у меня не подставляется скидка в 5%, если я создаю заказ мартовской датой. В чем причина? | 
|  | 
|  14.12.2005, 17:16 | #2 | 
| Moderator | 
			
			Для Аксапты относительно ваших настроек в марте действительны обе скидки, и она предлагает наиболее выгодную для клиента, о чем прямо указано в хелпе. Поиграйтесь с галочкой "Найти далее", а лучше задайте жесткие непересекающиеся интервалы дат.
		 
				__________________ Андрей. | 
|  | 
|  14.12.2005, 17:27 | #3 | 
| Участник | Цитата: 
		
			Сообщение от Dron AKA andy
			
			 Для Аксапты относительно ваших настроек в марте действительны обе скидки, и она предлагает наиболее выгодную для клиента 1. Почему должна Акса действовать с позиции выгоды клиента а не предприятия (по вашим словам)? 2. Меняя значения скидки местами происходит тоже самое; | 
|  | 
|  14.12.2005, 17:34 | #4 | 
| Moderator | 
			
			Это я не рассуждаю, а пишу о реализации как есть. Номер соответствующей главы из "Управления торговлей и логистикой" не приведу, т.к. не помню. Цитата: 
		
			Сообщение от slava09
			
			 Меняя значения скидки местами происходит тоже самое; 
				__________________ Андрей. | 
|  | 
|  14.12.2005, 17:43 | #5 | 
| Участник | 
			
			Есть скидка у которой указан интервал: март 2006 - 10% Есть скидка у которой интервал не указан - 5% Аксапта выбирает всеравно скидку 5% Вот что я имел ввиду. | 
|  | 
|  14.12.2005, 17:58 | #6 | 
| Участник | Цитата: 
		
			Сообщение от Dron AKA andy
			
			  Поиск другой сделки после нахождения первой попавшейся определяется упомянутой галочкой "Найти далее". | 
|  | 
|  14.12.2005, 18:01 | #7 | 
| Moderator | Цитата: 
		
			Сообщение от slava09
			
			 Это не просто поиск, это суммирование скидок. 
				__________________ Андрей. | 
|  | 
|  14.12.2005, 18:32 | #8 | 
| Участник | 
			
			Ну всетаки. Возвращаясь к теме. По всей видимости Аксапта игнорирует скидку с интервалом, если есть скидка без интервала. Независимо выгодна ли она клиенту или нет. Но, если следовать такому логическому рассуждению, что скидка с интервалом должна уточнять условия в определенный интервал времени, то выходит что Аксапта работает не правильно. А если не следовать, то работает не понятно как  Точнее, не так как я ожидал (я только про себя говорю). Последний раз редактировалось slava09; 14.12.2005 в 18:49. | 
|  | 
|  14.12.2005, 19:06 | #9 | 
| Участник | 
			
			Обратите внимание - класс PriceDisc, метод findDisc() X++: while select priceDiscTable index [u]PriceDiscIdx[/u] // equals order by QuantityAmount where ... Либо разбивайте бессрочную скидку на две - одна действует до начала (например, 28.02.2005), а другая - после начала (например, 02.03.2006) дополнительной скидки. Либо настройте дополнительную скидку таким образом, чтобы значение одного из полей, входящих в индекс, было меньше чем для бессрочной (если это возможно) 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  | 
|  14.12.2005, 19:07 | #10 | 
| Участник | 
			
			Сталкивался с такой ФИЧЕЙ на проекте. Спасло только создание 3-х строк с конкретными датами действия скидки. В код не лезли по определенным причинам.    
				__________________ ИМХО. С уважением, Владимир Ю. | 
|  | 
|  14.12.2005, 19:15 | #11 | 
| Модератор | Цитата: 
		
			Сообщение от slava09
			
			 Но, если следовать такому логическому рассуждению, что скидка с интервалом должна уточнять условия в определенный интервал времени, то выходит что Аксапта работает не правильно У Вас текущая дата попадает в ДВА интервала - какой из них "правильнее" ? Где в документации можно почитать про принцип "уточнения" одного интервала другим ?  А закладываться на Код: index PriceDiscIdx // equals order by QuantityAmount Код: order by QuantityAmount   
				__________________ -ТСЯ или -ТЬСЯ ? | 
|  | 
|  14.12.2005, 19:23 | #12 | 
| Участник | 
			
			Так согласно findDisc, или согласно того что выгоднее клиенту? Мне тут сказали, что в документации так и написано. Конечно, для вас это очевидно, что пустая дата, это "01.01.1900", но для пользователя, это выглядит несколько иначе. В документации про "принцип уточнения" ничего не сказано, я же сказал - по моему личному мнению. Не надо меня тыкать носом в документацию. Кстати, в конечной дате стоит тоже пустое значение, а следовательно "01.01.1900", так что у меня только одна текущая дата получается! | 
|  | 
|  14.12.2005, 19:44 | #13 | 
| Участник | 
			
			2 vadik Цитата: 
		
			А закладываться на PriceDiscIdx по-моему как-то нездОрово - ибо, судя по комментариям, какой-либо сортировки по ДАТЕ здесь не планировалось
		
	 Добавление order by QuantityAmount принципиально ситуацию не изменит (это поле и так входит в индекс). 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  | 
|  14.12.2005, 19:53 | #14 | 
| Модератор | Цитата: 
		
			Сообщение от slava09
			
			 или согласно того что выгоднее клиенту? Мне тут сказали, что в документации так и написано Цитата: 
		
			Не надо меня тыкать носом в документацию.
		
	   Цитата: 
		
			Кстати, в конечной дате стоит тоже пустое значение, а следовательно "01.01.1900", так что у меня только одна текущая дата получается!
		
	 
				__________________ -ТСЯ или -ТЬСЯ ? | 
|  | 
|  14.12.2005, 20:02 | #15 | 
| Модератор | Цитата: 
		
			Сообщение от AndyD
			
			 2 vadik Добавление order by QuantityAmount принципиально ситуацию не изменит (это поле и так входит в индекс). - какая-нибудь неугомонная личность отключит индексные хинты на уровне конфигурации - она же закомментирует index hint или укажет в нем другой индекс - она же изменит индекс, поменяв поля местами на "а ты не лезь туда грязными руками" отвечу только, что не всем повезло работать с клиентами, пересчитывающими прайс в нескольких валютах каждый день и желающих хранить историю по прайсу "хотя бы" пару месяцев   а ORDER BY - он и в африке ORDER BY   
				__________________ -ТСЯ или -ТЬСЯ ? | 
|  | 
|  14.12.2005, 20:03 | #16 | 
| Moderator | Цитата: 
		
			Сообщение от slava09
			
			 Так согласно findDisc, или согласно того что выгоднее клиенту? Мне тут сказали, что в документации так и написано.  А механизм поиска по дате работает одинаково что для цен, что для скидок. 
				__________________ Андрей. | 
|  | 
|  14.12.2005, 20:06 | #17 | 
| Участник | Цитата: 
		
			Сообщение от Vadik
			
			 Извините, больше не буду. Это же шутка была     Насчет заботы о клиентах, это слова товарища Dron AKA andy. Он имел ввиду цены. По поводу интервалов: конечно можно представить самый простой случай когда текущая дата попадает в несколько интервалов заданных в прайсах (даже без пустых дат). И можно сказать, что Аксапта не имеет никакого предпочтения в их выборе. Согласен, что ситуация когда нужно разбивать на несколько интервалов, чтобы добиться желаемого эффекта вполне нормальна, но достаточно хлопотна. | 
|  | 
|  14.12.2005, 21:44 | #18 | 
| Участник | 
			
			2 vadik Во-первых, против лома нет приема. Во-вторых, QuantityAmount являетеся далеко не первым полем в индексе. Если строить сортировку только по нему, то предсказать, какая из скидок сработает будет весьма затруднительно - для этого придется проверять какая из записей создавалась ранее. По-моему, порядок сортировки должен быть такой ORDER BY itemCode, accountCode, QuantityAmount, FromDate В-третьих. Если есть желание и возможность изменять чтобы-то ни было - это ваше право. Но какое это имеет отношение к работе стандартного приложения? Или вы не согласны, что стандартная Axapta выбирает скидки именно так? 2 slava09 Цитата: 
		
			Конечно, для вас это очевидно, что пустая дата, это "01.01.1900", но для пользователя, это выглядит несколько иначе.
		
	 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  | 
|  14.12.2005, 22:19 | #19 | 
| Модератор | Цитата: 
		
			Сообщение от AndyD
			
			 Во-первых, против лома нет приема  Цитата: 
		
			Во-вторых, QuantityAmount являетеся далеко не первым полем в индексе. Если строить сортировку только по нему, то предсказать, какая из скидок сработает будет весьма затруднительно - для этого придется проверять какая из записей создавалась ранее. По-моему, порядок сортировки должен быть такой  ORDER BY itemCode, accountCode, QuantityAmount, FromDate P.S. А вообще - наличие скидок на несколько пересекающихся периодов при включенном "найти далее" (а поле по умолчанию включается при ручном вводе) позволяет обеспечить клиентам хорошую "халяву" Причем сугубо штатными средствами   
				__________________ -ТСЯ или -ТЬСЯ ? | 
|  | 
|  14.12.2005, 22:34 | #20 | 
| Участник | 
			
			Вдогонку. index idx и index hint idx - это разные вещи и первое не отключишь конфигурационной утилитой. Цитата: 
		
			Все верно. Маленькое уточнение - сортировки по QuantityAmount достаточно, потому что все остальные поля уже "зажаты" в WHERE
		
	 PS Точнее запутался  А FromDate? 
				__________________ Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 14.12.2005 в 22:42. | 
|  |