Имя: Пароль:
1C
1С v8
Регламентное задание/Чтение XML
,
0 SpiKe
 
19.03.13
10:23
Доброго дня!
Смысл в том что регламентное задание должно проверять каталог на сервере на предмет появления в нем XML файлов с определенным наименованием, если он есть, то читать его, если нет то соответственно действие не требуется
Кто знает, как можно прописать это в регламентном задании, чтоб не сильно грузить систему?
Заранее спасибо)
1 Defender aka LINN
 
19.03.13
10:25
Ну, прямо взять и написать. В чем вопрос-то?
2 andreymongol82
 
19.03.13
10:29
Ну так в регламентном задании указывается какая-либо процедура или функция. Вот в ней и нужно взять и прописать.
3 SpiKe
 
19.03.13
10:29
Вопрос в том, что если у меня будет великое множество документов и каждую минуту он будет проверять для каждого наличие XML это сильно нагрузит систему, как к примеру вот здесь

   Выборка = Документы.КоммерческоеПредложение.Выбрать();
   Пока Выборка.Следующий() Цикл
   ТекДок = Выборка.ПолучитьОбъект();
   Чтение = Новый ЧтениеXML;
   ПутьКФайлу = "\\Каталог\Док_" + ТекДок.Номер + "_" + Строка(Формат(Год(ТекДок.Дата),"ЧГ=0") + ".xml");
   Попытка
   Чтение.ОткрытьФайл(ПутьКФайлу);
   Исключение
   КонецПопытки;
   КонецЦикла;    
   Док = ЭтаФорма.Объект.Ссылка.ПолучитьОбъект();
   Пока Чтение.Прочитать() Цикл
       Если Чтение.ТипУзла=ТипУзлаXML.НачалоЭлемента

Можно ли как-то из 1С отследить появление файла в этом каталоге и конкретно для него получить требуемый документ?
4 acsent
 
19.03.13
10:30
только по таймеру
5 andreymongol82
 
19.03.13
10:30
Файл (File)
Существует (Exist)
Синтаксис:

Существует()
Возвращаемое значение:

Тип: Булево.
Истина - файл существует; Ложь - в противном случае.
Описание:

Определяет, существует ли файл, соответствующий данному объекту.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
Пример:

Функция ПроверитьСуществованиеКаталога(ИмяКаталога) Экспорт
   КаталогНаДиске = Новый Файл(ИмяКаталога);
   Если КаталогНаДиске.Существует() Тогда
       Возврат Истина;
   Иначе
       Ответ = Вопрос("Каталог не существует. Создать?",
                       РежимДиалогаВопрос.ОКОтмена);
       Если Ответ = КодВозвратаДиалога.ОК Тогда
           СоздатьКаталог(ИмяКаталога);
           Возврат Истина;
       Иначе
           Возврат Ложь;
       КонецЕсли;
   КонецЕсли;
КонецФункции
6 SpiKe
 
19.03.13
10:31
то что нужно, сам не нашёл, спасибо)
7 SpiKe
 
19.03.13
11:14
А можно из 1С перемещать файл из одного каталога в другой?
8 andreymongol82
 
19.03.13
11:16
(7) Кури СП. Раздел "Процедуры и функции работы с файлами"
9 SpiKe
 
19.03.13
11:27
оказалось очень полезным)
10 andreymongol82
 
19.03.13
11:40
(9) Чтение синтаксис-помощника убивает 90% вопросов :)