Вход | Регистрация

1С:Предприятие ::

Метки:

v8: Как программно сформировать отчет.

Я
   Wasp16
 
17.07.12 - 09:31
Суть такова:
Необходимо сформировать отчет при запуске 1С.
Делаю следующее: в общий модуль в процедуру ПриНачалеРаботыСистемы кидаю следующий код, но отчет открывается, но не формируется. Что делаю не так, подскажите пожалуйста:

        СписокПлатежек=Отчеты.СписокПлатежек.ПолучитьФорму("ФормаОтчета");
    СписокПлатежек.Открыть();
    СписокПлатежек.Обновить();
 
 
   Stim
 
1 - 17.07.12 - 09:31
скд?
   Pro-tone
 
Модератор
2 - 17.07.12 - 09:37
Если скд, то программно надо задать настройки сперва, и обновить() тут лишнее
   Wasp16
 
3 - 17.07.12 - 09:37
да, скд.
а как задать настройки?
   Pro-tone
 
Модератор
4 - 17.07.12 - 09:38
и форму с параметрами не так получать надо, а просто через ПолучитьФорму() или ОткрытьФорму()
   Stim
 
5 - 17.07.12 - 09:41
а зачем форму? выбирай компоновщик, задавай параметры, формируй и выводи в свой табличныйДокумент
   Stim
 
6 - 17.07.12 - 09:42
форма - она нужна только для отчета
   Wasp16
 
7 - 17.07.12 - 09:43
а что за компоновщик? я очень очень low level в 1с...
простите за тупые вопросы
   Wasp16
 
8 - 17.07.12 - 09:44
необходимо потом этот документ после всего сохранить в виде HTML документа
   Stim
 
9 - 17.07.12 - 09:46
гугл тебе в руки
   AaNnDdRrEeYy
 
10 - 17.07.12 - 09:47
//при начале работы системы
 
Открытьформу("Отчеты.ТвойОтчет.Форма");

//в отчете при создании на сервере
 
СкомпоноватьРезультат();
 
 
   AaNnDdRrEeYy
 
11 - 17.07.12 - 09:47
ОтчетОбъект.<Имя отчета> (ReportObject.<Имя отчета>)
СкомпоноватьРезультат (ComposeResult)
Синтаксис:

СкомпоноватьРезультат(<Результат>, <ИнформацияРасшифровки>)
Параметры:
<Результат> (обязательный)

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

Переменная, в которую будет записана информация расшифровки.
Если не указано - расшифровка заполняться не будет.
Описание:

Выполняет компоновку.

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

Сервер, толстый клиент, внешнее соединение.
Примечание:

Пользователь может при помощи комбинации клавиш Ctrl+Break прервать выполнение отчета. При этом будет вызвано исключение.
   Wasp16
 
12 - 17.07.12 - 09:53
уже обгуглил все, найти похожий код не могу никак(((
   Wasp16
 
13 - 17.07.12 - 10:13
Не могли бы вы на примере показать как это работает, не могу разобраться в синтаксисе
   Wasp16
 
14 - 17.07.12 - 10:58
Я правильно понимаю: можно вызвать программно команду "сформировать" с настройками по умолчанию?
Или же нужно задавать параметры, как в запросе ЗАПРОС ИЗ ?
   AaNnDdRrEeYy
 
15 - 17.07.12 - 11:59
Что конкретно тут не понятно?
Процедура ПриНачалеРаботыСистемы()
  ОткрытьФорму("Отчеты.ИмяТвоегоОтчета.Форма");
КонецПроцедуры

//в модуле формы отчета
 
&НаСервере
Процедура ПриСозданиинаСервере()
  СкомпоноватьРезультат();
КонецПроцедуры
   Wasp16
 
16 - 17.07.12 - 12:14
разобрался сам, при инициализации необходимо довнести процедуру формирования отчета.
Причем данная тема не работает под СКД, а только через конструктор запросов.

Процедура Отчет1Инициализация()
    //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ИНИЦИАЛИЗАЦИЯ(Отчет1)
 
    // Данный фрагмент построен конструктором.
 
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
 

    ПостроительОтчетаОтчет1.Текст =
    "ВЫБРАТЬ
    |    ПлатежноеПоручение.Номер,
    |    ПлатежноеПоручение.Дата КАК Дата,
    |    ПлатежноеПоручение.Организация,
    |    ПлатежноеПоручение.Контрагент,
    |    ПлатежноеПоручение.СуммаДокумента,
    |    ПлатежноеПоручение.ИННПолучателя
    |ИЗ
    |    Документ.ПлатежноеПоручение КАК ПлатежноеПоручение
    |
    |УПОРЯДОЧИТЬ ПО
    |    Дата";
    ПостроительОтчетаОтчет1.ЗаполнитьНастройки();
    ПостроительОтчетаОтчет1.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;
    ПостроительОтчетаОтчет1.ТекстЗаголовка = "Платежные поручения";
    Настройка = ВосстановитьЗначение("НастройкаОтчетыСписокПлатежекОтчет1_64944573-045d-46b2-ba5d-0d2b1b51e8a1");
    Если Настройка <> Неопределено Тогда
        ПостроительОтчетаОтчет1.УстановитьНастройки(Настройка);
    КонецЕсли;

    
    Отчет1Вывести();
    
    
    //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ИНИЦИАЛИЗАЦИЯ
 
КонецПроцедуры


Процедура Отчет1Вывести()
    //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ВЫПОЛНИТЬ(Отчет1)
 
    // Данный фрагмент построен конструктором.
 
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
 

    ЭлементыФормы.ПолеТабличногоДокумента.Очистить();

    ПостроительОтчетаОтчет1.Выполнить();
    ПостроительОтчетаОтчет1.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;
    ПостроительОтчетаОтчет1.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
    ПостроительОтчетаОтчет1.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
    ПостроительОтчетаОтчет1.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);
    ПостроительОтчетаОтчет1.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);

    //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ВЫПОЛНИТЬ
 
КонецПроцедуры
   Wasp16
 
17 - 17.07.12 - 12:15
Большое Спасибо за помощь, друзья!
18
   AaNnDdRrEeYy
 
18 - 17.07.12 - 12:38
(17)Построитель запроса это не разу не скд

 
Список тем форума

 
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.