Как определить дату последнего документа?

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

КонецПроцедуры

Показать полностью
3. 112233 01.10.08 18:20 Сейчас в теме
ТекстЗапроса ="ВЫБРАТЬ
| МАКСИМУМ(ПриходныйКассовыйОрдер.Дата) КАК Дата
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
|ГДЕ
| ПриходныйКассовыйОрдер.Дата МЕЖДУ &ДатаНач И &ДатаКон";

Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ДатаНач",НачалоКвартала(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаКон",ТекущаяДата());
Рез=Запрос.Выполнить();
Сообщить(Рез);

Чето не работает(
4. PeRom 51 01.10.08 18:30 Сейчас в теме
А что именно не работает?
5. 112233 01.10.08 18:33 Сейчас в теме
Мне нужно получить дату последнего документа ПриходныйКассовыйОрдер .
6. PeRom 51 01.10.08 18:39 Сейчас в теме
Так это я понял. А что запрос выдаёт?
7. 112233 01.10.08 18:45 Сейчас в теме
Несоответствие типов (параметр номер '1')
8. coder1cv8 3477 01.10.08 19:01 Сейчас в теме
Про выборку из результата запроса слыхали?...
9. 112233 01.10.08 19:04 Сейчас в теме
Да, все работает, туплю, спасибо.
10. PeRom 51 01.10.08 19:33 Сейчас в теме
А так не пробовал?
.......
Рез=Запрос.Выполнить().Выбрать();
Рез.Следующий();
Сообщить(Рез[0]);
11. 112233 01.10.08 19:41 Сейчас в теме
ТекстЗапроса ="ВЫБРАТЬ
| МАКСИМУМ(ПриходныйКассовыйОрдер.Дата) КАК Дата
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
|ГДЕ
| ПриходныйКассовыйОрдер.Дата МЕЖДУ &ДатаНач И &ДатаКон";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ДатаНач",НачалоКвартала(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаКон",ТекущаяДата());
Рез=Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.Прямой);
Сообщить(Рез);


Что не так не пойму, подскажите.
12. kitt 323 01.10.08 19:47 Сейчас в теме
Выбрать первые 1
Док.Ссылка как ПоследнийДокумент
Док.Дата как ДатаПоследнегоДокумента
ИЗ
Документ.ПриходныйКассовыйОрдер как Док
УПОРЯДОЧИТЬ ПО Док.Дата УБЫВ
13. 112233 02.10.08 18:46 Сейчас в теме
14. poppy 03.10.08 02:18 Сейчас в теме
Такой вариант не пробовали?

Код
Док = Документы.ПриходныйКассовыйОрдер.Выбрать(,,,"Дата убыв");
Если Док.Следующий() Тогда
    ПоследнийДок = Док.ПолучитьОбъект();
КонецЕсли;
Показать полностью


Хотя запросом правильнее.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот