Имя: Пароль:
1C
1С v8
Непонятное поведение формы при ОбработкаЗаполнения() Экспорт
0 John83
 
20.12.12
09:57
В своем документе у процедуры ОбработкаЗаполнения поставил Экспорт.
Если эту процедуру вызвать из модуля формы нового документа, то в этой же форме кнопка отмены проведения становится доступной.
Это почему так?
УТ 10.3
1 Defender aka LINN
 
20.12.12
10:00
Нахрена ее делать экспортной?
2 pessok
 
20.12.12
10:00
(0) ПанельКнопки(Индекс).Доступность = Истина; //разрешил распроводить, хуле
3 John83
 
20.12.12
10:02
(2) а с чего разрешил-то?
кстати уже ПриОткрытии Доступность = Истина
4 John83
 
20.12.12
10:02
(1) ну вот захотелось мне так
5 pessok
 
20.12.12
10:03
(3) да кто тебя знает, зачем ты разрешил? я на расстоянии плохо телепатирую, не дальше своих бухов.
может быть код посмотрим?
6 John83
 
20.12.12
10:05
(5) какой код?
в ПриОткрытии пусто,
ОбработкаЗаполнения буквально что-то вроде
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения);
7 pessok
 
20.12.12
10:06
(6) есть еще ОбновлениеОтображения
8 Defender aka LINN
 
20.12.12
10:06
(4) Ну да. Написать Заполнить() это ж гораздо менее удобно, чем ОбработкаЗаполнения(), ага.
9 pessok
 
20.12.12
10:07
+(7) обработчики ожидания... да дофейхоа всего, что может менять доступность
10 John83
 
20.12.12
10:08
(7) из событий формы вызывал только ПриОткрытии да и то без кода
11 pessok
 
20.12.12
10:08
(10) где вызывал, что вызывал?
12 Undefined vs NULL
 
20.12.12
10:08
не надо ОбработкаЗаполнения делать public

идеологически в родительском классе это protected virtual метод, вот и пусть остается таким
13 pessok
 
20.12.12
10:09
(12) схуяли он виртуал?
14 pessok
 
20.12.12
10:10
(12) но да, экспортным его делать нинада)
15 Defender aka LINN
 
20.12.12
10:10
(12) Ты зачем аффтара такими сложными импортными словами пугаешь?
16 John83
 
20.12.12
10:11
хотя доперло...
при ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения);
ставит Проведен в положение Истина
17 John83
 
20.12.12
10:11
+16 это было в обработке заполнения
18 pessok
 
20.12.12
10:11
(16) ну уот видишь :)
19 John83
 
20.12.12
10:11
(18) угу :)
20 John83
 
20.12.12
10:12
(8) ну да, про это подзабыл
и на том спасибо
21 Undefined vs NULL
 
20.12.12
10:14
(13) а с того, что ты в своем классе фактически его переопределяешь override

А в базовом классе это могло быть так (если бы базовые имели исходный код)

Процедура Заполнить(Хрень)
...
 ОбработкаЗаполнения(Хрень);
...  
КонецПроцедуры

wiki:Шаблонный_метод_(шаблон_проектирования)
22 pessok
 
20.12.12
10:17
(21) хм, ну да. почему то я посмотрел на объектную модель не с самого верха. для для класса "документ" же имплементируем изначально, потом уже в наследниках переопределяем, точно
23 John83
 
20.12.12
10:21
(21) ну не буду... не буду я ставить Экспорт - уговорил