| 
    
        
     
     | 
    
    
  | 
Как программно сформировать отчет. | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Wasp16    
     17.07.12 
            ✎
    09:31 
 | 
         
        Суть такова: 
  
        Необходимо сформировать отчет при запуске 1С. Делаю следующее: в общий модуль в процедуру ПриНачалеРаботыСистемы кидаю следующий код, но отчет открывается, но не формируется. Что делаю не так, подскажите пожалуйста: СписокПлатежек=Отчеты.СписокПлатежек.ПолучитьФорму("ФормаОтчета"); СписокПлатежек.Открыть(); СписокПлатежек.Обновить();  | 
|||
| 
    1
    
        Stim    
     17.07.12 
            ✎
    09:31 
 | 
         
        скд?     
         | 
|||
| 
    2
    
        Pro-tone    
     модератор 
    17.07.12 
            ✎
    09:37 
 | 
         
        Если скд, то программно надо задать настройки сперва, и обновить() тут лишнее     
         | 
|||
| 
    3
    
        Wasp16    
     17.07.12 
            ✎
    09:37 
 | 
         
        да, скд.
  
        а как задать настройки?  | 
|||
| 
    4
    
        Pro-tone    
     модератор 
    17.07.12 
            ✎
    09:38 
 | 
         
        и форму с параметрами не так получать надо, а просто через ПолучитьФорму() или ОткрытьФорму()     
         | 
|||
| 
    5
    
        Stim    
     17.07.12 
            ✎
    09:41 
 | 
         
        а зачем форму? выбирай компоновщик, задавай параметры, формируй и выводи в свой табличныйДокумент     
         | 
|||
| 
    6
    
        Stim    
     17.07.12 
            ✎
    09:42 
 | 
         
        форма - она нужна только для отчета     
         | 
|||
| 
    7
    
        Wasp16    
     17.07.12 
            ✎
    09:43 
 | 
         
        а что за компоновщик? я очень очень low level в 1с...
  
        простите за тупые вопросы  | 
|||
| 
    8
    
        Wasp16    
     17.07.12 
            ✎
    09:44 
 | 
         
        необходимо потом этот документ после всего сохранить в виде HTML документа     
         | 
|||
| 
    9
    
        Stim    
     17.07.12 
            ✎
    09:46 
 | 
         
        гугл тебе в руки     
         | 
|||
| 
    10
    
        AaNnDdRrEeYy    
     17.07.12 
            ✎
    09:47 
 | 
         
        //при начале работы системы
  
        Открытьформу("Отчеты.ТвойОтчет.Форма"); //в отчете при создании на сервере СкомпоноватьРезультат();  | 
|||
| 
    11
    
        AaNnDdRrEeYy    
     17.07.12 
            ✎
    09:47 
 | 
         
        ОтчетОбъект.<Имя отчета> (ReportObject.<Имя отчета>)
  
        СкомпоноватьРезультат (ComposeResult) Синтаксис: СкомпоноватьРезультат(<Результат>, <ИнформацияРасшифровки>) Параметры: <Результат> (обязательный) Тип: ТабличныйДокумент. Табличный документ, в который будет выводиться результат. <ИнформацияРасшифровки> (необязательный) Переменная, в которую будет записана информация расшифровки. Если не указано - расшифровка заполняться не будет. Описание: Выполняет компоновку. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Пользователь может при помощи комбинации клавиш Ctrl+Break прервать выполнение отчета. При этом будет вызвано исключение.  | 
|||
| 
    12
    
        Wasp16    
     17.07.12 
            ✎
    09:53 
 | 
         
        уже обгуглил все, найти похожий код не могу никак(((     
         | 
|||
| 
    13
    
        Wasp16    
     17.07.12 
            ✎
    10:13 
 | 
         
        Не могли бы вы на примере показать как это работает, не могу разобраться в синтаксисе     
         | 
|||
| 
    14
    
        Wasp16    
     17.07.12 
            ✎
    10:58 
 | 
         
        Я правильно понимаю: можно вызвать программно команду "сформировать" с настройками по умолчанию?
  
        Или же нужно задавать параметры, как в запросе ЗАПРОС ИЗ ?  | 
|||
| 
    15
    
        AaNnDdRrEeYy    
     17.07.12 
            ✎
    11:59 
 | 
         
        Что конкретно тут не понятно?
  
        Процедура ПриНачалеРаботыСистемы() ОткрытьФорму("Отчеты.ИмяТвоегоОтчета.Форма"); КонецПроцедуры //в модуле формы отчета &НаСервере Процедура ПриСозданиинаСервере() СкомпоноватьРезультат(); КонецПроцедуры  | 
|||
| 
    16
    
        Wasp16    
     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.Вывести(ЭлементыФормы.ПолеТабличногоДокумента); //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ВЫПОЛНИТЬ КонецПроцедуры  | 
|||
| 
    17
    
        Wasp16    
     17.07.12 
            ✎
    12:15 
 | 
         
        Большое Спасибо за помощь, друзья!     
         | 
|||
| 
    18
    
        AaNnDdRrEeYy    
     17.07.12 
            ✎
    12:38 
 | 
         
        (17)Построитель запроса это не разу не скд     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |