| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Комплектация. Перепоставка
			 
			
			AX 2012 R3 
		
		
		
		
		
		
		
	Заказ на продажу. Одна строка на кол-во 10. Перепоставка/недопоставка -0 % Создаю отгрузочную на 10, регистрация. Одна складская проводка в статусе Скомплектовано на 10. Далее разноска накладной на кол-во 15. И Акс легко мне это дает сделать. Мы чтото сильно не понимаем в идеологии комплектации? Лезу в код проверки. В нашем случае отработка попадает в InventMovement\checkNotOverDelivery в ветку где считается qtyPre - максимально разрешенное количество по строке: X++: qtyPre = abs(inventTransIdSum.receipt() + inventTransIdSum.registered() +
                         inventTransIdSum.issue()   + inventTransIdSum.picked());Как тогда правильно работать с комплектацией? Мы ее используем для проверки и резервирования количества для машины клиента въехавшей на территорию. При этом фактическое превышение отгрузки над комплектацией у нас разрешено, но превышение над количеством "К поставке" - не разрешено.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Аманд 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Да 
		
		
		
		
		
		
			
		
		
		
		
	Цитата: 
	
		
			 При этом фактическое превышение отгрузки над комплектацией у нас разрешено, но превышение над количеством "К поставке" - не разрешено.
		
	 
2. Превышение отгрузки над комплектацией - управляется галками "требуется регистрация и требуется комплектация" в группах складских моделей. Цитата: 
	
		
			Создаю отгрузочную на 10, регистрация. Одна складская проводка в статусе Скомплектовано на 10. 
Далее разноска накладной на кол-во 15. И Акс легко мне это дает сделать Здесь ещё мы перепоставку обсуждали Частичная отмена строк отгрузки  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Аманд 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Как тогда правильно работать с комплектацией?
		
	 
Для резервирования - используйте функцию резервирования. Когда кладовщик изменяет статус на скомплектовано (в любой из трёх основных форм) то он подтверждает, что товар готов к отгрузке. Если хотите, чтобы Скомплектовано == Разнесено в накладной, то ставьте галку "требуется комплектация"  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
У нас разрешено превышение над комплектаций. Значит галку "требуется комплектация" не ставим. Все правильно получается настроено? Цитата: 
	
Цитата: 
	
		
			Сообщение от Vals
			 
 
			Комплектация это в первую очередь складская процедура отбора товара с мест хранения на места отгрузки (если включить WMS то траспортировка паллет). 
		
	Для резервирования - используйте функцию резервирования. Когда кладовщик изменяет статус на скомплектовано (в любой из трёх основных форм) то он подтверждает, что товар готов к отгрузке. Машина идет на коммерческие весы, в место где оформляют накладную и пр. документы. Общий вес оказался чуть больше чем на весах кладовщика. Но товар оплачен, все согласны - делаю документы на фактический вес. Если же вес превысит разрешенное по заказу - документы выписаться не должны. Едет на разгрузку. Мы этого как раз не хотим - поэтому не ставим.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Аманд 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Непонятно. Основываясь на каком принципе позволяется отпустить больше чем разрешено процентом перепоставки в заказе? Пример бытовой есть?
		
	 
Цитата: 
	
		
			Хорошо. Другой пример. У клиента большой заказ на период. Машины приходят. Кладовщик отгрузил. Т.е. скомплектовал, сказал - готово к отгрузке. 
Машина идет на коммерческие весы, в место где оформляют накладную и пр. документы. Общий вес оказался чуть больше чем на весах кладовщика. Но товар оплачен, все согласны - делаю документы на фактический вес. Если же вес превысит разрешенное по заказу - документы выписаться не должны. Едет на разгрузку. Пример: Заказ на 100т (отгрузка машинами по 20т) перепоставка 10% Отгрузка 1 - 20 т - разнесли (к поставке 80) Отгрузка 2 - 30 т - разнесли (к поставке 50) (для системы перепоставки нет, так как остаток отггрузки ещё 50т) Отгрузка 3 - 60 т - разнесли, система отругается на перепоставку. В вашем случчае для таких частичных отгрузок есть пара вариантов: 1. Делать большой договр на 100 т типа Контракт и на его основе делать связанные заказы по 20 т с контролем перепоставки. Но плохо то, чтчо контракты не видны для Сводного планирования и не будет учтены - нужно сразу создавать связанные. 2. Делать договор - из него делать заказы 3. Делать Проект - из него делать заказы по 20т. Идея, которая придёт кому-нибудь в голову - переписать контроль перепоставки на скомплектованное количество - не нужно  
		
				__________________ 
		
		
		
		
		
			- Видеобиблиотека Dynamics AX на YouTube . - наше отраслевое решение для Портов, Судовладельцев, Контейнерных терминалов и Транспортных компаний - Checkmarx - аудит исходного кода программ на безопасность Dynamics AX внедрение ERP и BI Последний раз редактировалось Vals; 19.01.2021 в 13:04.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Причем если я не делаю отгрузочную, а сразу разношу заказанное - мне система не дает разнести больше чем "К поставке" с учетом процента перепоставки. Цитата: 
	
Цитата: 
	
		
			Сообщение от Vals
			 
 
			Пример: 
		
	Заказ на 100т (отгрузка машинами по 20т) перепоставка 10% Отгрузка 1 - 20 т - разнесли (к поставке 80) Отгрузка 2 - 30 т - разнесли (к поставке 50) (для системы перепоставки нет, так как остаток отггрузки ещё 50т) Отгрузка 3 - 60 т - разнесли, система отругается на перепоставку. Цитата: 
	
Я смотрю код вычисления qtyPre - скомплектованное количество складывается дважды. Выглядит как будто задумано так. Но я не понимаю прикладного смысла такого расчета. Где и как оно должно логично себя повести? Поэтому меня подмывает посчитать это багом - и убрать одно слагаемое.  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Автор имел в виду, что вот в этом коде 
		
		
		
		
		
		
			X++: qtyPre = abs(inventTransIdSum.receipt() + inventTransIdSum.registered() +
                         inventTransIdSum.issue()   + inventTransIdSum.picked());В результате, в этой формуле значение inventTransIdSum.receipt() и inventTransIdSum.picked() удваиваются. Вот автор и в недоумении ![]() Цитата: 
	
		
			Тужусь понять почему Picked считают дважды? Не понимаю. В итоге qtyPre = 20, и никакого превышения нет. Далее в коде добивается заказанное до 15 и все прекрасно разносится.
		
	 
				__________________ 
		
		
		
		
	- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря...  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Угу. Как оказалось, в младших версиях dax действительно скомплектованное количество в этих методах не учитывалось 
		
		
		
		
		
		
			\Classes\InventTransIdSum Вот для класса dax4 X++: InventQty   issue()
{
    if (! transaction)
        this.calcSum();
    return  sold
           -inventSum.Deducted
           -inventSum.ReservPhysical
           -inventSum.ReservOrdered
           -inventSum.OnOrder
           -inventSum.QuotationIssue;
}А вот для класса dax2012 X++: /// <summary> /// Calculates and returns the total quantity being issued. /// </summary> /// <returns> /// The quantity being issued. /// </returns> public InventQty issue() { if (!totalsHasBeenCalculated) { this.calcSum(); } return sold -inventSum.Deducted -inventSum.Picked -inventSum.ReservPhysical -inventSum.ReservOrdered -inventSum.OnOrder -inventSum.QuotationIssue; } Разница именно в Picked. Хотя надо заметить, что в dax4 значение qtyPre просто считывалось из поля строки документа 
				__________________ 
		
		
		
		
	- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря...  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 северный Будда 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
receipt и issue по своему смыслу это физически произошедший приход и расход. регистрация и комплектация к физическому движению товара отношения не имеют. так что вопрос надо бы поставить по-другому - зачем были модифицированы методы receipt и issue? и как это проглядели на тестировании модификаций???? 
				__________________ 
		
		
		
		
	С уважением, Вячеслав  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Это было бы логичное рассуждение, если бы в сумме не учитывали значений "Заказано" (OnOrder). Формально, это тоже еще не расход. 
		
		
		
		
		
		
			Так что, скорее, это исправление очень старой ошибки, которая привела к возникновению новых ошибок  
		
				__________________ 
		
		
		
		
	- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря...  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 северный Будда 
		
			
	 | 
	
	
	
		
		
		
		 
			
			одно другого не отменяет))))
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	С уважением, Вячеслав  | 
| 
	
 | 
| 
	
	 | 
	
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
		
  |