Доброго дня,
якщо треба знайти серед всіх типів документів дату найпершого з поміткою на видалення,
пропоную варіант рішення.
ЗапросПервогоДокумента = Новый Запрос;
ТекстЗапроса = "";
ПервыйВидДок = Истина;
Для Каждого ТедВидДок Из Документы Цикл
Имя = ТедВидДок.Пустаяссылка().Метаданные().Имя;
Если ПервыйВидДок тогда
ТекстЗапроса = ТекстЗапроса + "ВЫБРАТЬ
| МИНИМУМ(Док.Дата) КАК Дата
| Поместить ТаблДат
|ИЗ
| Документ."+Имя+" КАК Док
|
|ГДЕ
| Док.ПометкаУдаления И Док.Дата < &текДата
|
|
|ОБЪЕДИНИТЬ ВСЕ ";
ПервыйВидДок = Ложь;
Иначе
ТекстЗапроса = ТекстЗапроса + "ВЫБРАТЬ
| МИНИМУМ(Док.Дата) КАК Дата
|ИЗ
| Документ."+Имя+" КАК Док
|
|ГДЕ
| Док.ПометкаУдаления И Док.Дата < &текДата
|
|
|ОБЪЕДИНИТЬ ВСЕ ";
КонецЕсли
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + "
|ВЫБРАТЬ
| &текДата; // ";
ТекстЗапроса = ТекстЗапроса + "
| ВЫБРАТЬ
| МИНИМУМ(ТаблДат.Дата) КАК Дата
|ИЗ
| ТаблДат КАК ТаблДат";
ЗапросПервогоДокумента.Текст = ТекстЗапроса;
ЗапросПервогоДокумента.УстановитьПараметр("текДата", ТекущаяДата());
Выб = ЗапросПервогоДокумента.Выполнить().Выбрать();
Выб.Следующий();
ДатаПервого = Выб.Дата;
Я би замість
"ВЫБРАТЬ
| МИНИМУМ(Док.Дата) КАК Дата
| Поместить ТаблДат
|ИЗ
| Документ."+Имя+" КАК Док
|
|ГДЕ
| Док.ПометкаУдаления И Док.Дата < &текДата
|
|
|ОБЪЕДИНИТЬ ВСЕ "
"ВЫБРАТЬ ПЕРВЫЕ 1
| Дата
|ИЗ
| Документ."+Имя+" КАК Док
|ГДЕ
| Док.ПометкаУдаления И Док.Дата < &текДата
|УПОРЯДОЧИТЬ ПО
| Дата
|
|ОБЪЕДИНИТЬ"
"ВЫБРАТЬ ПЕРВЫЕ 1
| Дата
|ИЗ
|(
| "+ПеременнаяСЗапросомВыше+"
|)
|УПОРЯДОЧИТЬ ПО
| Дата"
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua