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