Имя: Пароль:
1C
 
ОповеститьОВыборе 1с8.3
0 Casper211
 
18.04.16
09:57
Добрый день! Создал внешнюю обработку в ней таблицу значений с данными по заказу и регистра. Через обработку создаю новый заказ, записываю его. (И он появляется в ТЗ). Далее в дополнительной вкладке заказа я создаю доставку (которая создается после записи заказа и перехожу в форму записи регистра) и я хочу, чтобы после повторной записи заказа каким то образом обновилась информация у меня в тз в обработке новым данным из регистра.
Это можно сделать с помощью ОповеститьОВыборе ?
1 aleks_default
 
18.04.16
10:02
а теперь выдыхай... и все заново опиши по пунктам
2 Pav2016
 
18.04.16
10:03
оповеститьОВыборе это сообщение форме владельцу.
Чем не подходит Оповестить?
3 Casper211
 
18.04.16
10:03
Чтобы было что-то типа кнопки обновить данные в ТЗ, но после записи заказа
4 Casper211
 
18.04.16
10:03
я еще вообще не работал с любым "Оповестить" поэтому и спрашиваю вас.
5 Pav2016
 
18.04.16
10:05
ммм кнопки? можно и без кнопки.
вопрос в том как инициировать процедуру обновления или как написать процедуру обновления?
6 Casper211
 
18.04.16
10:08
У меня есть вот такое:она обновляет данные Тз в обработке

Процедура КоманднаяПанельОбновитьСписок(Кнопка)
    ОбновитьТаблицуДокументов();
КонецПроцедуры

То есть можно вот так?
Оповестить(<ИмяСобытия>, <Параметр>, <Источник>)
ИмяСобытия - КоманднаяПанельОбновитьСписок
Параметр- ??
Источник - форма обработки???
7 Pav2016
 
18.04.16
10:09
все просто. После записи вызываешь Оповестить ("ОбновитьТЗ")


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

и сразу проверяешь ИмяСобытия
8 Pav2016
 
18.04.16
10:10
Параметр- ??
Источник - форма обработки???


это можно не использовать
9 Casper211
 
18.04.16
10:13
(8) вот так ?
Оповестить ("ОбновитьТЗ")

/////////////////////////////////

Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
      Если ИмяСобытия = "ОбновитьТЗ" Тогда
           ОбновитьТаблицуДокументов();
      КонецЕсли;
КонецПроцедуры
10 Pav2016
 
18.04.16
10:15
Это да... но главное правильно поставить вызов Оповестить()

Куда поставишь?
11 Casper211
 
18.04.16
10:18
Процедура ПослеЗаписи() //в документе заказа
    Оповестить ("ОбновитьТЗ");    
КонецПроцедуры // ПослеЗаписи()
12 Casper211
 
18.04.16
10:22
(10) что-то не работает (
13 Pav2016
 
18.04.16
10:24
что именно не работает?
не срабатывает вызов
не ловится обработчик
не обновляется ТЗ
14 Casper211
 
18.04.16
10:26
не срабатывает вызов :
а как должно срабатывать вызов?

не ловится обработчик:
проходит оповещения и все, выходит, не попадаем в процедуру оповещения

не обновляется ТЗ:
да
15 Casper211
 
18.04.16
10:28
(13) как-то так
16 Pav2016
 
18.04.16
10:29
проверка условия в обработчике проходит?
17 Casper211
 
18.04.16
10:31
(16) где? я что-то не до конца понял
18 Pav2016
 
18.04.16
10:32
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

      Сообщить("1");
      Если ИмяСобытия = "ОбновитьТЗ" Тогда
            Сообщить("2");
           ОбновитьТаблицуДокументов();
      КонецЕсли;
КонецПроцедуры
19 Casper211
 
18.04.16
10:35
(18) отладчик туда вообще не попадает
20 Pav2016
 
18.04.16
10:38
А это?

Сообщить ("0");
Оповестить ("ОбновитьТЗ")

Форма обработки где ТЗ открыта?
21 hhhh
 
18.04.16
10:39
(19) ну открой событие это, ОбработкаОповещения. Посмотри какая процедура в нем указана.
22 Casper211
 
18.04.16
10:42
(21) (20) ой простите) все работает, я не добавил событие) (20) (21) Спасибо
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс