| 
			
			 | 
		#1 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
			
			
			Выписка накладной по нескольким заказам
			 
			
			SP2.  
		
		
		
		
		
		
		
	Данная фишка у кого-нибудь нормально работает. Попробовал - куча недоработок. Например цены не все печатаются стал разбираться набрел на следующий гениальный код: PHP код: 
	
			
	Но есть еще одна проблема - SalesLine. Если посмотреть строки 2-х заказов, то в них salesLine = 1и 2 для одного заказа, и 1 и 2 для другого. Эта же величина custPackingSlipTrans.LineNum принимает значения от 0 до 3 последовательно. Это все баг ??? И собственно вопрос по существу. Если я выписываю накладную, но клавишу обработа не ставлю, то в таблицу custPackingSlipTrans ничего не попадает... Где заполняется переменная custPackingSlipTrans ??? Объявлена она в этом же классе SalesPackingSlipLauncher_Ru. Но поиск по классу показал, что в методах только извлекаются значения из этой переменной, но нигде она не инициализируется. ![]() Может кто поможет ? Благодарю.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 ---------------- 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Создание накладной по заказу всегда делалось в классе SalesFormLetter_PackingSlip.. 
		
		
		
		
		
		
		
	или это какой-то другой процесс?  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хм.  Отчет - SalesPurchPackingSlip_Ru.  Он вовсю оперирует с такой штукой, как dynamicData.  Этот dynamicData собственно формируется в классе SalesPackingSlipLauncher_Ru. 
		
		
		
		
		
		
		
	Хотя думаю, что указанный тобой класс тоже отрабатывает, но несколько раньше. Мы говорим про один и тот же отчет - SalesPurchPackingSlip_Ru ?  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 ---------------- 
		
			
	 | 
	
	
	
		
		
			
			
			О чем разговор
			 
			
			Я говорю, о том где создается накладная и соответственно её строки (CustPackingSlipTrans). 
		
		
		
		
		
		
		
	А ты, видимо, о том где результат печатается ![]() Так что тебя интересует? Мне кажется, лучше править отчет и связанный с ним класс, тем более что эта ф-циональность всегда страдала у наших локализаторов.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Мне кажется, лучше править отчет и связанный с ним класс, тем более что эта ф-циональность всегда страдала у наших локализаторов.
		
	 
 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 ---------------- 
		
			
	 | 
	
	
	
		
		
			
			
			Еще вариант
			 
			
			Можно попытаться выдрать кусок приложения связанный с печатью накладной из более поздних SP, если кто-дь подтвердит, что там эта проблема пофиксина.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хм.  В SP5 класс SalesPackingSlipLauncher_Ru вообще отсутствует.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Где заполняется переменная custPackingSlipTrans ???
		
	 
SalesFormLetter::main: PHP код: 
	
			
	PHP код: 
	
			
	PHP код: 
	
			
	Но вопрос был не только в этом. ![]() Цитата: 
	
		
			Изначально опубликованно Андре:  
Это все баг ???  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 ---------------- 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Да это баг. 
		
		
		
		
		
		
		
	О чем и говорит отсутствие этого класса (и этого кода в аналогичном классе) в SP5 Как я понимаю, исправление ошибок в SP нормальная практика для программных продуктов. P.S. Единственный верный способ связывать строки накладной и заказа InventTransId  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Как я понимаю, исправление ошибок в SP нормальная практика для программных продуктов.
		
	 
 | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Изначально опубликовано Wamr  
Единственный верный способ связывать строки накладной и заказа InventTransId Есть операции разделения и суммирования InventTransID. По одному InventTransID может быть выписано несколько накладных (тривиальный случай - накладная и кредит-нота). По одной строчке накладной может быть создано несколько InventTransID. Будьте осторожны.  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 ---------------- 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Изначально опубликовано mazzy  
Есть операции разделения и суммирования InventTransID Цитата: 
	
		
			По одному InventTransID может быть выписано несколько накладных (тривиальный случай - накладная и кредит-нота).
		
	 
Цитата: 
	
		
			По одной строчке накладной может быть создано несколько InventTransID.
		
	 
 | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Изначально опубликовано Wamr  
Есть операции разделения и суммирования InventTrans. При этом изменяется количество записей в таблице InventTrans, но все они имеют одинаковое значение InventTransId (Номер лота) Цитата: 
	
		
			Изначально опубликовано Wamr  
Я говорил о поиске строки заказа по строке накладной, а не проводок. А все проводки по строке заказа будут иметь одинаковый номер лота (InventTransId), независимо от документа (накладная, счет) Про заказ и складские строки. Насколько я помню, у меня были случаи, когда по одной строчке заказа было сформировано несколько InventTrans c разными InventTransID. Помнится, я сам удивилялся. Причиная была в кредит-нотамах и возвратах с возможностью пропуска складской аналитики. Когда выяснял причину, то еще напоролся на периодические заказы, но туда глубоко не рыл.  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 ---------------- 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Изначально опубликовано mazzy  
Не. Не согласен. А суммовая обработка? Цитата: 
	
		
			Про заказ и складские строки. Насколько я помню, у меня были случаи, когда по одной строчке заказа было сформировано несколько InventTrans c разными InventTransID. Помнится, я сам удивилялся. Причиная была в кредит-нотамах и возвратах с возможностью пропуска складской аналитики. Когда выяснял причину, то еще напоролся на периодические заказы, но туда глубоко не рыл.
		
	 
А ты не путаешь с InventDimId.. вот этот может как угодно меняться в рамках 1го InventTransId?  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			могет быть. сумлеваюси. Но это давно было. 
		
		
		
		
		
		
		
	попробую и проверю. Спасибо на всякий случай.  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Всем спасибо, все переделал.   
		
		
		
		
		
		
		
	А именно все документы по сбыту - накладная, счет-фактура и счет. Реализовал так - в таблицы TmpReportInvoice_Ru и ей подобные добавил поле InventTransId куда из строки заказа в процессе формирования документов вытягивал это значение. При печати документов уже по InventTransId искал соответствующую строку в SalesLine и брал из нее соответствующую информацию. Пока вроде все работает. Глюков не замечено.  | 
| 
	
 |