Регламентное задание сохранить данные в файл

1. jimli 7 08.12.21 18:09 Сейчас в теме
Прошу помощи.
Делаю обработку для ночного регламентного сохранения прайс-листов в файл. Тренируюсь на простом: создала внешнюю обработку как описано в статье БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному
Обработку подключила, настроила расписание. Файла в каталоге не появилось, ошибок в журнале нет.
// Возвращает сведения о внешней обработке.
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
	ПараметрыРегистрации.Версия = "1.0.01"; 
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = НСтр("ru = 'Задача 1 регламент'");
	НоваяКоманда.Идентификатор = "Задача1Регламент";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	НоваяКоманда.ПоказыватьОповещение = Истина;
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

// Интерфейс для запуска логики обработки.
Процедура ВыполнитьКоманду(ИмяКоманды, ПараметрыВыполнения) Экспорт
	
	// Диспетчеризация обработчиков команд.
	Если ИмяКоманды = "Задача1Регламент" Тогда
		Команда_ЗаДача1(ПараметрыВыполнения);
	КонецЕсли;
	
КонецПроцедуры

Процедура Команда_ЗаДача1(ПараметрыВыполнения)
	
	СохранитьВФайл(ПараметрыВыполнения);
		
КонецПроцедуры	

Процедура СохранитьВФайл(ПараметрыВыполнения)      
	//попытка                                    
		КаталогДляЭкспериментов = "\\192.168.120.54\Обмен";
	ТекстовыйФайл = Новый ТекстовыйДокумент;
	ТекстовыйФайл.УстановитьТекст("В траве сидел кузнечик...");
	ТекстовыйФайл.Записать(КаталогДляЭкспериментов + "\out.txt");     
//исключение
//	КонецПопытки;
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. dmbarchenkov 08.12.21 18:15 Сейчас в теме
(1) Процедура СохранитьВФайл() должна быть "экспортной".
2. Prikum 3 08.12.21 18:13 Сейчас в теме
Какие ошибки в журнале регистрации?
4. jimli 7 08.12.21 21:19 Сейчас в теме
Ура, процесс пошел, вижу ошибку

Команда Задача1Регламент: Ошибка выполнения:
Недостаточно фактических параметров
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2365)}: ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды);
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2464)}: ВыполнитьКомандуДополнительногоОтчетаИлиОбработки(
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(344)}: РезультатВыполнения = ВыполнитьКомандуВнешнегоОбъекта(ВнешнийОбъект, ИдентификаторКоманды, ПараметрыКоманды, АдресРезультата);
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2062)}: ВыполнитьКоманду(Новый Структура("ДополнительнаяОбработкаСсылка, ИдентификаторКоманды", ВнешняяОбработка, ИдентификаторКоманды), Неопределено);
5. jimli 7 09.12.21 12:44 Сейчас в теме
Все получилось, спасибо!
6. Olywer 02.07.24 06:08 Сейчас в теме
(5) Если вы помните, то не могли бы пожалуйста подсказать, как решили эту задачу? В частности возникала ли у вас ошибка "Ошибка при выполнении файловой операции" и если да, то как вы её решили? У ошибки идут следующие дополнения:
{Справочник.ДополнительныеОтчетыИОбработки.Форма.ФормаЭлемента.Форма(1009)}:ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(49)}:ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
{Справочник.ДополнительныеОтчетыИОбработки.Форма.ФормаЭлемента.Форма(1000)}:ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, ПараметрыОжидания);
{Справочник.ДополнительныеОтчетыИОбработки.Форма.ФормаЭлемента.Форма(453)}:ВыполнитьОбработкуОповещения(Обработчик, "ПродолжитьБезЗаписи");


Заранее спасибо за ответ
7. jimli 7 12.07.24 12:53 Сейчас в теме
(6) Была в отпуске. Копирую код из модуля обработки.
Функция СведенияОВнешнейОбработке() Экспорт                                    
	// Версия БСП берется из из 
	// ОбновлениеИнформационнойБазыБСП.ПриДобавленииПодсистемы
	ВерсияБСП = СтандартныеПодсистемыСервер.ВерсияБиблиотеки();
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(ВерсияБСП);	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.Версия = Метаданные().Комментарий;
	ПараметрыРегистрации.БезопасныйРежим = Истина;
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = НСтр("ru = 'Сохранить в файл'");
	НоваяКоманда.Идентификатор = "СохранитьВФайл";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	НоваяКоманда.ПоказыватьОповещение = Истина;
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

Процедура ВыполнитьКоманду(ИмяКоманды, ПараметрыВыполнения) Экспорт
//Процедура ВыполнитьКоманду(ВнешнийОбъект, ИдентификаторКоманды, ПараметрыКоманды, ПараметрыВыполнения) Экспорт
	
	// Диспетчеризация обработчиков команд.
	Если ИмяКоманды = "СохранитьВФайл" Тогда
		Команда_СохранитьВФайл(ПараметрыВыполнения);   
	иначе
		 ЗаписатьВЖурнал("Не найдена команда " + ИмяКоманды)
	КонецЕсли;
	
КонецПроцедуры

Процедура Команда_СохранитьВФайл(ПараметрыВыполнения) экспорт
	ПутьКФайлуВыгрузки = "c:\AvailableFolder\test.txt";   
	СохранитьВФайлТест(ПутьКФайлуВыгрузки);
КонецПроцедуры	

Функция СохранитьВФайлТест(ПутьКФайлуВыгрузки) Экспорт       
		Текст = Новый ЗаписьТекста(ПутьКФайлуВыгрузки, КодировкаТекста.UTF8);
		Текст.ЗаписатьСтроку("Hello world"));
		Текст.Закрыть();				
КонецФункции

Показать


Папка должна быть доступна для сервера 1С
Оставьте свое сообщение

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