Удалить дубли в справочнике "Файлы", если у владельца наличие больше 1 (1С ДО)

1. user1304317 13.10.20 15:37 Сейчас в теме
Коллеги, привет! Подскажите пож-та как удалить лишние файлы, оставив только ранний созданный файл.
ВЫБРАТЬ
	Файлы.Наименование КАК Наименование,
	Файлы.ВладелецФайла КАК ВладелецФайла,
	Файлы.ДатаСоздания КАК ДатаСоздания,
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Файлы.ДатаСоздания) КАК КоличествоФайлов,
	МАКСИМУМ(Файлы.ДатаСоздания) КАК МаксДатаСоздания
ИЗ
	Справочник.Файлы КАК Файлы
ГДЕ
	Файлы.ВладелецФайла.ВидДокумента = &ВидДокумента
	И Файлы.ВладелецФайла.Контрагент = &Контрагент

СГРУППИРОВАТЬ ПО
	Файлы.Наименование,
	Файлы.ВладелецФайла,
	Файлы.ДатаСоздания
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
5. zarankony 311 13.10.20 16:25 Сейчас в теме
(4)Даже нет, ещё проще
ВЫБРАТЬ
    Файлы.ВладелецФайла КАК ВладелецФайла,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Файлы.ДатаСоздания) КАК КоличествоФайлов,
    МИНИМУМ(Файлы.ДатаСоздания) КАК МинДатаСоздания
ПОМЕСТИТЬ вт_1
ИЗ
    Справочник.Файлы КАК Файлы
ГДЕ
    Файлы.ВладелецФайла.ВидДокумента = &ВидДокумента
    И Файлы.ВладелецФайла.Контрагент = &Контрагент

СГРУППИРОВАТЬ ПО
    Файлы.ВладелецФайла
    
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Файлы.ДатаСоздания) > 1

;
ВЫБРАТЬ 
    Файлы.Ссылка КАК Ссылка,
    Файлы.ВладелецФайла,
    Файлы.ДатаСоздания
ИЗ
    Справочник.Файлы КАК Файлы
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ вт_1 КАК вт_1
        ПО Файлы.ДатаСоздания <> вт_1.МинДатаСоздания
            И Файлы.ВладелецФайла = вт_1.ВладелецФайла
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. zarankony 311 13.10.20 16:10 Сейчас в теме
...
ИМЕЮЩИЕ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Файлы.ДатаСоздания) > 1
3. user1304317 13.10.20 16:15 Сейчас в теме
(2) Сделал. Но как мне получить именно те, которые нужно удалить?
ВЫБРАТЬ
	Файлы.Наименование КАК Наименование,
	Файлы.ВладелецФайла КАК ВладелецФайла,
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Файлы.ДатаСоздания) КАК КоличествоФайлов,
	МАКСИМУМ(Файлы.ДатаСоздания) КАК МаксДатаСоздания
ПОМЕСТИТЬ вт_1
ИЗ
	Справочник.Файлы КАК Файлы
ГДЕ
	Файлы.ВладелецФайла.ВидДокумента = &ВидДокумента
	И Файлы.ВладелецФайла.Контрагент = &Контрагент

СГРУППИРОВАТЬ ПО
	Файлы.Наименование,
	Файлы.ВладелецФайла
	
ИМЕЮЩИЕ
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Файлы.ДатаСоздания) > 1;

////////////////////////////////////////////////////
ВЫБРАТЬ
	Файлы.Ссылка КАК НужныйФайл
ПОМЕСТИТЬ вт_2
ИЗ
	Справочник.Файлы КАК Файлы
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ вт_1 КАК вт_1
		ПО Файлы.Наименование = вт_1.Наименование
			И Файлы.ВладелецФайла = вт_1.ВладелецФайла
			И Файлы.ДатаСоздания = вт_1.МаксДатаСоздания

СГРУППИРОВАТЬ ПО
	Файлы.Ссылка;
	/////////////////////////////////////////////
ВЫБРАТЬ
	Файлы.Ссылка КАК Ссылка,
	Файлы.ВладелецФайла,
	Файлы.ДатаСоздания
ИЗ
	Справочник.Файлы КАК Файлы
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ вт_1 КАК вт_1
		ПО Файлы.Наименование = вт_1.Наименование
			И Файлы.ВладелецФайла = вт_1.ВладелецФайла
ГДЕ
	НЕ Файлы.Ссылка В
				(ВЫБРАТЬ
					Т.НужныйФайл ИЗ вт_2 КАК Т)

СГРУППИРОВАТЬ ПО
	Файлы.Ссылка,
	Файлы.ВладелецФайла
Показать
4. zarankony 311 13.10.20 16:20 Сейчас в теме
(3)В первую таблицу владельцев, во вторую мин дату файлов, в третьем выбрать файлы по владельцам из первой и соединить со второй где поле 2 таблицы есть NULL
5. zarankony 311 13.10.20 16:25 Сейчас в теме
(4)Даже нет, ещё проще
ВЫБРАТЬ
    Файлы.ВладелецФайла КАК ВладелецФайла,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Файлы.ДатаСоздания) КАК КоличествоФайлов,
    МИНИМУМ(Файлы.ДатаСоздания) КАК МинДатаСоздания
ПОМЕСТИТЬ вт_1
ИЗ
    Справочник.Файлы КАК Файлы
ГДЕ
    Файлы.ВладелецФайла.ВидДокумента = &ВидДокумента
    И Файлы.ВладелецФайла.Контрагент = &Контрагент

СГРУППИРОВАТЬ ПО
    Файлы.ВладелецФайла
    
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Файлы.ДатаСоздания) > 1

;
ВЫБРАТЬ 
    Файлы.Ссылка КАК Ссылка,
    Файлы.ВладелецФайла,
    Файлы.ДатаСоздания
ИЗ
    Справочник.Файлы КАК Файлы
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ вт_1 КАК вт_1
        ПО Файлы.ДатаСоздания <> вт_1.МинДатаСоздания
            И Файлы.ВладелецФайла = вт_1.ВладелецФайла
Показать
Оставьте свое сообщение

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