| 
			
			 | 
		#1 | 
| 
			
			 Восставший 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Здравствуйте все! 
		
		
		
		
		
		
		
	Есть вопрос. Внедряем партионный учет. Хотелось бы иметь отпуск (резервирование) товара с учетом даты истечения срока хранения (поле ExpiryDate таблицы InventBatch). То есть: товар с наиболее ранней этой датой должен резервироваться в первую очередь. В документации сказано, что сие поле, равно как и ProdDate, являются исключительно информационными и на логику не влияют. Крыжик "резервирование по дате" в настройках групп складских моделей рассматривает дату складской проводки. Сталкивался ли кто-либо с подобным? Если да - как победили? Если с помощью дописывания - насколько оно объемно? Если еще в придачу посоветуете классы и методы, куда смотреть - буду совсем благодарен ![]() ПыСы. Аксапта - международная, версия 2.5 SP2. Если это, конечно, имеет значение...  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 SAP 
		
			
	 | 
	
	
	
		
		
			
			
			Вопрос
			 
			
			Резервирование обязательно должно выполняться автоматически, или есть вариант, когда пользователь ручками выбирает партию под резервирование?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Восставший 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В том-то и дело что автоматически  
		
		
		
		
		
		
		
	![]() Партий товара - куча, и сэйлзу некогда разбираться, какая из них с каким сроком хранения. Сама дата конечно же выводится на экран в форме резервирования - но жизнь сэйлзам это не облегчает.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 SAP 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Изначально опубликовано Falcon  
Партий товара - куча, и сэйлзу некогда разбираться, какая из них с каким сроком хранения. Сама дата конечно же выводится на экран в форме резервирования - но жизнь сэйлзам это не облегчает.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Восставший 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Павел, "в-нолевых" - спасибо что отвечаешь  
		
		
		
		
		
		
		
	![]() Во-первых, "срок службы" выводится в форме резервирования только как информационное поле. То-есть сортировать по нему низзя. Можно конечно создать аналогичное допполе в InventTrans-е, и копировать туда значения из InventBatch-а. Или заморочиться написанием собственного сортировщика... Но даже это не решит полностью проблему. Потому как сэйлз не хочет тратить время не только на разбирательство со сроками, но и вообще на проставление количеств. Ибо даже простая операция забивания цифирек отнимает его драгоценное время...Как обычно, всем хочется, чтобы "усе делалось аутоматом". Неужто это совершенно невыполнимо и никто раньше такого не делал в Аксапте? Сэйлзов нагнуть я конечно могу... в крайнем случае... тока может все-таки есть "красивое" решение?  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 SAP 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Изначально опубликовано Falcon  
Павел, "в-нолевых" - спасибо что отвечаешь Цитата: 
	
		
			Изначально опубликовано Falcon  
Во-первых, "срок службы" выводится в форме резервирования только как информационное поле. То-есть сортировать по нему низзя. Можно конечно создать аналогичное допполе в InventTrans-е, и копировать туда значения из InventBatch-а. Цитата: 
	
		
			Изначально опубликовано Falcon  
Или заморочиться написанием собственного сортировщика... Цитата: 
	
		
			Изначально опубликовано Falcon  
Но даже это не решит полностью проблему. Потому как сэйлз не хочет тратить время не только на разбирательство со сроками, но и вообще на проставление количеств. Ибо даже простая операция забивания цифирек отнимает его драгоценное время...Как обычно, всем хочется, чтобы "усе делалось аутоматом". Цитата: 
	
		
			Изначально опубликовано Falcon  
Неужто это совершенно невыполнимо и никто раньше такого не делал в Аксапте? Цитата: 
	
		
			Изначально опубликовано Falcon  
Сэйлзов нагнуть я конечно могу... в крайнем случае... тока может все-таки есть "красивое" решение?  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Восставший 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Привет, Павел, 
		
		
		
		
		
		
		
	Может быть, ты в чем-то и прав... Может быть, стОит больше уделить внимание "организационным моментам"... Хотя проект еще не "под угрозой"(тьфу три раза) и меня слушают и соглашаются с моими доводами. Насчет "кто в случае ошибок будет разгребать данные" - это в точку, тут на 100% согласен. Слово в слово то же самое говорил. Задумались... Робко спросили: неужто это никак не можно автоматически? Я твердо рубанул "никак" - и побежал узнавать в форум (а также рыться в доках), как оно на самом деле  
		 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 SAP 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Изначально опубликовано Falcon  
Хотя проект еще не "под угрозой"(тьфу три раза) и меня слушают и соглашаются с моими доводами. Наверняка, ты это понимаешь.  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Восставший 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Павел, спасибо за напоминание. Это очень важно. Я это понимаю. Хочу просто придерживаться "золотой середины", т.е. не впадать в крайности: "только оргметоды", или "только доработки".  
		
		
		
		
		
		
		
	Кстати, уже начал добавлять поля в InventSum. Вроде бы пока не так страшно, как казалось  
		 | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Восставший 
		
			
	 | 
	
	
	
		
		
			
			
			И все-таки я это дело победил...
			 
			
			Кажется... 
		
		
		
		
		
		
		
	Кому интересно - вот чего я сделал: 1. Добавил в таблицу InventSum поле Expiry date. Сделал обновление этого поля при каждом запуске формы InventOnHandReserve. 2. Вывел добавленное поле в грид вышеуказанной формы. 3. В метод executequery датасорса InventSum указанной формы добавил пару строчек: PHP код: 
	
			
	Знаю, что красивее было то же самое сделать в классе InventDimCtrl_Frm_OnHand - но уж очень не хотелось в классы лезть. 4. Теперь осталось самое сложное - поменять порядок автоматического резерва. Для этого в классе InventSumSearch_Reserve (все-таки пришлось...) в методе initQuery заменил LastUpdDateExpected на ExpDate - в нескольких строчках. 4.1. Еще в InventUpd_Reservation, метод updateReserveLess во всех трех селектах добавил order by statusIssue, Expdate ,inventDimId. Только вот не знаю зачем, так на всякий случай ![]() Вроде бы все... Проверял и в SalesOrders, и в Inventory - вроде бы резервирует как надо... Правда, попутно вылезла любопытная деталь. В "толстом клиенте" все работает ОК, а в тонком последние изменения (п.4) система как бы "не видит". Я естественно первым делом почистил кэш - не помогло. Перекомпилил все - без мазы. Подумал, может я не тот АОТ правил - нет, все правильно, в тонком клиенте изменения видны в АОТ, только как бы "не работают"... Вот сижу, обхватив тыкву руками, и думаю - че ж такое может быть-то ?  )))
		 | 
| 
	
 |