|
Друзья, подскажите пожалуйста! | ☑ | ||
---|---|---|---|---|
0
Mattew
05.10.12
✎
14:32
|
Есть обработка, которая достает с хоста xml и загружает в 1С, все работает отлично, цепляет файл с датой минус один день.. Но хочется автоматизировать процесс загрузки, т.е. написать цикл, который будет хватать не один файл, а перебирать все в указанном промежутке времени, например за месяц. В данный момент так:
Дата = ТекущаяДата()-60*60*24; Как сделать цикл например с первого числа месяца по текущую дату? |
|||
1
Maxus43
05.10.12
✎
14:33
|
по дате файла определяете что грузиьт?
|
|||
2
PR
05.10.12
✎
14:33
|
||||
3
Mattew
05.10.12
✎
14:33
|
Да
|
|||
4
Mattew
05.10.12
✎
14:34
|
Что за ссыль?
|
|||
5
Maxus43
05.10.12
✎
14:35
|
где то подвох, ибо судя по коду - до секунды должно совпасть всё
|
|||
6
Kashemir
05.10.12
✎
14:35
|
Конструкций цикла тебе мало ?
|
|||
7
PR
05.10.12
✎
14:36
|
(4) Это ссылка на яндекс, в котором написан твой вопрос. Ты же, уверен, тщательно подумал перед тем, как сформулировать его?
|
|||
8
Mattew
05.10.12
✎
14:36
|
Сейчас все норм, цепляется вчерашний день, нужен цикл, который поместит первый день месяца и так до текущей даты, запишет в переменную Дата
|
|||
9
Mattew
05.10.12
✎
14:37
|
Ну вот не могу разобраться как реализовать
|
|||
10
Kashemir
05.10.12
✎
14:37
|
(8) Очень толсто
|
|||
11
Maxus43
05.10.12
✎
14:37
|
код в студию, где определяется какой файл грузить
|
|||
12
Mattew
05.10.12
✎
14:38
|
Нашел файл, загрузил процедурой в 1С, далее выбрал следующий с следующей датой и отработал снова процедуру и так далее до конца
|
|||
13
Mattew
05.10.12
✎
14:40
|
ДатаФайла = ТекущаяДата()-60*60*24;
СтрокаДата=Формат(ДатаФайла, "ДФ=""гггг-ММ-дд"""); ИмяФ="orders_"+СтрокаДата+".xml"; ПутьКФайлу = "C:\"+ИмяФ; Попытка FTP = Новый FTPСоединение(тут доступ прописан); FTP.Получить(ИмяФ, ПутьКФайлу); Исключение КонецПопытки; Файл = Новый Файл(ИмяФ); Если Файл.Существует() Тогда ЧтениеХМЛ(); КонецЕсли; ЗавершитьРаботуСистемы(Ложь); |
|||
14
НЕА123
05.10.12
✎
14:42
|
НачалоМесяца()
и добалвяй по 8400 в цикле. |
|||
15
pumbaEO
05.10.12
✎
14:42
|
FTP.НайтиФайлы("", "orders_"+Формат(ДатаФайла, "ДФ=""гггг-ММ""")+"*")
|
|||
16
Mattew
05.10.12
✎
14:44
|
Этот код перед .Получить? Вместо?
|
|||
17
pumbaEO
05.10.12
✎
14:46
|
(16) сначала почитать СП, потом подумать, потом попробовать, потом с конкретным вопросом на форум.
|
|||
18
Mattew
05.10.12
✎
14:47
|
ДатаФайла = ТекущаяДата();
ПутьКФайлу = "C:\"+ИмяФ; Попытка FTP = Новый FTPСоединение(тут доступ прописан); FTP.НайтиФайлы("", "orders_"+Формат(ДатаФайла, "ДФ=""гггг-ММ""")+"*") FTP.Получить(ИмяФ, ПутьКФайлу); Исключение КонецПопытки; Файл = Новый Файл(ИмяФ); Если Файл.Существует() Тогда ЧтениеХМЛ(); КонецЕсли; ЗавершитьРаботуСистемы(Ложь); |
|||
19
Mattew
05.10.12
✎
14:47
|
Такой код?
|
|||
20
Kashemir
05.10.12
✎
14:49
|
МассивФайлов = FTPСоединение.НайтиФайлы(путь,,Ложь);
Для каждого Файл из МассивФайлов Цикл Если Файл.ПолучитьВремяИзменения() < НачалоДня(ТекущаяДата()) И Файл.ПолучитьВремяИзменения() >= НачалоМесяца(ТекущаяДата()) Тогда // файл нам подходим - обрабатываем Сообщить(Файл.ПолноеИмя()); КонецЕсли; КОнецЦикла; |
|||
21
Mattew
05.10.12
✎
14:51
|
Ок, спасибо попробую
|
|||
22
alexandrius
05.10.12
✎
15:09
|
Ему проще уж так, тем более ему нужно не дата изменения а наименования:
Дни = День(ТекущаяДата()); Для каждого Д = 1 по Дни цикл ДатаФайла = НачалоМесяца(ТекущаяДата()) + 60*60*24*Дни; СтрокаДата=Формат(ДатаФайла, "ДФ=""гггг-ММ-дд"""); ИмяФ="orders_"+СтрокаДата+".xml"; ПутьКФайлу = "C:\"+ИмяФ; Попытка FTP = Новый FTPСоединение(тут доступ прописан); FTP.Получить(ИмяФ, ПутьКФайлу); Исключение КонецПопытки; Файл = Новый Файл(ИмяФ); Если Файл.Существует() Тогда ЧтениеХМЛ(); КонецЕсли; КонецЦикла; ЗавершитьРаботуСистемы(Ложь); Что-то типа того.. |
|||
23
Mattew
05.10.12
✎
15:19
|
{Форма.Форма.Форма(354,18)}: Ожидается символ '='
Для каждого Д <<?>>= 1 по Дни Цикл (Проверка: Толстый клиент (обычное приложение)) |
|||
24
Kashemir
05.10.12
✎
15:22
|
(23) Жесть. Не позорься - хоть операторы выучи.
|
|||
25
pumbaEO
05.10.12
✎
15:22
|
(23) а можно я за тебя буду кушать?
|
|||
26
Mattew
05.10.12
✎
15:23
|
разобрался
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |