![]() |
![]() |
![]() |
|
Как обновить открытую форму документа программно? | ☑ | ||
---|---|---|---|---|
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) был сразу то прав, спасибо ему
Объект = СсылкаНаОбъект.ПолучитьОбъект(); Объект.Прочитать(); //не работает и Форма = СсылкаНаОбъект.ПолучитьФорму(); Форма.ЭтотОбъект.Прочитать(); //работает все было как всегда просто |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |