|
Сортировка файлов | ☑ | ||
---|---|---|---|---|
0
DrHiHi
10.10.11
✎
14:49
|
Народ, как отсортировать выборку файлов по дате?? Использую метод НайтиФайлы().
при создании счет-фактуры создается xml-файл (имя файла = номер счета + дата счета). потом в терминале по штрихкоду идентифицируется файл и терминал записывает в этот файл сумму оплаты. есть обработка, которая через каждые полчаса проверяет файлы, и если файл был изменен, то проверяется сумма в файле и сумма по оплатам в 1с, если разные суммы, тогда добавляется разность в документ "оплаты по терминалу". но файлов с каждым днем добавляется 100-500. и со временем выполнение обработки для проверки файлов занимает больше времени. создана константа, в которую записывается наибольшая дата измененных документов или дата проверки файлов. вот хотелось бы при выборке файлов отсортировать по дате, чтобы уменьшить время выполнения обработки. |
|||
1
DrHiHi
10.10.11
✎
15:12
|
апну)))
|
|||
2
izekia
10.10.11
✎
15:20
|
если не средствами 1С то можно сделать более оптимальным способом
просто мониторить изменение файлов и передавать в 1С внешним событием |
|||
3
DrHiHi
10.10.11
✎
15:27
|
(2) не стандартными средствами можно и скопировать файлы через xcopy, а потом перебрать скопированные файлы... но думал может есть какой-то скрипт, который вернет мне измененные файлы...
|
|||
4
izekia
10.10.11
✎
15:31
|
(3) ну как я понял у тебя на сравнение времени изменения файла со временем последней проверки много ресурсов тратится?
|
|||
5
Kom-off
10.10.11
✎
15:32
|
(0) НайтиФайлы() возвращает массив. Загоняй этот массив в таблицу значений с двумя колонками самим файлом и его датой, обходи таблицу и получай для каждого файла дату последнего изменения и во вторую колонку его. Сортируй.
|
|||
6
Vladal
10.10.11
✎
15:32
|
1) Читать атрибуты файла и потом по ним сортировать.
2) Нарисовать скрипт на всяких бейсиках и юзать его. 3) Нарисовать скрипт, который создает папки с номером месяца и рассовывает файлы в эти папки. md %1\01 move %1\?????01* %1\01\ md %1\02 move %1\?????02* %1\02\ md %1\03 move %1\?????03* %1\03\ md %1\04 move %1\?????04* %1\04\ md %1\05 move %1\?????05* %1\05\ md %1\06 move %1\?????06* %1\06\ md %1\07 move %1\?????07* %1\07\ md %1\08 move %1\?????08* %1\08\ md %1\09 move %1\?????09* %1\09\ md %1\10 move %1\?????10* %1\10\ md %1\11 move %1\?????11* %1\11\ md %1\12 move %1\?????12* %1\12\ |
|||
7
DrHiHi
10.10.11
✎
15:36
|
(4) да, так как файлов много...
(5) %))) маразм, на создание таблицы уйдет время, потом при обходе таблицы мне нужно позаписывать дату, а потом отсортировать %)) все таки обход через найти файл намного быстрее выйдет... (6) счет может быть выписан месяц назад, а оплатили его только сегодня |
|||
8
izekia
10.10.11
✎
15:40
|
(7) я бы не через 1С делал, так как здесь скорее всего уже нечего оптимизировать именно средствами 1С
|
|||
9
Kom-off
10.10.11
✎
15:42
|
(7) Ты абсолютные значения потери скоростей замерял прежде чем дискутировать в обидном тоне ("маразм")? Маразм - задавать такого уровны вопросы на форуме.
|
|||
10
DrHiHi
10.10.11
✎
15:50
|
(8) значить скорее всего оптимальный вариант xcopy
(9) тут нечего даже замерять... в твоем случае: создание таблицы, обход таблицы, заполнение колонки с датой через метод ПолучитьВремяИзменения(), сортировка таблицы, обход таблицы; в моем случае: получения файла, проверка даты через ПолучитьВремяИзменения() с константой, не подходит файл беру следующий... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |