Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 20:39

Отправка отчетов на почту

Автор Middle, 23 янв 2024, 14:04

0 Пользователей и 1 гость просматривают эту тему.

Middle

Добрый день всем.
Сделал я регламентом автоматическое формирования Заказов поставщику ночью.
Подскажите, нужна процедура (может есть стандартная, которую допишу):
Добавить в данный код, чтобы после создания Заказов, сохранял в ексель в папку на сервере:
Процедура ПриОткрытии()

СформироватьЗаказыПоставщикамНажатие();
ЗавершитьРаботуСистемы(Ложь);

КонецПроцедуры

Процедура СформироватьЗаказыПоставщикамНажатие()

ДатаЗапускаМеханизмаПланирования =  ТекущаяДата();
ТМС_Модуль.СформироватьЗаказыПоставщикам(Истина);
ВремяВСекундахВыполненияПланирования = ТекущаяДата() - ДатаЗапускаМеханизмаПланирования;
СтрокаВремяВыполнения = ТМС_Модуль.ЧасыМинутыСтр(ВремяВСекундахВыполненияПланирования);
Предупреждение("Общее время, затраченное на планирование "+СтрокаВремяВыполнения);

КонецПроцедуры

Процедура СформироватьСП()


КонецПроцедуры



Middle

Забыл указать что нужно сохранять в ексель ПечатнуюФорму данных документов

LexaK

Middle, доработайте эту процедуру
ТМС_Модуль.СформироватьЗаказыПоставщикам(Истина);
пусть она возвращает вам список ссылок созданных Заказов
а затем обходите этот список, по ссылке создаете нужную ПечатнуФорму, это тип Табличныйдокумент и он отлично сохраняется в файл Ексель
при сохранении указываете нужный каталог.
если помогло нажмите: Спасибо!

Middle

Цитата: LexaK от 23 янв 2024, 14:37Middle, доработайте эту процедуру
ТМС_Модуль.СформироватьЗаказыПоставщикам(Истина);
пусть она возвращает вам список ссылок созданных Заказов
а затем обходите этот список, по ссылке создаете нужную ПечатнуФорму, это тип Табличныйдокумент и он отлично сохраняется в файл Ексель
при сохранении указываете нужный каталог.
У меня есть процедура, которая формирует отчет и + к ней процедура которая сохраняет:
Функция СоздатьОтчет(ТекстПисьма)
    Таб = Новый ТабличныйДокумент;
    Попытка       
        //Получаем схему из макета
        СхемаКомпоновкиДанных = Отчеты.ТМС_ЭкспортЗаказовПоставщикуВExcelИОтправкаНаПочту.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");   
        //Из схемы возьмем настройки по умолчанию
        Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
        //Настроим период
        НачальнаяДата = Настройки.ПараметрыДанных.Элементы.Найти("НачальнаяДата");
        НачальнаяДата.Значение = НачалоДня(ТекущаяДата())-60*60*16;
        КонечнаяДата = Настройки.ПараметрыДанных.Элементы.Найти("КонечнаяДата");
        КонечнаяДата.Значение = НачалоДня(ТекущаяДата())+60*60*8;
       
        //Помещаем в переменную данные о расшифровке данных
        Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;   
        //Формируем макет, с помощью компоновщика макета
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;   
        //Передаем в макет компоновки схему, настройки и данные расшифровки
        МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, Расшифровка);   
        ВнешниеПараметры = Новый Структура;   
        //Выполним компоновку с помощью процессора компоновки
        ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры, Расшифровка);   
        //Выводим результат в табличный документ
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(Таб);   
        ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);   
        Возврат Таб;
       
    Исключение
        ТекстПисьма = ТекстПисьма + "Ошибка при создании отчета! " + ОписаниеОшибки() + Символы.ПС;
        Возврат Таб;
    КонецПопытки;
КонецФункции
Может проще ее дописать? Только не знаю как в ней прописать формирование ПечФорм ЗаказПоставщику

LexaK

Middle, Отчет и Печатная форма это две большие разницы
отчет у вас делается за период - месяц, год
заказы мы можете делать несколько раз на дню - те. нужен список созданных заказов
или один раз в конце дня получать все заказы за этот день и по ним формировать печатные формы.
печатная форма создается командой Печать(...) которой в параметры передается Ссылка на документ и ИмяПечатнойФормы и др.параметры
зависит от того какая вам нужна пф, бывают встроенные и внешние обработки пф
команда Печать возвращает вам ТабличныйДокумент, который вы и сохраняете в нужном виде и в нужном месте.
(что-то я уже начинаю повторяться)
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск