|
Управляемая форма. отображение элементов | ☑ | ||
---|---|---|---|---|
0
jenny_tea
22.11.11
✎
15:35
|
есть внешняя обработка. на ней в форме два элемента:
Стр: тип строка Спр: тип СправочникСсылка.ххх (Представление справочника через наименование) Есть кнопка "сменить наименование" &НаКлиенте Процедура СоздатьОбновитьНаименование(Команда) ЭтаФорма.Спр = ОбновитьНаименованиеНаСервере(Спр,Стр); //пробовала и просто Спр = ... КонецПроцедуры &НаСервере Функция ОбновитьНаименованиеНаСервере(ТекСпр,ТекСтр) СпрОбъект = ТекСпр.ПолучитьОбъект(); СпрОбъект.Наименование = ТекСтр; Попытка СпрОбъект.Записать(); Исключение КонецПопытки; Возврат СпрОбъект.Ссылка; КонецФункции На форме обработки отображение элемента справочника остается старым. Если зайти внутрь справочника то там все поменялось, если попытаться выбрать данный элемент из справочника то тоже новое отображение и выдает на форме после этого новый. Но если не выбирать, а оставить старое отображение. то даже при переоткрытии формы отображение остается прежним. |
|||
1
Mort
22.11.11
✎
15:46
|
Если закрыть глаза на остальной ужас, то должно помочь
ОбновитьОтображениеДанных() |
|||
2
jenny_tea
22.11.11
✎
15:54
|
(1) не помогает. Я конечно утрированный пример написала, но суть передает абсолютно правильно. проверено на нескольких справочниках
|
|||
3
Юрий Лазаренко
22.11.11
✎
16:00
|
(0) А эти элементы к каким данным формы привязаны? Есть у формы реквизиты Спр и Стр?
|
|||
4
jenny_tea
22.11.11
✎
16:01
|
Нашла
ЭтаФорма.ОтобразитьИзменениеДанных(Объект.Реквизит1,ВидИзмененияДанных.Изменение); но почему сам не обновляет автоматом не понятно |
|||
5
jenny_tea
22.11.11
✎
16:02
|
у формы есть реквизиты и спр и стр
|
|||
6
Рыцарь
22.11.11
✎
16:06
|
&НаКлиенте
Процедура СоздатьОбновитьНаименование(Команда) ОбновитьНаименованиеНаСервере(); ОбновитьОтображениеДанных(); КонецПроцедуры &НаСервере Функция ОбновитьНаименованиеНаСервере() СпрОбъект = Спр.ПолучитьОбъект(); СпрОбъект.Наименование = Стр; Попытка СпрОбъект.Записать(); Исключение КонецПопытки; КонецФункции Так не работает? |
|||
7
Рыцарь
22.11.11
✎
16:07
|
Вместо функции процедура конечн..
|
|||
8
jenny_tea
22.11.11
✎
16:11
|
ОбновитьОтображениеДанных();
кстати тоже не так работает. она перерисовывает все данные при этом переходит на основное окно программы, но не обновляет отображение изменения. тоже опробовано уже |
|||
9
Рыцарь
22.11.11
✎
16:25
|
Да, вместо
ОбновитьОтображениеДанных(); нужно ОповеститьОбИзменении(Спр); |
|||
10
Юрий Лазаренко
22.11.11
✎
16:30
|
(0) Так, давай сначала. У тебя на форме обработки есть поле с типом СправочникСсылка и поле с типом строка. Ты вводишь в поле с типом строка наименование, жмакаешь кнопку, у справочника должно установиться это наименование, а затем новое наименование должно отобразиться в полях с типом СправочникССылка и Строка. Верно?
|
|||
11
jenny_tea
22.11.11
✎
16:40
|
Народ я ж написала уже решение
&НаКлиенте Процедура СоздатьОбновитьНаименование(Команда) ЭтаФорма.Спр = ОбновитьНаименованиеНаСервере(Спр,Стр); ЭтаФорма.ОтобразитьИзменениеДанных(Спр,ВидИзмененияДанных.Изменение); //пробовала и просто Спр = ... КонецПроцедуры &НаСервере Функция ОбновитьНаименованиеНаСервере(ТекСпр,ТекСтр) СпрОбъект = ТекСпр.ПолучитьОбъект(); СпрОбъект.Наименование = ТекСтр; Попытка СпрОбъект.Записать(); Исключение КонецПопытки; Возврат СпрОбъект.Ссылка; КонецФункции |
|||
12
jenny_tea
22.11.11
✎
16:41
|
ЭтаФорма.ОтобразитьИзменениеДанных(Спр,ВидИзмененияДанных.Изменение)
этот метод переотображает конкретный реквизит |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |