Почему не работает обновитьотображениеданных

Рекомендации по использованию обработчика события формы ОбновлениеОтображения()

Обработчик события ОбновлениеОтображения() предназначен для отображения на форме информации, которая зависит от текущего состояния данных, содержащихся в форме. Обычно для отображения такого рода информации используются элементы управления «Текст».

В обработчике производится вычисление необходимых для отображения данных и вывод их на форму. Обработчик события должен отслеживать любые изменения данных в форме, поэтому он вызывается при любом интерактивном или программном изменении данных и при обработке событий с помощью встроенного языка. Так как в одном обработчике может происходить массовое изменение данных формы, то вызов обработчика ОбновлениеОтображения() вызывается не сразу при изменении состояния данных формы, а только при переходе системы в режим ожидания. В связи с этим определить точный момент вызова обработчика этого события достаточно трудно. Кроме того, причину данного вызова обработчика определить также невозможно. Поэтому в обработчике события ОбновленииеОтображения() рекомендуется осуществлять действия связанные только с выводом дополнительной информации, которая непосредственно зависит от данных, находящихся в форме. Не рекомендуется производить действия связанные с установкой активности элементов управления, открытием окон, длительными расчетами данных, требующими обращения к базе данных, так как это может привести к неадекватному поведению системы или сильному падению производительности работы.

Источник

1с 8.3 Управляемая форма — как обновить содержимое другой формы?

Есть управляемое приложение.
Открыты 2 формы (одновременно).
При изменении данных в первой форме, нужно обновить и вторую форму.
Подскажите, пожалуйста — как?

Но у ОкноПриложения, вижу,только 2 метода:

(13) Вот так попробуйте:

Только — или закрыть+открыть форму, или через стандартную команду «Обновить».

Вопрос — как обновить данные?
1. В этойже форме.
2. В других, открытых формах.

(3)
так надо обновить форму или динамический список? Идти точно через оповещение надо, но в обработке оповещения уже копаться. Если надо обновить список, он не обновится через ОбновитьОтображениеДанных(). Это нужно Элементы.Список.Обновить().

А вообще это всё довольно легко гуглится)) А направление вам уже дали — Оповестить/ОбработкаОповещения

(11) за подсказку спасибо (проглядел я такое, да), но — оно не до конца решает, всёже.

Период, конечно можно установить в 1 сек, но — както это — не очень правильно получается.
(мне же ненадо, постоянно обновлять — надо, когда надо)
Хотя конечно да — решит задачу.

Только вот — как регистр сведений указать?
(какойто там — ключ записи. нужен)

В форме МойДокумент1

В форме МойДокумент2

(похоже — всеголишь, это надо мне — сейчас) указать РегистрСведений?
В СинтаксПомошнике сказано «Имя Регистра» указать (на месте ссылки).

В каком виде?
(только имя — ошибку даёт)

Источник

Управляемые формы: обновление элемента формы

Всем добрый день,
Есть внешняя обработка, у нее есть табличная часть и на управляемой форме есть реквизит типа «ТаблицаФормы», у которой в кач-ве пути к данным указана табличная часть обработки.

При этом при добавлении в Таблице формы — в табличной части появляется строка, а при добавлении в модуле обработки строк в табличную часть обработки — таблица формы остается пустой. Как правильно «обновить» таблицу формы, что бы она отображала данные табличной части?

(3) Да, обновлял. Как понял, для формы ОбновитьОтображениеДанных(), это все равно, что Обновить() для каждого элемента формы, но могу ошибаться

Читайте также:  Светящийся колпачок не работает

Дополнение к (0)
На форме жмется кнопка, вызывается команда:

После выполнения ОбъектОбработка.ПолучитьТаблицуИзФайла — табличная часть обработки заполнена (проверял), но как «перекинуть» ее в элемент формы — не могу разобраться.

(4) Пробую, но не могу разобраться с параметрами. В кач-ве второго:
Тип: ДанныеФормыСтруктураСКоллекцией; ДанныеФормыКоллекция; ДанныеФормыСтруктура.
Данные формы, имеющие совместимую структуру.

Попробовал туда элемент формы (таблицу формы) передать — вылетела 1С ))

Говорит «Недопустимое значение параметра 2». Пробовал туда передавать Объект, ОбъектОбработка (определяется в процедуре), ЭтаФорма, Элементы, Элемент.Операции (таблица формы) — безуспешно.

(11) (14)
Вылетает.. причем странно вылетает, прям винда 1С выкидывает:

(0) За это время можно было конфигурацию для автоматизации работы небольшой фирмы разработать.

(19) Мегаогромнейшее спасибо!
(20) Какую книжку можно посоветовать?

Вопрос решался просто:

Где ПолучитьТаблицуИзФайла — процедура, описанная в модуле обработки, которая заполняет табличную часть обработки

Источник

КА 8.2 (8.2.14.540) Управляемая форма: не обновляется ТЧ после заполнения

Помогите, пожалуйста, разобраться с управляемой формой:
есть документ, в нем основная форма — управляемая и дополнительная форма (управляемая), которая открывается по команде, в ней вносятся два реквизита для формирования в дальнейшем запросов, в модуле формы этой доп. формы формируются данные для заполнения основной формы. все выполняется, но по результатам выполнения запроса табличная часть основной формы не обновляется. если после записи документа снова зайти в документ, то видно все изменения — табличная часть становится заполненной. почему они не отображаются сразу? а только после записи и закрытии документа. я уже пробовала вставлять:
ОтобразитьИзменениеДанных(Объект.Материалы,ВидИзмененияДанных.Изменение);

всеравно не помогает((

где и что нужно подправить?

заполнение ТЧ, как правило, идет на сервере и если это не при создании на сервере, то для визуализации необходимо, например,

как там Краснодар, стоит?

пробовала разные способы:

в комментах то, что пробовала до этого.

попробовала ОповеститьОбИзменении() в модуле осн. формы перед записью и после записи не помогает.

тогда подскажите, пожалуйста, как реализовать решение следующей задачи:
по кнопке на осн. упр.форме нужно вызвать команду — Заполнение ТЧ формы, при вызове команды нужно открывать форму, в которой указать доп. параметры, необходимые для отбора для формирования запроса, чтобы заполнить ТЧ осн. упр. формы. Затем заполнить ТЧ осн.упр.формы.
как сделать?

(14) так запрос выполняется, заполнение тоже, только заполнение отображается после того, как сохраняется, закрывается документ. заходим — все заполнено.

хорошо, я сейчас так и начала делать параметры задаю на доп.форме. а дальше что? как передать заполнение в осн. форму? указываю ссылку на процедуру модуля осн.формы в модуле доп. формы — пишет, что нет такой процедуры. как передать эстафетную палочку на выполнение всего заполнения в осн. форме?

(15) Зачем быть записанными, если достаточно быть заполненными данные объекта? Как вообще тогда отображаются данные в созданном но не записанном документе?

(16) Ну если грубо, то на форме кнопка, она выполняет команду, команда сначала открывает допформу, которая заполняет параметры запроса и возвращает их в команду ну и далее запрос и прочие действия.

хорошо расскажу, как реализаую:

есть док. «МойДок», в котором есть осн. упр.форма. создаю команду «ЗаполнитьПоОстаткам» в документе, модуль команды:

&НаКлиенте
ФормаДокуметаЗаполнитьПоОстаткам — это доп. форма, в которй задаются параметры, нужные для отбора: Склад и Номенклатура.

Далее в модуле этой формы «ФормаДокуметаЗаполнитьПоОстаткам» создаю процедуры:

Читайте также:  Как настроить велосипед с передачами

все. заполнение происходит, но появляется только после закрытия и повторного открытия документа.

в осн.форме создала процедуру:

а Оповестить() где в доп.форме разместить? в Процедура ЗаполнитьПоОстаткам(Команда) можно?

не помогло. все равно не обновляет табличную часть динамически.

(28) Ну вот хоть убей — не пойму, зачем обязательно записывать объект, чтобы данные отобразились.

(27) Уточните плиз, в какой момент команда вызывается, или каким образом? Если по нажатию кнопки, то где эта кнопка расположена?

Попробуйте к типовому документу такую штуку прикрутить.

Кстати, а табличная часть на какие данные ссылается? Может таблица на форме только При открытии отрисовывается?

(0) была такаяже проблема в начале работы на УГ11. Как оказалось надо было просто забыть идеологию работы на 1С8.1.
Посмотрел как работают типовые вещи типа стандартные обработки табличных частей «ПриИзмененииКоличества» например и теперь уже даже не помню как на 8.1 было и что я такого делаю чтобы таких вопросов как ваш не возникает.

(35) Записать и Перечитать после чего в базе появится куча не нужных документов. ну или документы которые задним число перепроведятся и нарушают последовательность движений.

далее создала форму «ФормаЗаполнить» — управляемая. в ней одно поле «Склад» и процедура:

та же ситуация- так же заполняет, но нужно закрыть,а потом отркыть док. значит не в доке дело, а в моем методе реализации задачи

1. открывается форма объекта, допустим, Документ.РасходДС
(49) кто-то из создатаетелей этого документа заложил механизм при выборе организации, чтобы была доступна команда вызова формы заполнения остатков — возникает вопрос сохрангения, видимо чтобы работать со ссылкой.

Будем гадать, что происходит далее, в команду поступает ссылка только что записанного документа «ПараметрыВыполненияКоманды.Источник»

в доп форме существует реквизит ДокументОбъект который инициализируется по этой ссылке и осуществляется заполнение в данных этого обьъекта этой допформы.

Далее происходит вызов оповещения о заполнении остатков, но они заполнены для другого объекта, не того что был открыт изначально.

Ваши аргументы господа спецы к этому варианту развития событий или будем важно крутить носом?)

описание в (50) верно?

Ребяты, ну какой смысл ругаться, да еще и на личности переходить?

2Kleo: Ну вот смотрите. Сделал документ, в нем табличная часть. На форме кнопка, команда прикручена к форме документа. Код модуля формы:

Все спокойно заполняется и отрисовывается. Остается прикрутить вызов допформы, поймать из нее параметры и сделать запрос.

(53) об чем и речь. В ОбработкаВыбора все так и есть. Почемубы ее и не использовать.

Вызвать доп форму при закрытии которой вызывать код чтото типа:

(53) там где я — всегда скандалы, интриги, поножовщина, пожары.
это работа в рамках одной формы одного объекта, там все просто, но ведь задача так не стоит, хотя грамотно делать примерно так.

(51) как это не обнаружен, если в (50) история событий примерно похожа, то
Прочитать (Read)
Синтаксис:

Считывает данные документа из базы данных.

Сервер, толстый клиент, внешнее соединение.
Примечание:

Позволяет прочесть данные заново. Недопустим для нового объекта.
Пример:

надо перечитать данные того объекта из которого была вызвана команда ибо заполнение в допформе другого экземпляра объекта то возможно, а вот запись нет, да он будет ругаться, что объект уже блокирован. Вообще передавать нужно в допформы либо весь объект через РеквизитФормыВзанчение() либо данных формы, а использовать в вызове команды ссылку открытого объекта, модифицировть его где-то и пытаться увидеть модификации в первой форме — от лукавого

Читайте также:  Не работает встроенная видеокарта одновременно с дискретной

(54) Ну ду, этот механизм и прикрутить.

Я не знаю как из других форм, но из модуля родной формы все отрисовывается безо всяких танцев с бубном. Я почему и говорю, что не надо из другой формы заполнять текущую, чтобы можно было легко контролировать код — все, что относится к текущей форме лучше чтобы было в ее модуле.

приведу пример как я работаю с доп формами в УФ и без ващего геммороя, схема кастрирована, но вполне шаблонизирована и ее можно легко модифицировать и под эту задачу и под любую другую — все работает и проверено.

приведу два блока шаблонизированного кода по заполнению ТЧ ДокументаОбъекта в УФ.

1-й блок из модуля формы документа
2-й блок из модуля допформы, где функционал по заполнению ТЧ, источник не важен: ексель, потолок, счеты и т.д. — переписать легко

кушойте и никакого гимора с блокировками, пероедачей ссылок и прочей мути, надеюсь все понятно

ГЛАВНОЕ — при заполнении табличных частей на УФ с использрованием вызова дополнительних формы, в качестве ВЛАДЕЛЬЦА ДопФормы нужно передавать форму открытого объекта, как я и делаю.

Тогда в ДопФорме у вас будет доступен контекст первой формы и вы просто заполняте табличные чати через элементы контеста формы-владельца и усе

+(61) Там даже не по структуре данных а по источнику, он вторым параметром в ОбработкаВыбора() передается.

(62) Блин. Сохранять НЕ надо. Просто заполняйте форму из ее же модуля, пользуйте допформу только для получения выбранных параметров.

(62) мой метод не требует даже сохранения дока, я его делаю только потому, что там строгий учет по моментам времени, а так контекст формы он и в африке контекст формы и вовсе не обязательно должен содержать данные сохраненного в базе объекта.

Эта все господа спецы, вводных данных я дал достаточно, но мы можете проджолжать пилить ногти пилочкой или что там у вас)

Источник

1с 8.3 Управляемая форма — как обновить содержимое другой формы?

Есть управляемое приложение.
Открыты 2 формы (одновременно).
При изменении данных в первой форме, нужно обновить и вторую форму.
Подскажите, пожалуйста — как?

Но у ОкноПриложения, вижу,только 2 метода:

(13) Вот так попробуйте:

Только — или закрыть+открыть форму, или через стандартную команду «Обновить».

Вопрос — как обновить данные?
1. В этойже форме.
2. В других, открытых формах.

(3)
так надо обновить форму или динамический список? Идти точно через оповещение надо, но в обработке оповещения уже копаться. Если надо обновить список, он не обновится через ОбновитьОтображениеДанных(). Это нужно Элементы.Список.Обновить().

А вообще это всё довольно легко гуглится)) А направление вам уже дали — Оповестить/ОбработкаОповещения

(11) за подсказку спасибо (проглядел я такое, да), но — оно не до конца решает, всёже.

Период, конечно можно установить в 1 сек, но — както это — не очень правильно получается.
(мне же ненадо, постоянно обновлять — надо, когда надо)
Хотя конечно да — решит задачу.

Только вот — как регистр сведений указать?
(какойто там — ключ записи. нужен)

В форме МойДокумент1

В форме МойДокумент2

(похоже — всеголишь, это надо мне — сейчас) указать РегистрСведений?
В СинтаксПомошнике сказано «Имя Регистра» указать (на месте ссылки).

В каком виде?
(только имя — ошибку даёт)

Источник

Оцените статью