![]() |
![]() |
![]() |
|
Подскажите по регламентному заданию. | ☑ | ||
---|---|---|---|---|
0
mzelensky
28.07.11
✎
13:18
|
Всем доброго.
Видать чего-то не догоняю. конфа Ут 10.3 на 8.1. Создаю Регламентное задание (галочки "использование" и "предопределенное" стоят в "истина"). Привязываю процедуру из модуля "МодульРегламентныхЗаданий", где пишу: Запрос = Новый Запрос; запрос.Текст="ВЫБРАТЬ РАЗЛИЧНЫЕ | кпкСведенияАгента.Агент КАК Агент, | ИСТИНА КАК Пометка, | кпкСведенияАгента.Пользователь КАК АгентПользователь, | кпкСведенияАгента.АПСПапка КАК папка, | кпкСведенияАгента.КПК.Идентификатор КАК Идентификатор, | кпкСведенияАгента.Ассортимент, | ЕСТЬNULL(кпкСведенияАгента.НетБук, ЛОЖЬ) КАК НетБук |ИЗ | РегистрСведений.кпкСведенияАгента КАК кпкСведенияАгента |ГДЕ | кпкСведенияАгента.НетБук = ИСТИНА | |УПОРЯДОЧИТЬ ПО | Агент"; РезультатЗапроса = Запрос.Выполнить().Выбрать(); Пока РезультатЗапроса.Следующий() цикл МассивФайлов = НайтиФайлы(константы.кпкАПСПапкаОбмена.Получить()+"\"+РезультатЗапроса.Папка+"\", "*_Zapros1C_*.xml"); Если МассивФайлов.количество() <> 0 тогда ОБ=Обработки.кпкОбменДанными.Создать(); ОБ.ВыгрузкаДанныхВНетБук(РезультатЗапроса.Агент,РезультатЗапроса.АгентПользователь, РезультатЗапроса.папка, РезультатЗапроса.Идентификатор, РезультатЗапроса.Ассортимент,истина, истина) ; ОБ=неопределено; КонецЕсли; Для каждого Фалик из МассивФайлов цикл Если Фалик.этофайл() тогда УдалитьФайлы(Фалик.ПолноеИмя); КонецЕсли; КонецЦикла; КонецЦикла; Запуская 1С-ну, открываю консоль заданий и вижу - задание мол выполнено (ошибок нет), но действий никаких при этом не произошло (как минимум должен был удалиться файл). Копирую код один к одному в обработку и сажу на кнопку...запускаю - все отрабатывает как нужно. В чем может быть проблема? |
|||
1
mzelensky
28.07.11
✎
13:18
|
(0) раньше делала подобным образом другие регламенты - все работало и работает как нужно ,а тут чет не пойму :(
|
|||
2
ДенисЧ
28.07.11
✎
13:19
|
папка в сети?
Пользователь системы, от которого работает сервер 1с, имеет право на доступ в сеть? |
|||
3
mzelensky
28.07.11
✎
13:21
|
(2) папка находистя на сервере, 1С-ка запущено на том же сервере...т.е. доступ вроде как ЛОКАЛЬНЫЙ.
|
|||
4
mzelensky
28.07.11
✎
13:21
|
(2) а хотя не - вру....доступ сетевой!!! ща буду проверять!!!
|
|||
5
ДенисЧ
28.07.11
✎
13:22
|
:-)
|
|||
6
mzelensky
28.07.11
✎
13:22
|
(2) но та папка ТОЧНО расшарена на общий доступ!
|
|||
7
mzelensky
28.07.11
✎
14:01
|
Так, с доступом к папке я разобрался. Теперь встала другая ошибка. Рег. задание затыкается на :
"ОБ=Обработки.кпкОбменДанными.Создать();" Естетственно проверить отладчиком не удается. Почему в Рег задании я не могу создать объект обработки ,чтобы потом использовать процедуры ее модуля??? |
|||
8
mzelensky
28.07.11
✎
14:06
|
ап
|
|||
9
Ellowis
28.07.11
✎
14:14
|
(7) а какую ошибку выдает? (в журнале регистрации должна быть)
|
|||
10
Михаил Козлов
28.07.11
✎
14:15
|
(7) Возможно в модуле обработки есть что-то, что подразумевает клиента и на сервере выполниться не может.
|
|||
11
mzelensky
28.07.11
✎
14:17
|
(9)
{Обработка.кпкОбменДанными(730,5)}: Процедура или функция с указанным именем не определена (КомандаСистемы) |
|||
12
mzelensky
28.07.11
✎
14:18
|
(10) не, ругается именно на
ОБ=Обработки.кпкОбменДанными.Создать() т.е. я даже ничего больше не делаю...просто создаю объект и все...и тут выходит ошибка! |
|||
13
Ellowis
28.07.11
✎
14:19
|
в модуле обработки встречается "КомандаСистемы"...
КомандаСистемы (System) Синтаксис: КомандаСистемы(<СтрокаКоманды>, <ТекущийКаталог>) ... Доступность: [b]Тонкий клиент, толстый клиент.[/b] |
|||
14
mzelensky
28.07.11
✎
14:21
|
(13) т.е. на сервере не вариант ее запускать :(
|
|||
15
Ellowis
28.07.11
✎
14:22
|
(14) нет
А что ты пытаешься там запустить? |
|||
16
mzelensky
28.07.11
✎
14:27
|
(15) я через "КомандаСистемы" файлик сформированный архивирую. Т.е. запуская ВинРар через командную строку.
Именно винрар потмоу как у него сжатие лучше, чем у ВинЗипа. |
|||
17
Ellowis
28.07.11
✎
14:31
|
используй
WShell = Новый COMОбъект("WScript.Shell"); WShell.CurrentDirectory = ТутКаталог; retCode = WShell.Run(ТутСтрокаЗапуска, 0, Истина); в retCode будет результат операции |
|||
18
mzelensky
28.07.11
✎
14:55
|
(17) сп. Попробую!
|
|||
19
mzelensky
28.07.11
✎
15:25
|
(17) что-то у меня кося к выходит при использованиии этой фенечки.
Пишет : {Обработка.кпкОбменДанными(734)}: Ошибка при вызове метода контекста (Run): Произошла исключительная ситуация (WshShell.Run): Не удается дождаться процесса. WShell.Run( " ""C:\Program Files\WinRAR\Winrar.exe"" M -ep1 -m5 -IBCK "+ФайлВыгрузки.Путь+ФайлВыгрузки.ИмяБезРасширения+".rar "+ФайлВыгрузки.ПолноеИмя , 0, 1); по причине: Произошла исключительная ситуация (WshShell.Run): Не удается дождаться процесса. |
|||
20
Ellowis
28.07.11
✎
15:53
|
Если позволяет процесс - поставь вместо Истина - Ложь.
Тогда процесс не будет дожидаться окончания архивирования ЗЫ. Может у тебя там архивирование долго идет или еще что. А вообще http://msdn.microsoft.com/en-us/library/d5fk67ky(v=VS.85).aspx |
|||
21
mzelensky
28.07.11
✎
16:02
|
(20) не, ждать окончания нужно обязательно.
Не так уж и долго...ну секунд 5 в среднем |
|||
22
Ellowis
28.07.11
✎
16:08
|
(21) тогда поставь вместо 0 - 1 и посмотри почему процесс идет долго.
Правда, я не знаю, сработает ли это... потому как, куда открывать окно неизвестно. |
|||
23
Ellowis
29.07.11
✎
09:09
|
Есть результат?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |