Имя: Пароль:
1C
1С v8
Обновить значение поля ввода на форме
0 Adecvator
 
08.08.13
11:48
Есть поле ввода на форме только с одной кнопкой - "Открытия", после того как пользователь отредактировал элемент справочника, открыв его предварительно через эту кнопку, поле на форме соответственно не обновляется.
1 cw014
 
08.08.13
11:50
Продолжайте набдюдения
2 Adecvator
 
08.08.13
11:50
Пытаюсь сделать через процедуру ожидания

Процедура Ожидание()
    
Если (СокрЛП(ЭтаФорма.ТекущийЭлемент.Имя) <> "Водитель")Тогда
    Если Водитель <> Справочники.Водители.ПустаяСсылка() Тогда
        Если СокрЛП(ЭтаФорма.ЭлементыФормы.Водитель.ВыделенныйТекст) <> СокрЛП(Водитель.Наименование) Тогда
                ЭтаФорма.Обновить();
        КонецЕсли;
            
            ЭлементыФормы.Водитель.РедактированиеТекста = Ложь;
            
    КонецЕсли;
КонецЕсли;
    
    ЭтаФорма.ПодключитьОбработчикОжидания("Ожидание", 0.1, Истина);
    
КонецПроцедуры
3 cw014
 
08.08.13
11:51
Тебе поможет это:

УправляемаяФорма.ОбработкаОповещения (ManagedForm.NotificationProcessing)
УправляемаяФорма (ManagedForm)
ОбработкаОповещения (NotificationProcessing)
Синтаксис:

ОбработкаОповещения(<ИмяСобытия>, <Параметр>, <Источник>)
Параметры:

<ИмяСобытия>

Тип: Строка.
Имя события. Может быть использовано для идентификации сообщений принимающими их формами.
<Параметр>

Параметр сообщения. Могут быть переданы любые необходимые данные.
<Источник>

Источник события. Например, в качестве источника может быть указана другая форма.
Описание:

Вызывается во всех созданных формах, при вызове метода Оповестить. Параметры обработчика совпадают с параметрами метода Оповестить.
4 Adecvator
 
08.08.13
11:52
(3) так у меня не управляемая форма.
5 cw014
 
08.08.13
11:53
(4) А что, сам проштудировать СП не можешь, все за тебя должны делать???


Форма.ОбработкаОповещения (Form.NotificationProcessing)
Форма (Form)
ОбработкаОповещения (NotificationProcessing)
Синтаксис:

ОбработкаОповещения(<ИмяСобытия>, <Параметр>, <Источник>)
Параметры:

<ИмяСобытия>

Тип: Строка.
Имя события. Может быть использовано для идентификации сообщений.
<Параметр>

Тип: Произвольный.
Параметр, переданный в сообщении.
<Источник>

Источник события, переданный в сообщении.
Описание:

Возникает при оповещении всех созданных форм методом глобального контекста Оповестить.
См. также:

Глобальный контекст, метод Оповестить
6 Adecvator
 
08.08.13
11:53
(5) сорри
7 Adecvator
 
08.08.13
12:00
(5) а как обновить поле на форме:
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    
    Если ИмяСобытия = "ОбновитьПолеВодитель" Тогда
         ЭлементыФормы.Водитель = Водитель; - так нельзя.
    КонецЕсли;
        
КонецПроцедуры
8 cw014
 
08.08.13
12:02
Форма.Обновить (Form.Refresh)
Форма (Form)
Обновить (Refresh)
Синтаксис:

Обновить()
Описание:

Обновляет данные, представленные в форме.

Доступность:

Толстый клиент.
Пример:

Обновить();
9 cw014
 
08.08.13
12:02
Слушай, я тебе онлайн-помощник по СП что ли?
10 Adecvator
 
08.08.13
12:06
(9) я не прав 100%, но ЭтаФорма.Обновить(); не работает, в процедуре ожидания я тоже самое пробовал. Может меня не правильно поняли я не знаю как обновить элемент формы, а не как передать форме что значение поменялось
11 cw014
 
08.08.13
12:10
Поле на форме - контрагент, представление - наименование. Пользователь зашел, поменял реквизит "Основной договор". Что у тебя должно обновиться?
12 Adecvator
 
08.08.13
12:14
(11) Есть элемент форм - "Водитель", после того как пользователь зашел в этот элемент справочника, че-та там поменял, закрыл его. Я хочу что бы обновился и элемент формы - "Водитель".
13 Adecvator
 
08.08.13
12:14
(11) касается только поля Наименования в справочнике есесено
14 Adecvator
 
08.08.13
12:15
т.е. был Иванов Иван Иванович, пользователь поменял на Петров Иван Иванович, а у меня на форме все еще весит - Иванов Иван Иванович
15 cw014
 
08.08.13
12:20
(14) А ты при записи этого элемента справочника метод "Оповестить" вызываешь?
16 Adecvator
 
08.08.13
12:23
(15) есесено
Процедура ПриЗакрытии()
    ПроверитьЗаполнение();
    Оповестить("ОбновитьПолеВодитель");
КонецПроцедуры
и он даже заходит, вот сюда -
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    Если ИмяСобытия = "ОбновитьПолеВодитель" Тогда
        ЭтаФорма.Обновить();
    КонецЕсли;    
КонецПроцедуры
но ничего не происходит :(
17 cw014
 
08.08.13
12:24
По-первых;
Оповестить("ОбновитьПолеВодитель", Ссылка);

Если не помогает "Обновить" тогда
Водитель = Параметр;
18 Adecvator
 
08.08.13
12:38
(17) о великий и всемогущий :) Спасибо большое. +++
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.