Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
27 Июл 2017, 21:49
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Вопрос по формированию отчёта по средствам регламентного задания.  (Прочитано 831 раз)

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

Оффлайн mila1231

  • ***
  • Сообщений: 147
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-10
  • Сайт: 
  • Профессия: Ученик 1С
Нужно сохранять отчёт каждый день, каждое утро, в фоновом режиме. Как я думаю, это можно сделать по средствам регламентного задания.Непонятно следующее...
т.е как сформировать отчёт в общем модуле..
по сути сам отчёт формируется так
   
ТабДок = ЭлементыФормы.ТабДок;  
ТабДок =новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
   
ОбластьДанные = Макет.ПолучитьОбласть("Данные");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ЭлементыФормы.ТабДок.Вывести(ОбластьЗаголовок);

Запрос = Новый запрос;
Запрос.текст = "ВЫБРАТЬ
               | РеестрДвиженияПрибораСрезПоследних.Номер_прибора_регистр,
              .....................................................
               |ИЗ
               | РегистрСведений.РеестрДвиженияПрибора.СрезПоследних КАК РеестрДвиженияПрибораСрезПоследних
               |ГДЕ
               | РеестрДвиженияПрибораСрезПоследних.Дата_приёмки МЕЖДУ &Дата_от И &Дата_до
               | И РеестрДвиженияПрибораСрезПоследних.Контрагент_регистр = &контрагент
               |
               |УПОРЯДОЧИТЬ ПО
               | Статус_регистр"   ;
   
   
Запрос.УстановитьПараметр("Контрагент", Контрагент);     
Запрос.УстановитьПараметр("Дата_от", НачалоДня(Дата_от));     
Запрос.УстановитьПараметр("Дата_до", КонецДня(Дата_до));


ВыборкаДанные = Запрос.Выполнить().Выбрать();

Пока выборкаДанные.Следующий() цикл
ОбластьДанные.Параметры.Номер_прибора=  ВыборкаДанные.Номер_прибора_регистр;
................................

        ЭлементыФормы.ТабДок.вывести(ОбластьДанные);
КонецЦикла;

....................................
ЭлементыФормы.ТабДок.Вывести(ОбластьПодвал);
  ................... дальше отчёт сохраняется.

не поняно как заполнить столбцы макета и как установить начальные значения дат?

или может есть какая функция сформировать?? В общем кому не трудно подскажите.


Оффлайн LexaK

  • *****
  • Сообщений: 1251
  • РЕПУТАЦИЯ: 344
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
да вроде, ни чего сложного.
даты определяете от текущей,
каждый раз когда ваш отчет будет выполняться регламентным заданием текущая дата будет содержать, как это ни странно текущий день,
отнимая или прибавляя к которому нужное количество дней можно получить необходимый период
например вы хотите получать отчет за прошедшие 7 дней не включая текущий, тогда
Дата_от = ТекущаяДата() - 8 дней;
Дата_до = ТекущаяДата() - 1 дней;

после того как сформируете отчет, просто сохраните табличный документ в файл
команда Записать()
Цитировать
ТабличныйДокумент (SpreadsheetDocument)
Записать (Write)
Синтаксис:

Записать(<ИмяФайла>, <ТипФайлаТаблицы>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя файла, в котором сохраняется табличный документ.
<ТипФайлаТаблицы> (необязательный)

Тип: ТипФайлаТабличногоДокумента.
Формат, в котором будет сохранен табличный документ.
Значение по умолчанию: MXL.
Описание:

Записывает табличный документ в файл.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).

пример
ТабДок.Записать("C:\My Documents\Таблица2.mxl");
если прибавите к имени файла текущую дату, отчеты будут накапливаться за каждый день, в противном случае перезаписываться,
но это уже зависит от постановки задачи.

Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн mila1231

  • ***
  • Сообщений: 147
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-10
  • Сайт: 
  • Профессия: Ученик 1С
Т.е если я правильно поняла, то процедура в общем модуле должна выглядеть так??

Процедура СоздатьОтчет() экспорт

Дата_до= ТекущаяДата();
Дата_от = ТекущаяДата()-1;
ТабДок = Новый ТабличныйДокумент;
        Макет = Отчеты.Отчет_статус_прибора.ПолучитьМакет("Макет");
        ОбластьДанные = Макет.ПолучитьОбласть("Данные");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
//ТабДок.Вывести(ОбластьЗаголовок);
        Запрос = Новый запрос;
Запрос.текст = "ВЫБРАТЬ
               | РеестрДвиженияПрибораСрезПоследних.Номер_прибора_регистр,
               | РеестрДвиженияПрибораСрезПоследних.Тип_СИ_регистр,
......................
       |ГДЕ
               | РеестрДвиженияПрибораСрезПоследних.Дата_приёмки МЕЖДУ &Дата_от И &Дата_до
............................
   
Запрос.УстановитьПараметр("Дата_от", НачалоДня(Дата_от));     
Запрос.УстановитьПараметр("Дата_до", КонецДня(Дата_до));

   

ВыборкаДанные = Запрос.Выполнить().Выбрать();



Пока выборкаДанные.Следующий() цикл

ОбластьДанные.Параметры.Номер_прибора=  ВыборкаДанные.Номер_прибора_регистр;

         ...................................

        //ТабДок.вывести(ОбластьДанные);

КонецЦикла;

//ТабДок.Вывести(ОбластьПодвал);
ТабДок.Записать("C:\Таблица2.xls", ТипФайлаТабличногоДокумента.xls);
КонецПроцедуры


просто не работает(((

Оффлайн LexaK

  • *****
  • Сообщений: 1251
  • РЕПУТАЦИЯ: 344
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
немного не так, это неправильно, немного внимательнее читайте присылаемые вам ответы :befhbt:
Цитировать
    Дата_до= ТекущаяДата();
    Дата_от = ТекущаяДата()-1;

а зачем вы это закоментарили?
//ТабДок.вывести(ОбластьДанные);

вам сначала надо, как раз сформировать табличный документ, а потом его записать в файл!

самое простое поручите эту задачу программисту, ему это на 5 минут! :)
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн mila1231

  • ***
  • Сообщений: 147
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-10
  • Сайт: 
  • Профессия: Ученик 1С
если бы можно было бы поручить, был бы другой вопрос))
про день понятно 1день =24*60*60...
вопрос в том, что непонятно, как запустить, чтоб выполнялось в фоновом процессе, при том, что клиент обычное приложение.
Добавлено: 30 Май 2016, 12:35

Может, кто подскажет... вопрос в том правильно ли я всё делаю, если у меня бд встроенная, т.е файловая, а в общем модуле я ставлю галку сервер(и по умолчанию клиент(обычное приложение)), если сервер не ставишь, то в регламентированном задании не видно процедуры.. просто задание не выполняется, а причину я понять не могу.
Добавлено: 31 Май 2016, 06:42

возможно кому пригодится, в модуль обычного приложения просто надо было добавить ВыполнитьОбработкуЗаданий() и
ПодключитьОбработчикОжидания("СтартРеглЗадания",3) и в итоге всё работает.

Последний раз редактировалось: mila1231; 31 Май 2016, 06:42. Причина: Объединение сообщений


Теги:
 

Возможно ли получение эталонного файла конфигурации *.cf из измененной стандартной, например (УТ 11.1, БП 3.0) или вопрос о том как убрать лишние доработки и привести конфигурацию базы максимально к стандартной после варварских "доработок"?

Автор kostyaomskРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 7831
Последний ответ 30 Дек 2015, 22:14
от 1Cnastroika
Вопрос по РИБ "ПоОрганизации"

Автор andi_xРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 5403
Последний ответ 15 Мар 2013, 21:38
от Besart
Вопрос по "Отчеты о Розничных продажах".

Автор GerCerberРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 3106
Последний ответ 26 Июл 2010, 16:06
от crow1983
Вопрос о действии кнопки "Записать"

Автор jenya1111Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 2933
Последний ответ 06 Окт 2014, 15:23
от jenya1111
Вопрос по отчету "Материалы в эксплуатации".

Автор mitauskasРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 1973
Последний ответ 04 Мар 2015, 11:07
от Дмитрий@

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

alex0402
95 Сообщений
oleg-x
82 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
66 Сообщений
Golickoff Golickoff
51 Сообщений
AIFrame
46 Сообщений
ilyay ilyay
42 Сообщений
Амал
30 Сообщений
MuI_I_Ika MuI_I_Ika
27 Сообщений
LexaK
23 Сообщений
lansy
22 Сообщений

* Кто онлайн

  • Точка Гостей: 369
  • Точка Скрытых: 0
  • Точка Пользователей: 8
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal