Регламентное задание

1. user1255844 13.01.20 14:55 Сейчас в теме
Подскажите, пожалуйста, почему регламетное задание не срабатывает при таком коде, расписание установила

Таблица = Новый ТабличныйДокумент();
	
	СКД = Отчеты.Цены.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	Настройки = СКД.НастройкиПоУмолчанию;
	Период = Настройки.ПараметрыДанных.Элементы.Найти("Период");
	Период.Значение = ТекущаяДата();
	
	
	Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;    
	
	//Передаем в макет компоновки схему, настройки и данные расшифровки
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, Расшифровка);    
	ВнешниеПараметры = Новый Структура;    
	
	//Выполним компоновку с помощью процессора компоновки
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры, Расшифровка);    
	
	//Выводим результат в табличный документ
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(Таблица);    
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);      	

	ПутьКФайлу = "C:\Users\Desktop\Новая папка";
	ИмяФайла="Отчет от" + СОКРЛП(Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd-ЧЧ-мм-сс"))+ ".xls";	
	Файл = ПутьКФайлу + ИмяФайла;
	Таблица.Записать(Файл);
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Pacmanius 13.01.20 15:03 Сейчас в теме
Если я правильно понял, то регламентное задание создавалось Вами. Если это так, то проверьте установлен ли признак "Предопределенное"
3. TonyaKhomich 5 13.01.20 15:04 Сейчас в теме
Возможно так: Файл = ПутьКФайлу + "\" +ИмяФайла;
4. TonyaKhomich 5 13.01.20 15:06 Сейчас в теме
А вообще сделайте сначала как обработку и проверьте в отладчике.
alex-l19041; +1 Ответить
5. Alexei_Siva 182 13.01.20 15:06 Сейчас в теме
Я так понимаю, что само рег. задание не видит такой папки "C:\Users\Desktop\Новая папка" или же видит, но у пользователя, под которым оно выполняется, эта папка своя. Нужно прописывать универсальное сетевое имя, которое одинаково для всех пользователей системы.
alex-l19041; +1 Ответить
6. TonyaKhomich 5 13.01.20 15:08 Сейчас в теме
ПутьКФайлу = "C:\Users\Desktop\Новая папка";
ИмяФайла="Отчет от" + СОКРЛП(Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd-ЧЧ-мм-сс"))+ ".xls";
Файл = ПутьКФайлу + ИмяФайла;

Этот код обозначение следующее:
Таблица.Записать(C:\Users\Desktop\Новая папкаОтчет от);

Как минимум не хватает знака "\"
8. user1255844 13.01.20 16:51 Сейчас в теме
(6) теперь сделала так, но ошибка в обработке "Ошибка при выполнении файловой операции 'C:\Users\Desktop\Новая папка\Отчет от 2020-01-13.xls'. -2147287037(0x80030003): Путь %1 не найден"

Таблица = Новый ТабличныйДокумент();
	
	СКД = Отчеты.МаркетинговоеИсследованиеЦен.ПолучитьМакет("Макет");
	Настройки = СКД.НастройкиПоУмолчанию;
	Период = Настройки.ПараметрыДанных.Элементы.Найти("Период");
	Период.Значение = ТекущаяДата();
	
	
	Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;    
	
	//Передаем в макет компоновки схему, настройки и данные расшифровки
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, Расшифровка);    
	ВнешниеПараметры = Новый Структура;    
	
	//Выполним компоновку с помощью процессора компоновки
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры, Расшифровка);    
	
	//Выводим результат в табличный документ
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(Таблица);    
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);      	

	ПутьКФайлу = "C:\Users\Desktop\Новая папка";
	ИмяФайла="Отчет от" + " "+ СОКРЛП(Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd"))+ ".xls";
	Файл = ПутьКФайлу +"\" + ИмяФайла;
	Таблица.Записать(Файл,ТипФайлаТабличногоДокумента.XLS);
Показать
9. limonas 10 13.01.20 20:05 Сейчас в теме
(8) каталог то существует такой? попробуйте конструкцию (я так логи пишу в новые папки-месяцы), а путь у вас, и правда, очень странный (не универсальный для клиент-серверной версии, например), чтобы был универсальный, надо общий ресурс использовать и указывать путь с "\\":
КаталогНаДиске = Новый Файл(Файл);
Если НЕ КаталогНаДиске.Существует() Тогда
       СоздатьКаталог(Файл);
КонецЕсли;
7. user774630 13.01.20 15:36 Сейчас в теме
А меня еще смущает, что вы табличный документ записываете без указания второго параметра. В итоге у вас расширение xls, а реально формат - mxl.
Синтаксис:
Записать(<ИмяФайла>, <ТипФайлаТаблицы>)
Параметры:
<ИмяФайла> (обязательный)
Тип: Строка.
Имя файла, в котором сохраняется табличный документ.
<ТипФайлаТаблицы> (необязательный)
Тип: ТипФайлаТабличногоДокумента.
Формат, в котором будет сохранен табличный документ.
Значение по умолчанию: MXL.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот