Имя: Пароль:
1C
1С v8
Не изменяются данные на форме при изменении из обработчика изменения данных
0 DirecTwiX
 
11.07.14
13:13
На форме есть поле ввода, в данных которого указан реквизит обработки "Маска".

Далее примерно так:


Процедура ПриОткрытии()
  ПодключитьОбработчикИзмененияДанных("Контрагент", "ИзменилисьПараметрыОтбора");
КонецПроцедуры

Процедура ИзменилисьПараметрыОтбора(Реквизит)
  Маска = "Тест";
КонецПроцедуры


Так при изменении контрагента "Маска" меняется, но на форме изменения не отображаются. Почему? Как исправить? Пробовал отключать обработчик в начале процедуры ИзменилисьПараметрыОтбора.
1 Maxus43
 
11.07.14
13:15
это реквизит? на офрме он точно выведен?)
2 DirecTwiX
 
11.07.14
13:16
Точно
3 DirecTwiX
 
11.07.14
13:18
Например, если в ПриОткрытии написать:

Процедура ПриОткрытии()
  ПодключитьОбработчикИзмененияДанных("Контрагент", "ИзменилисьПараметрыОтбора");
  Маска = "Тест2";
КонецПроцедуры

То значение на форме измениться.

Формы обычные кстати.
4 Maxus43
 
11.07.14
13:22
попробуй ЭтаФорма.Обновить();
5 DirecTwiX
 
11.07.14
13:28
(4) Пробовал, не работает. А вот так работает...

Процедура КонтрагентПриИзменении(Элемент)
    Маска = Маска;
    //ЭтаФорма.Обновить();
КонецПроцедуры

Но это не дело..
6 Maxus43
 
11.07.14
13:39
чото ересь какая-то. точно буквы без англицких?
7 Kalambur
 
11.07.14
13:42
(6) да накосячил он где нибудь 100%
8 Maxus43
 
11.07.14
13:43
9 DirecTwiX
 
11.07.14
14:09
(6) Точно
10 DirecTwiX
 
11.07.14
14:16
(10) Вот обработки из 10 строк с двумя реквизитами.
https://www.dropbox.com/s/g5zl6s24sorwj31/ВнешняяОбработка1.epf
11 ChiginAV
 
11.07.14
14:26
(0) Пиши ЭлементыФормы.Маска.Значение = "Тест"
Реквизит изменится тоже
12 Maxus43
 
11.07.14
14:37
да, вижу. И это странно...
13 ChiginAV
 
11.07.14
14:42
(12) ЕМНИП, если реквизит и его поле ввода назвать по-разному, то при изменении реквизита, поле ввода тоже обновится
14 Maxus43
 
11.07.14
14:55
(13) не кактит( хрень какая-то, сдаётся мне что это во внешней обработке так. в документе-справочнике - ну должно работать...)
15 DirecTwiX
 
11.07.14
16:04
(13) Так работает, но использовать страшно :)
Интересно, почему даже Обновить() не спасает..
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший