Удаление дублей из таблицы значений

1. user1809279 31.10.24 13:47 Сейчас в теме
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	               |	СчетНаОплатуПокупателю.Ссылка КАК ДокументСчета,
	               |	ДоговорыКонтрагентов.Ссылка КАК Договор,
	               |	ДоговорыКонтрагентов.Владелец КАК Контрагент,
	               |	ДоговорыКонтрагентов.Владелец.ИдентификационныйКодЛичности КАК ИИН,
	               |	ДоговорыКонтрагентовУслуги.Номенклатура КАК Номенклатура,
	               |	СУММА(ДоговорыКонтрагентовУслуги.Сумма) КАК КВыставлению,
	               |	ДоговорыКонтрагентов.ВалютаВзаиморасчетов КАК Валюта
	               |ИЗ
	               |	Справочник.ДоговорыКонтрагентов.Услуги КАК ДоговорыКонтрагентовУслуги
	               |		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
	               |			ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
	               |			ПО ДоговорыКонтрагентов.Ссылка = СчетНаОплатуПокупателю.ДоговорКонтрагента
	               |		ПО ДоговорыКонтрагентовУслуги.Ссылка = ДоговорыКонтрагентов.Ссылка
	               |ГДЕ
	               |	ДоговорыКонтрагентов.ЭтоБиллинг = ИСТИНА
	               |	И ДоговорыКонтрагентов.ДатаНачалаДействияДоговора = &НачалоПериода
	               |	И ДоговорыКонтрагентов.Организация = &Организация
	               |
	               |СГРУППИРОВАТЬ ПО
	               |	СчетНаОплатуПокупателю.Ссылка,
	               |	ДоговорыКонтрагентов.Ссылка,
	               |	ДоговорыКонтрагентов.Владелец,
	               |	ДоговорыКонтрагентов.Владелец.ИдентификационныйКодЛичности,
	               |	ДоговорыКонтрагентовУслуги.Номенклатура,
	               |	ДоговорыКонтрагентов.ВалютаВзаиморасчетов";
    
    Запрос = Новый Запрос;
    Запрос.Текст = ТекстЗапроса;
Запрос.Параметры.Вставить("НачалоПериода", ОбработкаОбъект.НачПериода);
Запрос.Параметры.Вставить("КонецПериода", КонецДня(ОбработкаОбъект.КонПериода));
Запрос.Параметры.Вставить("Организация", Справочники.Организации.НайтиПоКоду("000000002"));
    
    ДанныеТФ.Загрузить(Запрос.Выполнить().Выгрузить());
    
Показать

Здравствуйте, при заполнении таблицы значений отображаются по некоторым контрагентам дубли, как можно это исправить?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 3091 31.10.24 14:01 Сейчас в теме
(1)
при заполнении таблицы значений отображаются по некоторым контрагентам дубли, как можно это исправить?
Ну, наверное, убрать одинаковые услуги из договоров контрагентов.
3. user1809279 31.10.24 14:21 Сейчас в теме
(2) Договора все разные и услуги тоже, одна и та же строка задваивается просто
4. LeeAreHim 31.10.24 15:05 Сейчас в теме
(3) Скрин Результата запроса (ДанныеТФ.Загрузить(Запрос.Выполнить().Выгрузить());)
там где задваивается.
Можете выложить, а то может (1) все таки прав.
5. user1809279 31.10.24 15:10 Сейчас в теме
(4) Вот пример по одному, это один и тот же контрагент, он в результате задваивается
Прикрепленные файлы:
7. LeeAreHim 31.10.24 15:20 Сейчас в теме
(5) А сколько счетов на оплату этому контрагенту всего есть?
У Вас не никаких ограничений на Документ.СчетНаОплатуПокупателю. И весьма возможно, что таких документов 3 штуки за весь период ведения учета по такому договору (Без договора).
Попробуйте в секции "ГДЕ" добавить
| И Документ.СчетНаОплатуПокупателю.Проведен
| И Документ.СчетНаОплатуПокупателю.Дата МЕЖДУ &НачалоПериода И &КонецПериода
9. user1809279 31.10.24 15:44 Сейчас в теме
(7) С такими условиями не выводятся тогда данные
10. LeeAreHim 01.11.24 08:29 Сейчас в теме
(9)
 |ИЗ
                   |    Справочник.ДоговорыКонтрагентов.Услуги КАК ДоговорыКонтрагентовУслуги
                   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
                   |            ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
                   |            ПО ДоговорыКонтрагентов.Ссылка = СчетНаОплатуПокупателю.ДоговорКонтрагента
                   |        ПО ДоговорыКонтрагентовУслуги.Ссылка = ДоговорыКонтрагентов.Ссылка

В этом участке кода уберите одно левое соединение
 |ИЗ
                   |    Справочник.ДоговорыКонтрагентов.Услуги КАК ДоговорыКонтрагентовУслуги
                   |            ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
                   |        ПО ДоговорыКонтрагентовУслуги.Ссылка = ДоговорыКонтрагентов.Ссылка
11. odinsmot 01.11.24 08:39 Сейчас в теме
(10) Плюс на время отладки добавь поле ДоговорыКонтрагентовУслуги.НомерСтроки
8. user2107184 31.10.24 15:22 Сейчас в теме
(5) Так это не результат запроса. Тут есть поля, которых в запросе нет.
И тут меньше полей, чем в запросе. Отсюда вывод - задваиваются поля, отсутствующие на твоем скрине.
6. Bukaska 140 31.10.24 15:19 Сейчас в теме
Вы даете договоры контрагентов левое соединение сами с собой? Или это два разных справочника?
Оставьте свое сообщение

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