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