Как отсортировать документы по времени
14.05.2005
06:43
#1
Доброго времени суток!
У меня такая проблема. Имеется выборка документов за какой-то один день. Необходимо найти документы в заданном временном интервале, например, с 14:00:00 по 17:00:00. Точнее документ с максимальным временем. Как это организовать??
Спасибо за внимание.
У меня такая проблема. Имеется выборка документов за какой-то один день. Необходимо найти документы в заданном временном интервале, например, с 14:00:00 по 17:00:00. Точнее документ с максимальным временем. Как это организовать??
Спасибо за внимание.
14.05.2005
09:36
#2
Собственно в чём проблема? Перебераешь документы и смотришь их время. (метод - ПолучитьВремя(...))
И выбираешь док с максимальным временем.
А если надо отсортировать, то самый простой способ это записать все доки в таблицу значений, потом вызываешь Сортировать() и само отсортируется.
И выбираешь док с максимальным временем.
А если надо отсортировать, то самый простой способ это записать все доки в таблицу значений, потом вызываешь Сортировать() и само отсортируется.
14.05.2005
09:42
#3
СформироватьПозициюДокумента(<Дата>,<Час>,<Мин>,<Сек>,<ФлагКонцаСекунды>)
ВыбратьДокументы(<Дата1>,<Дата2>)
<Дата1> - дата, документ или позиция начала выборки документов. Если данный параметр опущен, то выборка начинается с самого первого существующего в системе документа.
<Дата2> - дата, документ или позиция конца выборки документов. Если данный параметр опущен, то выборка заканчивается самым последним существующим в системе документом.
ВыбратьДокументы(<Дата1>,<Дата2>)
<Дата1> - дата, документ или позиция начала выборки документов. Если данный параметр опущен, то выборка начинается с самого первого существующего в системе документа.
<Дата2> - дата, документ или позиция конца выборки документов. Если данный параметр опущен, то выборка заканчивается самым последним существующим в системе документом.
14.05.2005
12:28
#4
"Если выборку получаешь запросом, то можно использовать:
Группировка Докум упорядочить по Докум.ДатаДок, Докум.ВремяДок;"
Группировка Докум упорядочить по Докум.ДатаДок, Докум.ВремяДок;"
14.05.2005
12:57
#5
"Примерно так
Док=СоздатьОбъект("Документ");
Док.ВыбратьДокументы(Дата1,Дата2);
Док.ОбратныйПорядок(1);
Найдено=0;
Пока Док.ПолучитьДокумент()=1 Цикл
Док.ПолучитьВремя(Часы,Минуты,Секунды);
Если Часы=<17 Тогда // дописать в соотв. с треб. уловием
Найдено=1;
Прервать;
КонецЕсли;
КонецЦикла;
Если Найдено=1 Тогда
// док нашли
иначе
// док не найден
КонецЕсли;
"
Док=СоздатьОбъект("Документ");
Док.ВыбратьДокументы(Дата1,Дата2);
Док.ОбратныйПорядок(1);
Найдено=0;
Пока Док.ПолучитьДокумент()=1 Цикл
Док.ПолучитьВремя(Часы,Минуты,Секунды);
Если Часы=<17 Тогда // дописать в соотв. с треб. уловием
Найдено=1;
Прервать;
КонецЕсли;
КонецЦикла;
Если Найдено=1 Тогда
// док нашли
иначе
// док не найден
КонецЕсли;
"
15.05.2005
10:10
#6
Простой перебор всех документов не пойдет. Документов очень много, необходимо как-то оптимизировать этот поиск!
16.05.2005
00:54
#7
"тебе ведь уже написали:
Док=СоздатьОбъект("Документ");
Док.ВыбратьДокументы(Дата1,Дата2);
Док.ОбратныйПорядок(1); //!!!!!!
"
Док=СоздатьОбъект("Документ");
Док.ВыбратьДокументы(Дата1,Дата2);
Док.ОбратныйПорядок(1); //!!!!!!
"
Читают тему
(гостей: 1)