|
Выполнение внешней обработки в фоновом режиме | ☑ | ||
---|---|---|---|---|
0
Wefast
20.01.17
✎
09:43
|
Есть у меня обработка которая обрабатывает внешние файлы и формирует табличный документ, который должен сохраняться на диске.
Делаю так: Функция СведенияОВнешнейОбработке() Экспорт КомандыОбработки=Новый ТаблицаЗначений; КомандыОбработки.Колонки.Добавить("Использование"); КомандыОбработки.Колонки.Добавить("Идентификатор"); КомандыОбработки.Колонки.Добавить("Представление"); КомандыОбработки.Колонки.Добавить("Модификатор"); КомандыОбработки.Колонки.Добавить("ПоказыватьОповещение"); НоваяКоманда = КомандыОбработки.Добавить(); НоваяКоманда.Использование="ВызовСерверногоМетода"; НоваяКоманда.Идентификатор=Метаданные().Имя; НоваяКоманда.Представление=Метаданные().Синоним; НоваяКоманда.Модификатор=""; НоваяКоманда.ПоказыватьОповещение=ЛОЖЬ; ПараметрыРегистрации=новый Структура(); ПараметрыРегистрации.Вставить("БезопасныйРежим",Ложь); ПараметрыРегистрации.Вставить("Вид","ДополнительнаяОбработка"); ПараметрыРегистрации.Вставить("Наименование",Метаданные().Синоним); ПараметрыРегистрации.Вставить("Версия","1.0"); ПараметрыРегистрации.Вставить("Информация",Метаданные().Комментарий); ПараметрыРегистрации.Вставить("Команды",КомандыОбработки); Возврат ПараметрыРегистрации; КонецФункции Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) ЭКСПОРТ КонецПериода = ТекущаяДата(); НачалоПериода = ДобавитьМесяц(ТЕкущаяДата(),-1); НеИспОтбор=ЛОЖЬ; //НеИспОтборПриИзменении(""); //ПриОткрытииНаСервере(); Аптеки.Очистить(); Запрос = Новый Запрос; Запрос.Текст = ""; Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл КонецЦикла; Аптеки.Сортировать("Организация,Склад"); Орг = ""; КолВоДней = ((КонецПериода - НачалоПериода)/(60*60*24))+1; ТабДок = новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); //ВЫводим шапку ОбластьОрг = Макет.ПолучитьОбласть("ШапкаОрг|Шапка"); ОбластьОрг.Область("R1C1:R1C1").ЦветФона = Новый Цвет(204, 198, 173); ОбластьОрг.Параметры.Организация = ""; ТабДок.Вывести(ОбластьОрг); // Выводим колонки шапки ТабДок.Записать("C:\Отчеты"+"\logon"+Формат(ТекущаяДата(),"ДФ=yyyyMMdd")+".xls", ТипФайлаТабличногоДокумента.XLS); Фа = Новый ТекстовыйДокумент; Фа.ДобавитьСтроку("ывалвдал"); Фа.Записать("C:\Отчеты"+"\logon.txt"); Сообщить("32323"); КонецПроцедуры В общем все это когда находится в модуле формы и вызывается по кнопке работает. Тут же я все впихнул в модуль объекта чтобы по расписанию все выполнялось. И что то никакие файлы не создаются. Хотя в регламентных заданиях написано что все прошло успешно. Ничего не сообщается, но тут я и не уверен должно ли. |
|||
1
piter3
20.01.17
✎
09:44
|
C:\Отчеты"+"\logon.txt" на сервере??????
|
|||
2
shuhard
20.01.17
✎
09:44
|
(0)[C:\Отчеты"+"\logon.txt"]
на сервере есть такая папка и права на неё есть у нужной учетки ? |
|||
3
Wefast
20.01.17
✎
09:46
|
(2) (1) ну с использованием формы у обработки все это работает. По этим же путям
|
|||
4
shuhard
20.01.17
✎
09:49
|
(3) ну и славно, топик закрыт
|
|||
5
piter3
20.01.17
✎
09:52
|
(3) Не тупи.Клиент и сервер!
|
|||
6
Wefast
20.01.17
✎
09:54
|
(5) Путь этот есть. С формой запись в файл происходит из серверной функции.
|
|||
7
Wefast
20.01.17
✎
09:54
|
(4) нет
|
|||
8
piter3
20.01.17
✎
09:58
|
А ты в курсе,что писать будет в папку от пользователя,который запускает службы сервера 1с.Короче читай доки или поиском
|
|||
9
Wefast
20.01.17
✎
10:02
|
(8) я не очень понимаю и это пригодится. Но сейчас на машине на которой я все делаю 1 пользователь. Могу я каким то образом проверить по какой причине файл не создается?
Как мне сообщить себе что то. Через попытка исключение |
|||
10
h-sp
20.01.17
✎
10:06
|
(9) пиши в журнал регистрации
|
|||
11
piter3
20.01.17
✎
10:07
|
(9) ЖР,письмо
|
|||
12
Wefast
20.01.17
✎
10:37
|
(10) (11) да через журнал определил что спотыкался на проверке существования каталога
Каталог.Существует() Убрал и файл стал записываться. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |