При соединений ВТ некоторые строки "размножаются"

1. nadyusha22 12.03.23 07:31 Сейчас в теме
Здравствуйте, есть внешняя обработка такого вида:
Таблица Значений получает данные запросом из 2 ВТ (Левое соединение).
После того как соединяю 2 ВТ, некоторое "Контрагенты" размножаются и становятся по 2-9 шт.
Без соединения все показывается ОК.
Соединяю так: "ВТ1_Контрагенты.Ссылка=ВТ2_Контрагенты.Ссылка".

Подскажите пожалуйста, где моя ошибка.
Спасибо большое.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nadyusha22 12.03.23 07:56 Сейчас в теме
ВТ1:

ВЫБРАТЬ
	ВТ_Клиент_ВидКлиента.Ссылка КАК Ссылка,
	ВТ_Клиент_ВидКлиента.ВидКлиента КАК ВидКлиента,
	ВТ_ОстаткиОбороты.НазваниеКлиента КАК НазваниеКлиента,
	ВТ_ОстаткиОбороты.НачальныйОстаток КАК НачальныйОстаток,
	ВТ_ОстаткиОбороты.Приход КАК Приход,
	ВТ_ОстаткиОбороты.Расход КАК Расход,
	ВТ_ОстаткиОбороты.КонечныйОстаток КАК КонечныйОстаток,
	ВТ_ОстаткиОбороты.Валюта КАК Валюта
ПОМЕСТИТЬ ВТ_Остатки_Приход
ИЗ
	ВТ_ОстаткиОбороты КАК ВТ_ОстаткиОбороты
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Клиент_ВидКлиента КАК ВТ_Клиент_ВидКлиента
		ПО ВТ_ОстаткиОбороты.НазваниеКлиента.Ссылка = ВТ_Клиент_ВидКлиента.Ссылка
ГДЕ
	ВТ_Клиент_ВидКлиента.ВидКлиента.Порядок = 1

Показать

////// Получаю 667 строк (НазваниеКонтрагентов)


ВТ2:
ВЫБРАТЬ
	ВозвратТовара.Ссылка КАК Ссылка,
	ВозвратТовара.Клиент КАК Клиент,
	ВозвратТовара.СуммаДокумента КАК СуммаДокумента,
	СУММА(ВозвратТовараТовары.СуммаВозврата) КАК СуммаВозврата,
	СУММА(ВозвратТовараТовары.Сумма) КАК Сумма,
	ВозвратТовара.ВалютаДокумента КАК ВалютаДокумента,
	ВозвратТовара.Склад КАК Склад,
	ВозвратТовара.Дата КАК Дата
ПОМЕСТИТЬ ВТ_ВозвратТовара
ИЗ
	Документ.ВозвратТовараТовары КАК ВозвратТовараТовары
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТовара КАК ВозвратТовара
		ПО ВозвратТовараТовары.Ссылка = ВозвратТовара.Ссылка
ГДЕ
	ВозвратТовара.Дата МЕЖДУ &НачДата И &КонДата
СГРУППИРОВАТЬ ПО
	ВозвратТовара.Ссылка,
	ВозвратТовараТовары.КайтишВалюта,
	ВозвратТовараТовары.Склад,
	ВозвратТовара.Клиент,
	ВозвратТовара.СуммаДокумента,
	ВозвратТовара.ВалютаДокумента,
	ВозвратТовара.Склад,
	ВозвратТовара.Дата
Показать

//////Получаю количество документов, 51 шт , умножим эту цифру на х2, (Валюта Документа: Доллар и Рубли)

Связываю так:
ВЫБРАТЬ
	ВТ_ВозвратТовара.Клиент КАК Клиент,
	ВТ_ВозвратТовара.ДСуммаДокумента КАК СуммаДокумента,
	ВТ_ВозвратТовара.СуммаВозврата КАК СуммаВозврата,
	ВТ_ВозвратТовара.Сумма КАК Сумма,
	ВТ_ВозвратТовара.ВалютаДокумента КАК ВалютаДокумента,
	ВТ_Остатки_Приход.НачальныйОстаток КАК НачальныйОстаток,
	ВТ_Остатки_Приход.Приход КАК Приход,
	ВТ_Остатки_Приход.Расход КАК Расход,
	ВТ_Остатки_Приход.КонечныйОстаток КАК КонечныйОстаток,
	ВТ_Остатки_Приход.Валюта КАК Валюта
ИЗ
	ВТ_ВозвратТовара КАК ВТ_ВозвратТовара
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки_Приход КАК ВТ_Остатки_Приход
		ПО (ВТ_Остатки_Приход.НазваниеКлиента=ВТ_ВозвратТовара.Клиент.Ссылка)
Показать


Получаю 101 строк. При том некоторое контрагенты "размножаются"
3. soft_wind 12.03.23 10:29 Сейчас в теме
(2)нужно не одну связь при соединении делать а и по остальным измерениям тоже, тогда не будет дублей

и еще, вот такие конструкции "ВТ_ВозвратТовара.Клиент.Ссылка" говорят о том что вы очень плохо учились,
и совсем не понимаете что такое запросы и как их правильно создавать.
аксиома, без хороших знаний не бывает хорошего результата!!!
4. user1863362 12.03.23 10:45 Сейчас в теме
(2) Потому что теорию надо учить, а не методом тыка пытаться что-то делать.

У тебя в ВТ_ВозвратТовара есть несколько строк, которые удовлетворяют твоему условию ВТ_Остатки_Приход.НазваниеКлиента=ВТ_ВозвратТовара.Клиент.Ссылка. Что просишь - то и получаешь.
5. nadyusha22 12.03.23 10:46 Сейчас в теме
(4)Подскажите пожалуйста что на что надо изменить.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот