0
- 14.03.2016 - 10:44
|
Добрый день. У меня по расписанию должен формироваться отчет, любой типовой. По расписанию делаю так: Отчет=Отчеты[ИмяОтчета].Создать(); ЗаписьЖурналаРегистрации("Формирование отчетов", УровеньЖурналаРегистрации.Примечание, , ,Отчет); Попытка Отчет.ВосстановитьНастройкиИзСтруктуры(Настройка); Исключение ЗаписьЖурналаРегистрации("Формирование отчетов", УровеньЖурналаРегистрации.Ошибка, , ,ОписаниеОшибки()); КонецПопытки; Первая запись в журнале говорит: ОтчетОбъект.ВедомостьТоварыНаСкладах Вторая запись с ошибкой: Метод объекта не обнаружен (ВосстановитьНастройкиИзСтруктуры) При этом в типовых отчетах присутствует экспортная функция ВосстановитьНастройкиИзСтруктуры. Почему же ее не видно? Если же выполнять вышеописанные строки под любым пользователем, то все проходит на ура. | |
1
- 14.03.2016 - 11:21
| (0) ну а под кем эти строки выполняются? | |
2
- 14.03.2016 - 12:24
| Регламентные задания от имени администратора | |
3
- 14.03.2016 - 13:07
| в модуле сеанса, может быть не виден этот метод | |
4
- 14.03.2016 - 13:25
|
В отчете в модуле объекта этот метод есть. Делаю свой отчет, в него вставляю такой же метод. Мой отчет проходит нормально без ошибок, типовой ругается что нет такого метода. Единственное отличие, в типовых отчетах это функция а в самописке - процедура. Но думаю в данном случае это не принципиально. Так же отличается код самого метода, в типовухе это всего одна строка: Возврат УниверсальныйОтчет.ВосстановитьНастройкиИзСтруктур ы(СтруктураСНастройками, ЭтотОбъект); У меня же это команды для восстановления настроек Компоновщика настроек. | |
5
- 14.03.2016 - 14:10
| ЗаписьЖурналаРегистрации("Формирование отчетов", УровеньЖурналаРегистрации.Ошибка, , ,ТипЗнч(Отчет)); | |
6
- 14.03.2016 - 14:35
|
(5) Отчет объект: Ведомость по товарам на складах и следом: {Обработка.АвтоматическоеФормированиеОтчетов.Модул ьОбъекта(59)**: Метод объекта не обнаружен (ВосстановитьНастройкиИзСтруктуры) Где 59 строка= Отчет.ВосстановитьНастройкиИзСтруктуры(Настройка); | |
7
- 14.03.2016 - 14:44
|
Вообще пойду по порядку с самого начала, может кто увидит какую ошибку в моей "писанине" 1 - Создал регламентное задание, имя метода "МойМодуль.ФормированиеОтчетов" 2 - в общем модуле "МойМодуль" (Сервер, Внешне соединение, Клиент обычно приложение, Вызов сервера): Процедура ФормированиеОтчетов() Экспорт //Запуск каждые 10 минут Время=Формат(ТекущаяДата(),"ДФ=ЧЧ:мм"); Обработки.АвтоматическоеФормированиеОтчетов.Создат ь().СформироватьОтчеты(,Время); КонецПроцедуры 3 - И наконец обработка АвтоматическоеФормированиеОтчетов. В этой обработке в в процедуре СформироватьОтчеты, сначала запросом вытаскиваю все сохраненные настройки пользователей, которые необходимо сформировать по расписанию в назначенное время. Ну а далее: Отчет=Отчеты[ИмяОтчета].Создать(); Отчет.ВосстановитьНастройкиИзСтруктуры(Настройка); - тут и выскакивает ошибка что метод ВосстановитьНастройкиИзСтруктуры не найден. | |
8
- 14.03.2016 - 14:47
|
При этом, если создать внешнюю обработку, на форму кидаем поле ввода "Время", по кнопке Выполнить вполняем: Обработки.АвтоматическоеФормированиеОтчетов.Создат ь().СформироватьОтчеты(,Время); То в этом случае все выполняется нормально, ни на какие отсутствующие методы не ругается. | |
9
- 14.03.2016 - 15:17
|
Разобрался. Среди прочего я не заметили самого главного. В типовом отчете весь модуль взят в директиву: #Если Клиент Вот тут как раз и размещается нужная мне функция #Тогда Блин, убил пол дня из за невнимательности. Всем спасибо за участие. Буду типовые отчеты ломать. | |
10
- 14.03.2016 - 15:35
| очочередной революционер с украины? сначала все сломаем, затем построим заново и будет секс-вечеринка? | |
11
- 14.03.2016 - 15:37
|
Ну что то вроде этого. Хотя все отчеты ломать то не обязательно, нужно лишь "прорубить окно" в универсальном отчете. | |
| Интернет-форум Краснодарского края и Краснодара |