| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Связь VendInvoiceTrans и PurchLine
			 
			
			Как связать VendInvoiceTrans и PurchLine? По какому полю (полям)?? 
		
		
		
		
		
		
		
	Задача: в репорте есть текущий vendInvoiceTrans - нужно вытащить его PurchLine, так как там дополнительная информация (ещё пара таблиц подключается).  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			по полю InventTransId
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: vadimiron (1). | |
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А связь n:1 (то есть  много VendInvoiceTrans к одному PurchLine)?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 MCT 
		
			
	 | 
	
	
	
		
		
		
		 
			
			он у вас найдет те строчки в которых есть этот лот, наверное, для надежности можно и еще и по ItemId добавить
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Axapta book for developer  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			По-моему, гораздо проще в вашем случае не тащить из VendInvoiceTrans PurchLine, а в методе VendInvoiceTrans.initFromPurchLine() скопировать в VendInvoiceTrans всю необходимую для построения будущих отчетов информацию и потом не париться связывая эти две таблицы. 
		
		
		
		
		
		
		
	Как они связаны ice уже ответил.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 MCT 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
 
		
				__________________ 
		
		
		
		
	Axapta book for developer  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			С учетом удаления закупок - денормализации нет.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Ivanhoe as is..  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 MCT 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Просто работал в одной конторе где весь модуль состял из четырех одинаковых по архитектуре таблиц. И для составления отчета или добаавления фукционала надо было писать жобики, обновляя все эти таблицы. Соответственно для постоения отчета нужна была только одна из них на выбор  
		
		
		
		
		
		
			 
		
				__________________ 
		
		
		
		
	Axapta book for developer  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			У меня данная связь не проходит при создании View. 
		
		
		
		
		
		
		
	Создал datasource VendInvoiceTrans, в нём датасоурс PurchLine - соединил с помощью InventTransId - смотрю с помощью TableBrowser - нет ни одной записи, хотя таблицы по отдельности содержат много записей и многих InventTransId совпадает....не могу понять, почему View пустой  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А это по-вашему всегда минус?  
		
		
		
		
		
		
		
		
			Цитата: 
	
Последний раз редактировалось petr; 28.08.2008 в 17:54.  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 MCT 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Axapta 3.0 SP4 все работает
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Axapta book for developer  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 MCT 
		
			
	 | 
	
	
	
		
		
		
		 
			
			отчего же ?  
		
		
		
		
		
		
			Да и по моему как то вы агресино начинаете... отчего же далек то? 
				__________________ 
		
		
		
		
	Axapta book for developer  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от vadimiron
			 
 
			У меня данная связь не проходит при создании View. 
		
	Создал datasource VendInvoiceTrans, в нём датасоурс PurchLine - соединил с помощью InventTransId - смотрю с помощью TableBrowser - нет ни одной записи, хотя таблицы по отдельности содержат много записей и многих InventTransId совпадает....не могу понять, почему View пустой ![]() update: Впрочем, если уж очень нужна подобная связь, то похоже: VendInvoiceTrans->InventTrans->PurchLine Последний раз редактировалось Lemming; 28.08.2008 в 18:04. Причина: ...  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Вообщем, вы привели пример действительно излишней денормализации, и в этом действительно нет ничего хорошего. Но ветка про две конкретные таблицы VendInvoiceTrans и PurchLine, в контексте которых некоторая денормализация вполне логична и совершенно некритична.  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А вот так, по-моему, опасно. В InventTrans для одной VendInvoiceTrans может быть много проводок, если к каждой из них подцепится PurchLine, то будет ошибка, так как реально связь VendInvoiceTrans PurchLine n:1
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: vadimiron (1). | |
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я нашёл проблему: во View есть опция Relations (YES | NO). Я ставил на YES и думал, что так будет использоваться связь, которая прописана во View, а оказалась, что берётся связь, определённая на таблице (там связь построена по другому, но там одни нули и я не соединишь там никак), а связь во View просто игнорируется! 
		
		
		
		
		
		
		
	Маразм! Когда поставил NO и прописал связь через InventTransId - всё заработало как и ожидалось  | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хмм...согласен, просто обычно связи в первую очередь проверяю создавая Query, в общем поторопился. В любом случае я противник смешивать данные из проводок и их источника. Не говоря о том, что в случае Аксапты, т.н. денормализация иногда неплохо выруливает производительность.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 MCT 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
  А пример я привет для vadimiron, чтоб не увлекался, бо и нормализация и денормализация это не панацея. Просто в одном случае имеем одну та табцицу на все случаи жизни, а в другом сложно строить всякие отчеты. Правда находится посередине.![]() Цитата: 
	
		
			Сообщение от vadimiron
			
			 
Маразм! 
		
	 . Установка значения в Yes принуждает систему использовать те Relations, которые уже заранее определены на таблицах или расширенных типах. Но никто не мешаем вам использовать свои связи.
		
				__________________ 
		
		
		
		
		
			Axapta book for developer Последний раз редактировалось MikeR; 29.08.2008 в 09:03.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: vadimiron (1). | |
| Теги | 
| join, нормализация бд | 
| 
	
	 | 
	
			 
			Похожие темы
		 | 
	||||
| Тема | Ответов | |||
| Импорт строк PurchLine (через функционал) | 8 | |||
| Связь таблиц InventTrans и PurchLine | 2 | |||
| Создние PurchLine с ед. измерения типа 'Склад' | 0 | |||
| Создние PurchLine | 4 | |||
| Связь двух таблиц | 10 | |||
		
  |