Найти дату самого первого документа в любой базе

NMC22 4 1

Как найти дату самого раннего документа в любой базе (или сам документ при желании)

Функция НайтиСамыйПервыйДокументБазыДата() Экспорт
	
	ТаблицаПервыхДокументов = Новый ТаблицаЗначений;
	ТаблицаПервыхДокументов.Колонки.Добавить("Дата");
	
	Для Каждого ВидДокумента Из Метаданные.Документы Цикл
		
		Запрос = Новый Запрос;
		Запрос.Текст = 
		"ВЫБРАТЬ ПЕРВЫЕ 1
		|	ИмяДокумента.Дата КАК Дата
		|ИЗ
		|	Документ.%ИмяДокумента% КАК ИмяДокумента
		|
		|УПОРЯДОЧИТЬ ПО
		|	Дата";
		
		Запрос.Текст = СтрЗаменить(Запрос.Текст,"%ИмяДокумента%", ВидДокумента.Имя);
		
		РезультатЗапроса = Запрос.Выполнить();
		
		Если РезультатЗапроса.Пустой() Тогда
			Продолжить;
		КонецЕсли;
		
		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
		
		ВыборкаДетальныеЗаписи.Следующий();
		
		НоваяЗапись = ТаблицаПервыхДокументов.Добавить();
		НоваяЗапись.Дата = ВыборкаДетальныеЗаписи.Дата;
		
	КонецЦикла;
	
	ТаблицаПервыхДокументов.Сортировать("Дата Возр");
	
	Если ТаблицаПервыхДокументов.Количество()=0 Тогда
		НоваяЗапись = ТаблицаПервыхДокументов.Добавить();
		НоваяЗапись.Дата = "ЗАМЕНИТЬ НА ВАШУ ДАТА НА ВЫБОР";
	КонецЕсли;
	
	Возврат ТаблицаПервыхДокументов[0].Дата;

КонецФункции
3

Комментарии

dr.Ally
#1, 27 ноября 2023 10:40

Запрос в цикле. Плохой подход в данной ситуации.


Yana
#2, 27 ноября 2023 10:48

(1) dr.Ally, да создание текста запроса в цикле было бы скорее всего правильнее и ТЧ не нужно было бы потом мучить


NMC22
#3, 27 ноября 2023 11:13

(2) Yana, для данной задачи это бессмысленно. Очевидно что решение под разовую задачу найди док с кривой датой и дать по шапке


См. также

Проверить наличие колонки в таблице значений, когда нет доступа к самой таблице и методу Найти у коллекции Колонки

НайтиЭлементСпискаЗначений (БСП)

НайтиСтрокуВДанныхФормыДерево (БСП)

Выгрузка в Excel документ

ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы (БСП)

НайденЗапретИзмененияДанных (БСП)

ПроверитьНомерДокументаПоДате (БСП)

ПроверитьНомерДокументаПоДатеИОрганизации (БСП)

Цены на дату документа продажи

Модератору