Имя: Пароль:
1C
1C 7.7
v7: Не присваивается дата в поле выбора формы при открытии
0 snegovik
 
27.08.12
07:11
Что-то фигня какая-то, на форме внешней обработки имеются поля  НачПериода и КонПериода. Пытаюсь присвоить им значения дат при открытии, в конце модуля добавляю:

НачПериода = Дата(2010, 01, 01);
КонПериода = Дата(2012, 07, 31);
Сообщить(НачПериода);
Сообщить(КонПериода);

Всё сообщается, а вот сами поля остаются пустыми. Вручную дату выбрать можно. Голову сломал, вроде всё элементарно, но где копать? На аналогичном отчете всё проставляется.
1 Wobland
 
27.08.12
07:12
на восьмёрке я б смотрел связь полей с данными
2 miki
 
27.08.12
07:14
Потому что переменные в модуле назаводил с именами, как у реквизитов формы (полей)
3 snegovik
 
27.08.12
07:21
(2) Точно! А почему это влияет?
4 miki
 
27.08.12
07:29
Идешь ты по корридору в каб. № 207. Подходишь, а там две двери с № 207. Куда идти?
Хоть область видимости одинаковая, но в сабже побеждает всегда переменная, объявленная в модуле. Почему - не знаю.
5 snegovik
 
27.08.12
07:36
(4) Ясно) Думал, побеждает та, которой в последнюю очередь присвоили значение.
6 Mikeware
 
27.08.12
07:38
(5) а кому "в последню очередь присвоили значение", если для того, чтобы присвоить значение - нужно определить, кому из объектов с одинаковыми именами присваивать?
7 PuhUfa
 
27.08.12
07:38
(5) -))
Есть элемент формы НачПериода
есть
Перем НачПериода
и код:
НачПериода = Дата(2010, 01, 01);

Вопрос: какой переменной я присвоил значение? Той которая на форме или той которая объявлена в коде? -)
8 ДенисЧ
 
27.08.12
07:45
(5) Вот она и побеждает...
9 Мимохожий Однако
 
27.08.12
07:46
Удали Перем НачПериода
10 miki
 
27.08.12
07:49
(5)В общем случае рулит наиболее конкретный идентификатор (с самой локальной областью видимости).
Например, когда ты говоришь таксисту №207, он подвезет тебя к дому с таким номером, лифтер поймет, что речь идет об этаже, портье на этаже подумает, что ты имеешь ввиду № апартаментов.
А когда один идентификатор имеют несколько объектов с одной областью видимости возникает неопределенность, надо добавлять какое-нить доп. правило. Например, валидный - тот, что слева. Для сабжа - в приоритете переменные модуля.
11 snegovik
 
27.08.12
08:08
Всем спасибо и за конкретный совет, и за общее повышение квалификации:-)