Имя: Пароль:
1C
1С v8
Не обновляется поле на форме
0 sprinter83
 
15.12.14
18:31
Здравствуйте. Помогите разобраться.
Ситуация следующая:
На форме документа есть реквизит документа "Контрагент"
На этой же форме помещён реквизит "Наименование контрагента"

Нужно перед записью документа в форме обновить информацию о наименовании контрагента реквизит "Контрагент" данные о наименовании берутся из реквизита "Наименование контрагента".

В процедуре ПередЗаписью
Берём ссылку "Контрагент" получаем объект, меняем в объекте наименование и записываем. При этом на самой форме всё остаётся как было как будто наименование и не менялось.

Пример: на форме показан ООО "Рога и копыта"
в реквизите "Наименование контрагента" указано ООО "Рога и копыта"123

После записи в поле "Контрагент" как было ООО "Рога и копыта" так и осталось. Хотя если нажать на кнопку открытия в справочнике видим что название поменялось.
Если форму закрыть и открыть заново то будут указаны уже обновлённые данные, а нужно чтобы данные на форме обновились уже в момент записи (
Платформа 8.3.5 такси
Упрощённо код ниже следующий:

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    //записываем данные о контрагенте в справочник    
    ОбновитьДанныеОКонтрагентеВСправочнике();
КонецПроцедуры

&НаСервере
Процедура ОбновитьДанныеОКонтрагентеВСправочнике()        
КонтрагентОбъект = Объект.Контрагент.ПолучитьОбъект();
    // реквизиты
КонтрагентОбъект.Наименование= Объект.НаименованиеКонтрагента;
КонтрагентОбъект.НаименованиеПолное = Объект.НаименованиеКонтрагента;
    
    Попытка        
        
       КонтрагентОбъект.Записать();
       Объект.Контрагент = КонтрагентОбъект.Ссылка;      
    Исключение
        Сообщить("Не удалось обновить данные о контрагенте по причине: " + ОписаниеОшибки());
    КонецПопытки;

КонецПроцедуры
1 Рэйв
 
15.12.14
18:38
(0)Нахрена перед записью?
Форма- это просто мелкий кораблик в твоей луже в сравнении с сервером
2 Рэйв
 
15.12.14
18:39
(0)так вот у этого кораблика ты просто  вставь код при изменении маленькоггт флажка Контрагет, что флажек Наименование  меняется тоже и будет тебе щастье:-)
3 sprinter83
 
15.12.14
18:39
Да я эту процедуру уже везде пихал: и за, и во время, и после, и на сервере, и на клиенте, результат не меняется)
4 Рэйв
 
15.12.14
18:40
(3)Значит ты плохой пихатель
5 Рэйв
 
15.12.14
18:41
(3)Не забудь, что процедуры событий обязательно должны быть прописаны в свойствах формы.Иначе работать не будут
6 sprinter83
 
15.12.14
18:47
К моему большому стыду ни чего не понял, можно на примере?
7 sprinter83
 
15.12.14
19:03
Судя по всему идей ни каких(
это конечно не весь код, и если к примеру поле Контрагент пустая, тогда создаётся новый элемент справочника "Контрагенты", записывается и помещается в Объект.Контрагент, то на форме всё прекрасно отображается, а вот если изменяется уже существующая (выбранная) ссылка, то для формы как-будто ни чего не происходит(
8 vicof
 
15.12.14
19:05
РеквизитФормыВЗначение и ЗначениеВРеквизитФормы.
9 Адский плющ
 
15.12.14
19:08
(0) ОповеститьОбИзменении(<Ссылка>)  пробовал?
10 sprinter83
 
15.12.14
19:32
Спасибо ОповеститьОбИзменении(<Ссылка>)  сработало.
Думал этот метод только для динамический списков подходит