Обновление данных в Таблице на форме обработки.
Интерфейсная задача.
На форме обработки есть ТаблицаЗначений, заполненная данными справочника. Так же, в свойствах формы указано использование пустой таблицы.
При смене текущей строки в ТаблицеЗначений, Таблица формы очищается и заполняется данными соответствующими справочнику в текущей строке таблицы значений.
Все работает, но визуально изменения в таблице формы отображаются только при изменении размеров формы (растянуть форму, свернуть - развернуть), или например при активации в таблице формы измененной области.
Форма.Обновить() - не помогает.
Что делать?
P.S. Таблица.Показать() используется только для таблиц созданных командой СоздатьОбъект()
Если использовать эту команду для таблицы формы, будет выдана ошибка:
Таблица.Показать();
{Обработка.ВыборРекламныхБлоков.Форма.Модуль(21)}: Открытие окна в данном режиме недоступно!
На форме обработки есть ТаблицаЗначений, заполненная данными справочника. Так же, в свойствах формы указано использование пустой таблицы.
При смене текущей строки в ТаблицеЗначений, Таблица формы очищается и заполняется данными соответствующими справочнику в текущей строке таблицы значений.
Все работает, но визуально изменения в таблице формы отображаются только при изменении размеров формы (растянуть форму, свернуть - развернуть), или например при активации в таблице формы измененной области.
Форма.Обновить() - не помогает.
Что делать?
P.S. Таблица.Показать() используется только для таблиц созданных командой СоздатьОбъект()
Если использовать эту команду для таблицы формы, будет выдана ошибка:
Таблица.Показать();
{Обработка.ВыборРекламныхБлоков.Форма.Модуль(21)}: Открытие окна в данном режиме недоступно!
По теме из базы знаний
- Оповещение приложений 1С об изменении данных на сервере
- Обновление реквизитов контрагентов из ЕГРЮЛ по ИНН или наименованию для БП 2.0
- Образец обработки по загрузке данных из Excel-таблицы в поступление товаров в БП 3.0 УФ
- hsИнтегратор - технология онлайнового обмена данными между базами на платформе 1С:Предприятие. Использование технологии в виде расширения, без изменения конфигураций баз данных, участвующих в обмене
- Как "приджойнить" к динамическому списку таблицу из формы
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) deniseek77, Вы не поняли проблему. Таблица на форме очищается и заполняется без промежуточной таблицы. Проблема в ее обновлении. Как уже выяснилось, Таблица.Показать() - решает проблему, если вызывается с кнопки, но мне нужно вызывать ее именно при перемещении по строкам таблицы значений. Сейчас опробую одну идейку...
(11) WaterSmith,(13) falcon,
+ ПриНажатииКнопкиКлавиатуры() также для полного счастья нужно настроить на перехват изменения строки. Все из того же формекса.
В 77 для этого нет событий
Есть в формексе ПриОтжатииЛевойКнопки(). Можно запоминать в контексте модуля формы текущую строку ТЗ и проверять на изменение в данном событии.
+ ПриНажатииКнопкиКлавиатуры() также для полного счастья нужно настроить на перехват изменения строки. Все из того же формекса.
Вот, как раз про "Ложное закрытие" мне и намекнули, на Мисте. Но никто не углубляется в подробности. Могу предположить, что имеется ввиду дать команду Форма.Закрыть(), а в ПриЗакрытии(), по условию сделать СтатусВозврата(0).
Но это не понмадобилось. Достаточно было Таблица.Показать() вынести в отдельную процедуру, и вызвать ее из функции, срабатывающей при обновлении формы.
Если же Таблица.Показать() вызывать прямо в функции, то выдавало ошибку, о которой я написал в самом первом сообщении.
Но это не понмадобилось. Достаточно было Таблица.Показать() вынести в отдельную процедуру, и вызвать ее из функции, срабатывающей при обновлении формы.
Если же Таблица.Показать() вызывать прямо в функции, то выдавало ошибку, о которой я написал в самом первом сообщении.
Все, окончательно понял в чем проблема.
Сам запутался, и умных людей запутать хотел.
Таблица.Показать() отлично работает, никакие хитрости не нужны. Ошибка выдается только при открытии формы, когда тоже вызывается эта функция. Ну это легко обходится.
Всем спасибо, извините, что поторопился с выводами.
Сам запутался, и умных людей запутать хотел.
Таблица.Показать() отлично работает, никакие хитрости не нужны. Ошибка выдается только при открытии формы, когда тоже вызывается эта функция. Ну это легко обходится.
Всем спасибо, извините, что поторопился с выводами.
Вот, как раз про "Ложное закрытие" мне и намекнули, на Мисте. Но никто не углубляется в подробности. Могу предположить, что имеется ввиду дать команду Форма.Закрыть(), а в ПриЗакрытии(), по условию сделать СтатусВозврата(0).
Но это не понмадобилось. Достаточно было Таблица.Показать() вынести в отдельную процедуру, и вызвать ее из функции, срабатывающей при обновлении формы.
Но это не понмадобилось. Достаточно было Таблица.Показать() вынести в отдельную процедуру, и вызвать ее из функции, срабатывающей при обновлении формы.
(5) WaterSmith, с "ложным закрытием" срабатывает без проблем, а с выносом в отдельную процедуру не прокатило.
Где недогоняю ?
Прикрепленные файлы:
Тест.ert
Наверняка не актуально уже, но для ищущих нужно поставить точку.
Для "толстого клиента" чтобы обновить данные Таблицы значений или дерева на форме после программных изменений, нужно после изменений таблицы выполнить оператор
ЭлементыФормы.ВашаТЧнаФорме.СоздатьКолонки();
Для "толстого клиента" чтобы обновить данные Таблицы значений или дерева на форме после программных изменений, нужно после изменений таблицы выполнить оператор
ЭлементыФормы.ВашаТЧнаФорме.СоздатьКолонки();
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот