Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Заполнение реквизита внешнего отчета (http://forums.kuban.ru/f1040/zapolnenie_rekvizita_vneshnego_otcheta-9156795.html)

sasha_grey 30.04.2021 12:07

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

user1C 30.04.2021 12:19

реквизиты формы доступны в модуле формы напрямую
ДатаЗаполнения = ТекущаяДата()

sasha_grey 30.04.2021 12:28

[quote=user1C;48307053]реквизиты формы доступны в модуле формы напрямую[/quote]
По логике оно вроде так, но при открытии формы отчета реквизит остается пустой :( Может это надо писать в другой процедуре, не в ПриСозданииНаСервере() (в модуле формы)? А ПриОткрытии() как в 7.7 не сработает?

user1C 30.04.2021 12:38

(2)
вероятно его что-то делает пустым... в приоткрытии тоже можно, оно отрабатывает уже после присозданиинасервере

Uho 30.04.2021 12:53

вангую, в свойствах формы нет обработчика
события ПриСозданииНаСервере

user1C 30.04.2021 13:01

(4)+
это совсем печальный вариант))

sasha_grey 11.05.2021 06:38

[quote=user1C;48307078]вероятно его что-то делает пустым... в приоткрытии тоже можно, оно отрабатывает уже после присозданиинасервере[/quote]
ПриОткрытии() - то же результат, поле ввода пустое. А что его может делать пустым? Я нигде в коде не присваиваю значение этому реквизиту формы...

specx 11.05.2021 09:47

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Отчет.ДатаЗаполнения=ТекущаяДата();

КонецПроцедуры


и как правильно заметили , у события формы ( ПриСозданииНаСервере - так называется событие ) чтобы была прописана эта процедура.

могу прислать работающий отчет :)

sasha_grey 11.05.2021 10:38

7-СпецХ > Огромное спасибо за помощь! И вам, и всем кто отвечал! Ура, получилось! Проблема была в том, что я просто руками прописывала процедуру ПриСозданииНаСервере в модуле формы, а надо было это делать через свойства формы -> События, хотя по итогу код такой же в модуле формы, но все работает теперь.

sasha_grey 21.05.2021 08:38

[quote=Грей Сашенька;48320381]а надо было это делать через свойства формы [/quote]
Ибо "Важным моментом здесь является то, что имена этих процедур не фиксированы, они могут иметь произвольные имена. Поэтому недостаточно, например, написать в модуле определения процедур с именами ПриСозданииНаСервере или ПриОткрытии. Кроме этого, их обязательно нужно связать в конфигураторе с соответствующими событиями формы"
Век живи - век учись! :-)

Uho 21.05.2021 12:31

5-user1C > А ты говорил...


Текущее время: 18:21. Часовой пояс GMT +3.