Имя: Пароль:
1C
1С v8
Разработка сложных отчетов. Хрусталева
0 asn2023
 
19.07.23
08:39
Пытаюсь подступиться к 1С со стороны конфы.
Читаю Разработку сложных отчетов Хрусталевой.
В модуле формы пишу, чтобы отчет открывался при открытии, но код игнорируется.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Параметры.СформироватьПриОткрытии = Истина;
КонецПроцедуры

Что может быть не так? Все вроде по буквам проверила.. Типовой пример работает, а мой - нет.
1 ДНН
 
19.07.23
08:49
(0)
ПараметрыОткрытия = Новый Структура("СформироватьПриОткрытии", Истина);
ОткрытьФорму("Отчет.ТвойОтчет.ФормаОтчета", ПараметрыОткрытия);
2 RomanYS
 
19.07.23
08:52
(0) у формы в обработчиках указана данная процедура?
3 DrZombi
 
19.07.23
09:05
(0) Ужас... Пользуйся БСП, там формы не надо. :)
4 DrZombi
 
19.07.23
09:11
+ (0) Если все же отчет открылся формой "БСП" https://infostart.ru/video/w518846/

https://its.1c.ru/db/bsp318doc#content:2221:1:issogl2_список_дополнительные_отчеты_и_обработки

https://its.1c.ru/db/bsp317doc#content:2175:1:issogl1_роли_для_работы_с_дополнительными_обработками_и_отчетами


В обработке, модуле, должны присутствовать:
(Подробнее смотри в код БСП :))

Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
    
    Настройки.ФормироватьСразу = Ложь;
    Настройки.События.ПередЗагрузкойНастроекВКомпоновщик = Истина;
    Настройки.События.ПриСозданииНаСервере = Истина;
    Настройки.События.ПриОпределенииИспользуемыхТаблиц = Истина;
    
КонецПроцедуры

// См. ОтчетыПереопределяемый.ПриСозданииНаСервере
Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
    
    Если ЗначениеЗаполнено(Форма.НастройкиОтчета.ВариантСсылка) Тогда
        Форма.НастройкиОтчета.Наименование = Форма.НастройкиОтчета.ВариантСсылка;
    КонецЕсли;
    
КонецПроцедуры
5 DrZombi
 
19.07.23
09:22
+(0) Список параметров более обширен, так же и список процедур.
      Я все не описал, так что выуськивайте самостоятельно в общих модулях БСП.



Настройки.ФормироватьСразу = Ложь;
    Настройки.События.ПередЗагрузкойНастроекВКомпоновщик = Истина;
    Настройки.События.ПриСозданииНаСервере = Истина;
    Настройки.События.ПриОпределенииИспользуемыхТаблиц = Истина;
6 Мультук
 
19.07.23
09:30
(0)


P.S.

Т.е. запросы вы выучили?
В "чистом СКД" -- где есть только сам отчёт и компоновка данных вы уже уверенно плаваете?
Чтение и понимание (например) вот этой статьи уверенное ?
https://infostart.ru/1c/articles/1101676/


Имхо (надеюсь я ошибаюсь), вы взялись за рюшечки, которые будут актуальны "несколько позже", если вообще будут актуальны.

P.P.S.
Ищем по слову СКД или регаемся качаем архив.

https://курсы-по-1с.рф/free/
https://fs.kursypo1c.ru/free/1Cv8-Platform/1CDev-SystemOfDataComposition.rar
7 asn2023
 
19.07.23
14:49
(2)
Спасибо!
При копировании из листинга программа не поняла, что это за процедура.
Выбрала процедуру из списка, все заработало.
8 RomanYS
 
19.07.23
15:01
(7) ага, привязка событий:
либо явная - выбором обработчиков в свойствах формы,
либо неявная - при выборе предопределенной процедуры из списка процедур.
Простой копипаст идёт мимо обоих вариантов.
9 Donkey_hot
 
19.07.23
15:02
(7) Пишите код ручками. Копипаста на данном этапе - зло.
10 RomanYS
 
19.07.23
15:15
(9) в данном конкретном случае "руками" бы получил ту же ошибку
11 Donkey_hot
 
19.07.23
15:18
(10) Цитата из книги: "Для реализации этих возможностей создадим основную форму отчета ОтчетПоСистемнымБлокам. Создадим обработчик события формы ПриСозданииНаСервере и заполним его следующим образом (листинг 2.8)."

"Создадим и заполним обработчик", а не "Напишем в модуле формы код", в этом основная разница)
12 RomanYS
 
19.07.23
15:21
(11) разницу нужно понимать)), а сам как раз предлагаешь "пишите код ручками"
13 Donkey_hot
 
19.07.23
15:23
(12) В данном конкретном примере не так важно, но там дальше будут примеры с полностью программным исполнением отчета, вот их конечно лучше бы переписать, простая копипаста этого куска будет менее ценна в педагогическом смысле (ИМХО)