Добрый день,

Задача: есть стандартный отчет "Ведомость расчетов с поставщиками" из ERP2, я его уже немного доработал, добавив к каждому объекту расчета связанную заявку на закупку (Документ, разработанный отдельно в расширении).
Необходимо в отчет вывести для каждого объекта расчета и заявки на закупку по одному их присоединенному файлу.

У меня получилось вывести присоединенные файлы для заявки на закупку: я добавил в один из запросов левое соединение, набор данных ФайлыЗаявкиНаЗакупку (выбирает данные из справочника знз_ЗаявкаНаЗакупкуПрисоединенныеФайлы) и связь наборов данных, здесь проблема лишь в том, что при этом выводятся все файлы для заявки на закупку - как сделать, чтобы выводился только один?

Также есть проблема в том, что при добавлении еще одного набора данных ФайлыЗакупки (выбирает данные из справочника ДоговорыКонтрагентовПрисоединенныеФайлы) и таком же добавлении левого соединения в уже имеющийся запрос, связи наборов данных - получаю ошибку "Использование полей из не связанных наборов данных не допустимо".

Подскажите, пожалуйста, как организовать вывод только одного присоединенного файла для каждого из необходимых полей, как решить вопрос с ошибкой, описанной выше?

Вид отчета должен быть такой:
ОбъектРасчета \ ФайлЗакупки \ ЗаявкаНаЗакупку \ ФайлЗаявкиНаЗакупку

Заранее спасибо за любую помощь.
---
Для решения проблемы связи использовал странную конструкцию, не уверен в ее использовании, но работает - В связях наборов данных между 2 и 3 таблицах, что связаны только с 1, я поставил источник данных 2 табл, приемник 3, в выражение источник и выражение приемник записал просто цифру 1.

Для решения проблемы с выводом всех строк файлов - воспользовался следующей статьей, как же она меня выручила. ВЫБРАТЬ В ЗАПРОСЕ ОДНУ ЗАПИСЬ ИЗ НЕСКОЛЬКИХ. Вкратце - используем коррелированный запрос, внутри которого выбираем, какое поле должно быть уникальным, в моем случае это был ВладелецФайла. Ниже предоставляю код, который решил мою задачу:

```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    ДоговорыКонтрагентовПрисоединенныеФайлы.Ссылка КАК ФайлЗакупки,
    ДоговорыКонтрагентовПрисоединенныеФайлы.ВладелецФайла КАК ВладелецФайлаЗакупки,
    ДоговорыКонтрагентовПрисоединенныеФайлы.ДатаСоздания КАК ДатаСоздания
    ИЗ
    Справочник.ДоговорыКонтрагентовПрисоединенныеФайлы КАК ДоговорыКонтрагентовПрисоединенныеФайлы
    ГДЕ
    (ДоговорыКонтрагентовПрисоединенныеФайлы.Ссылка,
    ДоговорыКонтрагентовПрисоединенныеФайлы.ВладелецФайла,
    ДоговорыКонтрагентовПрисоединенныеФайлы.ДатаСоздания)
    В (ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка, ВладелецФайла, ДатаСоздания
    ИЗ Справочник.ДоговорыКонтрагентовПрисоединенныеФайлы КАК ВСЁ ГДЕ ВСЁ.ВладелецФайла = ДоговорыКонтрагентовПрисоединенныеФайлы.ВладелецФайла)
    УПОРЯДОЧИТЬ ПО
    ДатаСоздания УБЫВ
```
---
выводятся все файлы для заявки на закупку - как сделать, чтобы выводился только один? Установить такие условия в запросе, чтобы выводился только один. Или отдельно организовать ВТ с отобранными файлами.
---
как это можно реализовать, подскажите, пожалуйста?
---
Что "это"? Это твой запрос, и твои данные. Тебе и виднее какие условия выставлять в запросе.
---
Уважаемый user2107184,
Подскажите, пожалуйста, как именно должны выглядеть "условия в запросе, чтобы выводился только один"? Я не прошу вас переписать мой запрос - просто напишите или объясните, как это должно выглядеть? Я уже попробовал ВЫБРАТЬ ПЕРВЫЕ 1, но ничего не изменилось
---
ГДЕ А.П1 = Б.П1 И А.П2 = Б.П2 И... так далее.
только один Какой из них?
---
Спасибо за ваши попытки мне помочь. Возможно, мне стоит объяснить еще раз, что имею на данный момент и с чем борюсь.

Код запроса:

```1c
    ВЫБРАТЬ
    ДоговорыКонтрагентовПрисоединенныеФайлы.Ссылка КАК ФайлЗакупки,
    ДоговорыКонтрагентовПрисоединенныеФайлы.ВладелецФайла КАК ВладелецФайлаЗакупки
    ИЗ
    Справочник.ДоговорыКонтрагентовПрисоединенныеФайлы КАК ДоговорыКонтрагентовПрисоединенныеФайлы
```

При таком запросе я получаю ситуацию, где если у ОбъектаРасчетов есть 2 присоединенных файла, то в отчете выведется 2 строки, мне же нужно, чтобы был получен первый файл из двух, соответственно и выведена только одна строка.
---
Понимаю, что здесь в запросе ничего не делаю для этого, но хочу узнать, что именно мне необходимо в него добавить, чтобы решить данную проблему
---
но хочу узнать, что именно мне необходимо в него добавить Либо условия отбора или связи, однозначно выделяющие "одно единственное любимое", либо отдельный подзапрос для выбора таких "единственных", и последующей связи с основной таблицей запроса.
---
Понял вашу мысль, давайте сделаем привязку к ДатеСоздания, вывести тот файл, у которого она минимальная. Как это будет выглядеть в коде?
---
Как это будет выглядеть в коде? Куда ты торопишься?
Никто за тебя тут код писать не будет, не ссы.
Давай-ка подумаем, давай-ка поразмышляем - какими способоми в запросе можно получить минимальную дату из нескольких?

* Вопрос со звездочкой: а что если даты одинаковые?

Мужик идет по пустыне, изнывая от жары и жажды, вдруг видит, лампа лежит. Он ее потер, а оттуда джин вылетает:
— Что прикажешь, мой Господин?
— Хочу домой!
— Ну, пошли...
— Нет, ты не понял, я быстро хочу!
— Ну, тогда побежали!
---
Анекдот отличный, жаль не помогает никак. Понимаю, поглумиться над незнающим, это весело. Но, если есть такая возможность, давайте перейдем к сути вопроса. Если же единственное, чего вы добиваетесь - моей ответной желчи, то вы ее не получите, и предлагаю на этом закончить. Если бы я знал ответ, я бы не обращался на форум за помощью к профессионалам.

Тем не менее, вы уже навели меня на верные мысли по решению, за это спасибо.

Состав даты: Дата и время, не думаю, что будет 2 одинаковых у одного документа.

Пробовал так, не вышло:

```1c
    ВЫБРАТЬ ПЕРВЫЕ 1
    ДоговорыКонтрагентовПрисоединенныеФайлы.Ссылка КАК ФайлЗакупки,
    ДоговорыКонтрагентовПрисоединенныеФайлы.ВладелецФайла КАК ВладелецФайлаЗакупки
    ИЗ
    Справочник.ДоговорыКонтрагентовПрисоединенныеФайлы КАК ДоговорыКонтрагентовПрисоединенныеФайлы
    УПОРЯДОЧИТЬ ПО
    ДоговорыКонтрагентовПрисоединенныеФайлы.ДатаСоздания
```
---
Не поглумиться, а заставить или помочь начать думать самостоятельно, а потом воплощать свои мысли в код. Вместо того, чтобы бездумно играть в угадайку и попрошайничать. Но если начнешь тупить - начну глумиться, конечно, без вариантов.
 Если бы я знал ответ, я бы не обращался на форум за помощью к профессионалам. Это азы работы с запросами. Для вырезания аппендицита начинающему хирургу нет нужды обращаться к профессорам.
Пробовал так, не вышло: Какой именно каменный цветок не выходит в этом месте?
---
При таком запросе не получаю вообще никаких данных
---
Ну значит их там нет вообще.
---
При этом если я делаю просто ВЫБРАТЬ и не использую УПОРЯДОЧИТЬ, то данные есть
---
Ну, давай поверим тебе на слово, и закончим сеанс телепатии.
---
Прислать вам 2 скрина, где при отсутствии "ПЕРВЫЕ 1" и "УПОРЯДОЧИТЬ" данные есть, а с ними - нет?)
---
Ага, до востребования.
---
Тем не менее, вы уже навели меня на верные мысли по решению, Вот видишь! А ты говоришь, что я над тобой глумлюсь...
Я тебе помогаю мыслить!!!
Я бы даже сказал - научаю мыслить!
---
чтобы был получен первый файл из двух Что значит "первый"? Почему ты считаешь его первым?
---
Без разницы, давайте будем учитывать, что не первый, а один единственный
---
Без разницы Ну если тебе без разницы - то система и выдает тебе все. Она за тебя выбор делать не собирается.
 а один единственный из скольки?

Если ты сам себе не можешь объяснить - почему тебе нужен именно этот файл из кучи файлов - то как ты собираешься объяснить это системе?
---
"Ну если тебе без разницы - то системы и выдает тебе все. Она за тебя выбор делать не собирается." - см. (8)

"из скольки?"
из всех, количество присоединенных файлов к каждому документу неограниченно
---
Если ты сам себе не можешь объяснить - почему тебе нужен именно этот файл из кучи файлов - то как ты собираешься объяснить это системе?
Или ты думаешь, что есть какая-то специальная красная таблетка, которая за тебя все сделает?
---
Для решения проблемы связи использовал странную конструкцию, не уверен в ее использовании, но работает - В связях наборов данных между 2 и 3 таблицах, что связаны только с 1, я поставил источник данных 2 табл, приемник 3, в выражение источник и выражение приемник записал просто цифру 1.

Для решения проблемы с выводом всех строк файлов - воспользовался следующей статьей, как же она меня выручила. ВЫБРАТЬ В ЗАПРОСЕ ОДНУ ЗАПИСЬ ИЗ НЕСКОЛЬКИХ. Вкратце - используем коррелированный запрос, внутри которого выбираем, какое поле должно быть уникальным, в моем случае это был ВладелецФайла. Ниже предоставляю код, который решил мою задачу:

```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    ДоговорыКонтрагентовПрисоединенныеФайлы.Ссылка КАК ФайлЗакупки,
    ДоговорыКонтрагентовПрисоединенныеФайлы.ВладелецФайла КАК ВладелецФайлаЗакупки,
    ДоговорыКонтрагентовПрисоединенныеФайлы.ДатаСоздания КАК ДатаСоздания
    ИЗ
    Справочник.ДоговорыКонтрагентовПрисоединенныеФайлы КАК ДоговорыКонтрагентовПрисоединенныеФайлы
    ГДЕ
    (ДоговорыКонтрагентовПрисоединенныеФайлы.Ссылка,
    ДоговорыКонтрагентовПрисоединенныеФайлы.ВладелецФайла,
    ДоговорыКонтрагентовПрисоединенныеФайлы.ДатаСоздания)
    В (ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка, ВладелецФайла, ДатаСоздания
    ИЗ Справочник.ДоговорыКонтрагентовПрисоединенныеФайлы КАК ВСЁ ГДЕ ВСЁ.ВладелецФайла = ДоговорыКонтрагентовПрисоединенныеФайлы.ВладелецФайла)
    УПОРЯДОЧИТЬ ПО
    ДатаСоздания УБЫВ
```
---
И где здесь "первый"? Тут только "любой единственный". То есть, как скуль на душу положит.
---
;((