Имя: Пароль:
1C
1С v8
Обновить табличную часть 8.1
,
0 denis200
 
23.09.11
14:52
У меня при добавление новой строки в документ А создаётся документ Б на основании А.
И табличная часть документа А не сразу обновляется. А если допустим щёлкнуть на другой закладки панели и потом вернуться где был, то только тогда обновиться. Хочу чтобы сразу обновлялось.
Код:
   обДок = Документы.vkЗаявкаВТС.СоздатьДокумент();
   обДок.Заполнить(Ссылка);
   обДок.ПолучитьФорму("ФормаДокумента").Открыть();
   Обновить();
-------------
На Обновить(); программа не реагирует.
1 denis200
 
23.09.11
15:36
вызывается процедура ОбновлениеОтображения()
Но как её исскуственно вызывать?
2 Maxus43
 
23.09.11
15:43
Прочитать() покури
3 hhhh
 
23.09.11
15:44
(1) а что должно обновиться? Какая колонка?
4 denis200
 
23.09.11
16:04
в чём тут фишка вводится документ на основании открывается форма и тут я понял что всё что выполняется в это процедуре происходит до того как пользователь закроет форму. А обновиться то она может только после того как он закроет. Но само закрытие ни к чему не приводит к сожалению. Обновляется только после того как что-нибудь изменится в форме.
5 denis200
 
23.09.11
16:06
а как сделать чтобы после того как пользователь закрыл форму документа на основании обновилась табличная часть заполненная этими документами не знаю
6 ice777
 
23.09.11
16:08
записать док.
7 ice777
 
23.09.11
16:09
или провести.  тут не телепаты, что там заполняется
8 denis200
 
23.09.11
16:10
нет док-т на основании и так запишется и проведётся после того как пользователь ок нажмёт, вопрос как сделать чтобы обновилась форма исходного док-та сразу а не после измения чего то в исходном
9 Jaffar
 
23.09.11
16:20
(8) а из какого места второй документ должен узнать, что в исходном что-то изменилось? добавь хотя бы реквизит "ДатаЗаписи", сохраняй туда время записи исходного документа, при открытии второго запоминай его в переменную и мониторь документ в базе: если не совпадают - обновляй вторичный.
10 zladenuw
 
23.09.11
16:23
ОбработкаОповещения (NotificationProcessing)
Синтаксис:

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

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

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

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

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

Возникает при оповещении всех открытых форм методом глобального контекста Оповестить.
11 denis200
 
23.09.11
16:27
ничего не понял
12 zladenuw
 
23.09.11
16:28
Оповестить (Notify)
Синтаксис:

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

<ИмяСобытия> (необязательный)

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

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

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

Посылает оповещение всем созданным формам и всем подключенным через метод ПодключитьОбработчикОповещения процедурам модуля управляемого приложения (модуля обычного приложения) или общего модуля. Если для формы задана процедура-обработчик события ОбработкаОповещения, то она будет запущена, в процедуру будут переданы указанные параметры.
Данный механизм может, например, применяться для организации обмена сообщениями между открытыми формами.
13 zladenuw
 
23.09.11
16:28
(11) так понятно ?
14 denis200
 
23.09.11
16:59
Ты мне конректно скажи куда что написать
15 zladenuw
 
23.09.11
17:04
Документ А:
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "ИзменениеДанных" тогда
сообщить("Эй!");
КонецЕсли;
КонецПроцедуры

Документ Б:
Оповестить("ИзменениеДанных");
16 zladenuw
 
23.09.11
17:04
(15) в Документе Б, при записи или при закрытии
17 zladenuw
 
23.09.11
17:06
18 denis200
 
23.09.11
17:20
Спасибо.
19 denis200
 
23.09.11
17:21
в формах писать да
20 zladenuw
 
23.09.11
17:23
(17) тут все написано
//в первой форме оповестить все открытые формы
Оповестить("ИмяСобытия","Форма1",Данные)

//в другой форме назначить обработчик события Оповещение
Процедура ОбработкаОповещения(Событие, Источник, Данные)
  Если Событие = "ИмяСобытия" И Источник = "Форма1" Тогда
  КонецЕсли;
КонецПроцедуры
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший