Имя: Пароль:
1C
1С v8
Обновление формы в управляемом приложении
0 mrzed12
 
05.03.14
12:54
На форме есть реквизит ДокументОснование,
я программно значение этого реквизита меняю:

Объект.ДокументОснование = НовыйДокументОснование;

Но если для непроведенного документа, то на форме значение удивительно изменяется (отображается новое значение), а в проведенных документах - без изменений. Хотя на самом деле значение, если смотреть в отладчике, установлено в новое.

Как обновить значение реквизита формы?

ОбновитьОтображениеДанных();

не помогает..
1 Добрый хачик
 
05.03.14
12:58
покажи код
2 mrzed12
 
05.03.14
13:00
да собственно, ничего нового:

&НаКлиенте
Процедура кнИзменитьДокументОснование(Команда)
    Если
        ЗначениеЗаполнено(Объект.ДокументОснование)
    И    Вопрос("Уже выбран документ-основание,"+Символы.ПС+"Хотите указать другой документ-основание?", РежимДиалогаВопрос.ОкОтмена)<>КодВозвратаДиалога.ОК
    Тогда
        Возврат;
    КонецЕсли;
    
    ФормаСписка = ПолучитьФорму("Документ.ЗаказКлиента.Форма.ФормаВыбора");
    
    Отбор = ФормаСписка.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Партнер");
    Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    Отбор.ПравоеЗначение = Объект.Партнер;
    Отбор.Использование = Истина;
    
    
    ФормаСписка.ВладелецФормы = ЭтаФорма;
    НовыйДокументОснование = ФормаСписка.ОткрытьМодально();
    Если НовыйДокументОснование<>Неопределено Тогда
        Объект.ДокументОснование = НовыйДокументОснование;
    КонецЕсли;
    ОбновитьОтображениеДанных();
КонецПроцедуры
3 mrzed12
 
05.03.14
13:19
ЭтаФорма.ОбновитьОтображениеДанных();
тоже не помогает.. (
4 sf
 
05.03.14
13:30
(3) а без  ОбновитьОтображениеДанных?
реквизит-то на клиенте меняется
5 mrzed12
 
05.03.14
13:35
ЭтаФорма.ОтобразитьИзменениеДанных(Объект.ДокументОснование.Ссылка,ВидИзмененияДанных.Изменение);

тоже не помогает.. (
6 mrzed12
 
05.03.14
13:37
(4), в том то и дело, что без ОбновитьОтображениеДанных так же ничего не происходит.

По отладчику - значение меняется. Если док непроведен - изменения видны. Если проведен - не видны.
7 mrzed12
 
05.03.14
14:12
Нда!! В итоге оказалось, что реквизит был просто невидим. В общем, я сделал вот так в конце процедуры:

ЭтаФорма.Элементы.ДокументОснование.Видимость = Истина;

А у непроведенных документов он был видимым, но незаполненным ))

Спасибо
2 + 2 = 3.9999999999999999999999999999999...