Обработка нужна, если хотите бесконтактно отправлять отчеты сотрудникам на почту, либо сохранять в сетевые папки. Данный вариант представлен для сохранения в папке.
Создается регламентное задание, прописываем процедуру в общем модуле, настраиваем расписание.
Код обработки
Процедура ОтправитьОтчет()Экспорт
Таб = Новый ТабличныйДокумент;
Отчет = Справочники.ВнешниеОбработки.НайтиПоКоду("000000590"); //КассоваяКнига
мИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = Отчет.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(мИмяФайла);
ВнешнийОтчет = ВнешниеОтчеты.Создать(мИмяФайла);
СхемаКомпоновкиДанных = ВнешнийОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.ВариантыНастроек[0].Настройки);
Настройки = КомпоновщикНастроек.Настройки;
мПериод = Новый СтандартныйПериод;
мПериод.ДатаНачала = НачалоДня(ТекущаяДата()-86400);
мПериод.ДатаОкончания = КонецДня(ТекущаяДата()-86400);
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ПериодОтчета", мПериод);
МассивСчетов = Новый Массив;
МассивСчетов.Добавить(ПланыСчетов.Хозрасчетный.КассаОрганизации);
МассивСчетов.Добавить(ПланыСчетов.Хозрасчетный.КассаОрганизацииВал);
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Счет", МассивСчетов);
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Организация", М_ОбщийМартин.ОрганизацияМартин());
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Таб);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
ИмяФайла = ПолучитьИмяВременногоФайла("XLS");
Таб.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLS);
//Отправим в папку
Настройки = М_ПривилегированныйРежим.ПолучитьНастройкиИзХранилища("ПапкаДляРоботаСбера"); // Для всей структуры
Папка = М_ПривилегированныйРежим.ПолучитьНастройкиИзХранилища("ПапкаДляРоботаСбера","Папка"); // Для конкретной настройки
КопироватьФайл(ИмяФайла, Папка + "\КассоваяКнига.xls");
УдалитьФайлы(мИмяФайла);
УдалитьФайлы(ИмяФайла);
КонецПроцедуры
Проверено на следующих конфигурациях и релизах:
- Управление производственным предприятием, редакция 1.3, релизы 1.3.242.1