Имя: Пароль:
1C
 
Как обновить открытую форму документа программно?
0 tireal
 
24.09.09
00:33
Все как бы просто. Есть открытая форма документа, через обработку внешних печатных форм, этой формы, изменяю ТЧ самого ДокументОбъекта и вот что не делаю не могу заставить форму программно перечитить данные. Что делал: Форма.Обновить(); Форма.ЭлементыФормы.тч.ОбновитьСтроки(); ДокументОбъект.Прочитать(); ЭлементыФормы.тч.Данные = ЭлементыФормы.тч.Данные....
Что не так делаю?
1 Dmitrii
 
гуру
24.09.09
00:40
Что именно ты меняешь в обработке?

На форме отображается, скорее всего, табличная часть объекта, который является основным реквизитом формы (на закладке "Реквизиты" выделенный жирным шрифтом реквизит "ДокументОбъект").

А в обработке ты меняешь, по всей видимости, другой объект...
2 Dmitrii
 
гуру
24.09.09
00:41
(1) + А в базе небось третьи данные (если запись еще не произведена).
3 tireal
 
24.09.09
00:48
меняю табличную чать Товары у РеализацииТоваровИУслуг, форма соответсвенно элемента
по сути мне нужно программно нажать на кнопку "перечитать данные" вверху формы
4 Dmitrii
 
гуру
24.09.09
00:54
(3) Что такое РеализацииТоваровИУслуг?
Варианты:
- основной реквизит открытой формы документа
- объект полученный из ссылки при выполнении какого-либо кода

К чему ты заикнулся про какую-то обработку в (0)? >>...через обработку внешних печатных форм, этой формы...
Что это за поток сознания?
5 Dmitrii
 
гуру
24.09.09
00:59
(4)+ Если хочешь получить ответ, сформулируй нормально вопрос.
Что ты делаешь? В какой момент? С какими объектами? Из каких мест (обработка/форма)?
6 Dmitrii
 
гуру
24.09.09
01:01
В конце концов приведи часть кода, где ты изменяешь табличную часть и скажи где этот код выполняется (откуда скопирован)
7 mx-daemon
 
24.09.09
01:02
Для особо одаренных 1С придумало свойство открываемой формы - Владелец
8 tireal
 
24.09.09
01:03
так занова - открытая форма документа, далее из списка печ. форм запускается обработка внеш. печ. форма --- в обработку (реквизит Ссылка на объект) передается ссылка сего документа. Далее из этой ссылки получаю объект меняю его данные
9 tireal
 
24.09.09
01:03
что еще пояснить?
10 sapphire
 
24.09.09
01:05
(9) Для особо одаренных в (7) написано достаточно для решения subj
11 Dmitrii
 
гуру
24.09.09
01:05
(8) аа.... Круто - при печати изменять документ....
Ну да это ваше личное дело.

Объект после изменения записываешь?
12 tireal
 
24.09.09
01:07
меняю данные (табличную часть товары) и записываю, но есть открытая форма этого документа до изменений - вопрос как перечитать данные?
13 Andry888
 
24.09.09
01:07
Объект.Прочитать()...
14 tireal
 
24.09.09
01:08
писал же выше пробовал
15 mx-daemon
 
24.09.09
01:09
(12) ага, а потом такие, как Вы будут флудить де Гений1С Вам не угодил?
Мозг включить религия не позволяет или включать нечего?
16 mx-daemon
 
24.09.09
01:09
(14) Почему в штатной Ут после загрузки товара из ТСД товар виден? Не задумывались?
17 tireal
 
24.09.09
01:15
mx-daemon - мне ответ нужен, а не кучу ненужных вопросов и умозаключений
18 Dmitrii
 
гуру
24.09.09
01:20
(10),(16)Любопытно. Не знал.
Интересно, а почему метод Прочитать() не работает?
19 tireal
 
24.09.09
01:22
Чесно не знаю
20 tireal
 
24.09.09
01:25
Объект = СсылкаНаОбъект.ПолучитьОбъект();
ФормаДокумента = СсылкаНаОбъект.ПолучитьФорму();
   //ФормаДокумента.Открыть();
   Объект.Прочитать();
   Если ФормаДокумента.Открыта()Тогда
       //ФормаДокумента.ЭлементыФормы.Товары.Данные = ФормаДокумента.ЭлементыФормы.Товары.Данные;
       //ФормаДокумента.Товары.Обновить();
       //ФормаДокумента.ЭлементыФормы.Товары.ОбновитьСтроки();
       ФормаДокумента.Обновить();
   КонецЕсли;

вот все пробовал вт. что закоментировано
21 Dmitrii
 
гуру
24.09.09
01:31
(20) Если предположить, что mx-daemon прав, то

Объект = СсылкаНаОбъект.ПолучитьОбъект();
ФормаДокумента = СсылкаНаОбъект.ПолучитьФорму();
ФормаДокумента.Открыть();
ЭтаФорма.ВладелецФормы = ФормаДокумента;

Это если форма документа открывается из обработки.
Тольо я не понял что откуда открывается. Форма документа из обработки или обработка из формы документа. Запутался... Видимо спать пора.
22 mx-daemon
 
24.09.09
01:33
да тут всё просто - перед вызовом объект еще не записан и у формы ссылка - пустая, потому и не канает
23 tireal
 
24.09.09
01:35
печать не проведеных докуметов знаю есть настройка но чтобы не записаных...
24 sapphire
 
24.09.09
02:20
(23) Не прведен в воьмерке вообще мало что значит.
Документ при определенных условиях имеет право быть непроведенным и при  этом иметь движения. Даже помеченный на удаление.
25 tireal
 
24.09.09
21:46
(24) Верю и знаю, но все же если ближе к теме давайте подытожим - документ записан (не одна печатная форма без предварительной записи не сработает) не Форма.Обновить(); Форма.ЭлементыФормы.тч.ОбновитьСтроки(); ДокументОбъект.Прочитать(); ЭлементыФормы.тч.Данные = ЭлементыФормы.тч.Данные не вызывает обновление табличной части, в чем может быть дело?
26 tireal
 
25.09.09
18:32
и опять отвечаю сам - Dmitrii (1) был сразу то прав, спасибо ему
Объект = СсылкаНаОбъект.ПолучитьОбъект();
Объект.Прочитать(); //не работает
и
Форма = СсылкаНаОбъект.ПолучитьФорму();
Форма.ЭтотОбъект.Прочитать(); //работает

все было как всегда просто
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой