Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Отбор файлов в каталоге по дате изменения (8.3.10.2561) , ОС - MS Windows. 1C - 8.3.10.2561          
AleksWhite7 Подменю пользователя
сообщение 06.03.18, 16:23
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 29
Спасибо сказали: 2 раз
Рейтинг: 2

Здравствуйте!
Кто может поделитесь опытом отбора файлов в каталоге по дате изменения.

Количество обрабатываемых файлов более 300тыс.
На данный момент использую поиск по маске и перебор по файл.ПолучитьВремяИзменения(). Решение получается очень долгое.
Хочу ускорить за счёт откидывания файлов с датой изменения менее требуемой.

Переискал много информации, но решения так и не нашёл.
Склоняюсь к тому, что средствами 1С не решить и надо использовать сторонний метод.

Дайте импульс, куда смотреть. Спасибо.

andr_andrey Подменю пользователя
сообщение 07.03.18, 12:29
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 383
Спасибо сказали: 85 раз
Рейтинг: 64.3

AleksWhite7 @ Вчера, 16:23 * ,
Насчет стороннего метода - идея правильная, и выбор огромный.


Signature
#define private public

AleksWhite7 Подменю пользователя
сообщение 07.03.18, 15:13
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 29
Спасибо сказали: 2 раз
Рейтинг: 2

Вот и начал двигаться в эту сторону.
Пока есть батничек
@echo off
::введите маску для искомых файлов
set mask=*.*
::исходная папка
set src="D:\Мой каталог"
::Будем отбирать файлы изменённые от даты. Формат даты dd.MM.yyyy
set mydate=+1.1.2018

:: Засекаем время начала скрипта
set _time=%time%
set /a _hours=100%_time:~0,2%%%100,_min=100%_time:~3,2%%%100,_sec=100%_time:~6,2%%%100,_cs=%_time:~9,2%
set /a _started=_hours*60*60*100+_min*60*100+_sec*100+_cs

forfiles /p %src% /m %mask% /d %mydate% /c "cmd /c echo @fname;@ext;@fdate @ftime" >> Findfiles.txt

:: Определяяем время завершения работы
set _time=%time%
set /a _hours=100%_time:~0,2%%%100,_min=100%_time:~3,2%%%100,_sec=100%_time:~6,2%%%100,_cs=%_time:~9,2%
set /a _duration=_hours*60*60*100+_min*60*100+_sec*100+_cs-_started

:: заполнение переменных
set /a _hours=_duration/60/60/100,_min=100+_duration/60/100%%60,_sec=100+(_duration/100%%60%%60),_cs=100+_duration%%100

echo Done at: %_time% took : %_hours%:%_min:~-2%:%_sec:~-2%.%_cs:~-2%


Если надо использовать UNC путь тогда:
Монтируем диск x:
net use x: %src%

И отключаем после работы
net use x: /delete

Нарисовалась такая картина:
Вызываем скрипт из 1С. Потом грузим полученный файл в ТаблицуЗначений и обрабатываем как надо.



andr_andrey Подменю пользователя
сообщение 07.03.18, 16:43
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 383
Спасибо сказали: 85 раз
Рейтинг: 64.3

AleksWhite7 @ Сегодня, 15:13 * ,
Тоже вариант. Мне привычнее Perl/Python/Go.


Signature
#define private public

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 18.07.18, 16:44
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне