Как определить дату последнего документа?
По теме из базы знаний
- Как определить дату последнего документа в 8ке.
- WEB-интерфейсы как механизм сбора и контроля данных в розничной сети. Инструменты и наработки
- Адекватность работодателя. Как её определить? Часть 2. Процесс работы, от испытательного срока до увольнения
- История одного админа в мире 1С. Как поиски причины тормозов 1С привели к созданию нового продукта
- Анализ продаж и упущенной прибыли, вывод средних сумм продаж в день – УТ 11, КА 2, ЕРП 2
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Знаю только один проверенный способ в 8ке - запросом. Вот вариант выдранный из универсального журнала документов, проверил у себя работает
Код |
---|
Процедура КнопкаВыполнитьНажатие(Кнопка)
ТекстЗапроса = "";
Для каждого ДоступныйДокумент Из Метаданные.Документы Цикл
ИмяДокумента = ДоступныйДокумент.Имя;
МетаданныеДокумента = ДоступныйДокумент;
ТекстЗапроса = ?(ПустаяСтрока(ТекстЗапроса), "Выбрать разрешенные первые 1 ", ТекстЗапроса + Символы.ПС + "Объединить Все Выбрать");
ТекстЗапроса = ТекстЗапроса + "
| __Документ.Ссылка,
| __Документ.ПометкаУдаления,
| " + ?(МетаданныеДокумента.ДлинаНомера, "__Документ.Номер","NULL") + " КАК Номер,
| __Документ.Дата,
| __Документ.Проведен,
| """ + МетаданныеДокумента.Представление() + """ КАК ВидДокумента,";
Если МетаданныеДокумента.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
ТекстЗапроса = ТекстЗапроса + "
| ВЫБОР КОГДА __Документ.Проведен ТОГДА 0 ИНАЧЕ ВЫБОР КОГДА __Документ.ПометкаУдаления ТОГДА 2 ИНАЧЕ 1 КОНЕЦ КОНЕЦ КАК Иконка";
Иначе
ТекстЗапроса = ТекстЗапроса + "
| ВЫБОР КОГДА __Документ.ПометкаУдаления ТОГДА 3 ИНАЧЕ 0 КОНЕЦ КАК Иконка";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
|ИЗ Документ." + ИмяДокумента + " КАК __Документ
|ГДЕ
| __Документ.Дата >= НАЧАЛОПЕРИОДА(&ДатаНачалаПериодаЖурнала, ДЕНЬ)
| И (__Документ.Дата <= КОНЕЦПЕРИОДА(&ДатаОкончанияПериодаЖурнала, ДЕНЬ) или &ДатаОкончанияПериодаЖурнала = ДатаВремя(1,1,1))
|";
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + "
|УПОРЯДОЧИТЬ ПО Дата УБЫВ";
ЗапросЛастДок = Новый Запрос(ТекстЗапроса);
ЗапросЛастДок.УстановитьПараметр("ДатаНачалаПериодаЖурнала",'00010101');
ЗапросЛастДок.УстановитьПараметр("ДатаОкончанияПериодаЖурнала",'00010101');
Рез = ЗапросЛастДок.Выполнить();
Если не Рез.Пустой() Тогда
Сообщить(Рез.Выгрузить()[0].Ссылка);
Иначе
Сообщить("Нет документов");
КонецЕсли;
КонецПроцедуры
Показать полностью |
ТекстЗапроса ="ВЫБРАТЬ
| МАКСИМУМ(ПриходныйКассовыйОрдер.Дата) КАК Дата
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
|ГДЕ
| ПриходныйКассовыйОрдер.Дата МЕЖДУ &ДатаНач И &ДатаКон";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ДатаНач",НачалоКвартала(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаКон",ТекущаяДата());
Рез=Запрос.Выполнить();
Сообщить(Рез);
Чето не работает(
| МАКСИМУМ(ПриходныйКассовыйОрдер.Дата) КАК Дата
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
|ГДЕ
| ПриходныйКассовыйОрдер.Дата МЕЖДУ &ДатаНач И &ДатаКон";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ДатаНач",НачалоКвартала(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаКон",ТекущаяДата());
Рез=Запрос.Выполнить();
Сообщить(Рез);
Чето не работает(
ТекстЗапроса ="ВЫБРАТЬ
| МАКСИМУМ(ПриходныйКассовыйОрдер.Дата) КАК Дата
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
|ГДЕ
| ПриходныйКассовыйОрдер.Дата МЕЖДУ &ДатаНач И &ДатаКон";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ДатаНач",НачалоКвартала(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаКон",ТекущаяДата());
Рез=Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.Прямой);
Сообщить(Рез);
Что не так не пойму, подскажите.
| МАКСИМУМ(ПриходныйКассовыйОрдер.Дата) КАК Дата
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
|ГДЕ
| ПриходныйКассовыйОрдер.Дата МЕЖДУ &ДатаНач И &ДатаКон";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ДатаНач",НачалоКвартала(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаКон",ТекущаяДата());
Рез=Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.Прямой);
Сообщить(Рез);
Что не так не пойму, подскажите.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот