Обновление данных в Таблице на форме обработки.

1. WaterSmith 355 02.04.13 13:35 Сейчас в теме
Интерфейсная задача.
На форме обработки есть ТаблицаЗначений, заполненная данными справочника. Так же, в свойствах формы указано использование пустой таблицы.
При смене текущей строки в ТаблицеЗначений, Таблица формы очищается и заполняется данными соответствующими справочнику в текущей строке таблицы значений.
Все работает, но визуально изменения в таблице формы отображаются только при изменении размеров формы (растянуть форму, свернуть - развернуть), или например при активации в таблице формы измененной области.
Форма.Обновить() - не помогает.
Что делать?

P.S. Таблица.Показать() используется только для таблиц созданных командой СоздатьОбъект()
Если использовать эту команду для таблицы формы, будет выдана ошибка:
Таблица.Показать();
{Обработка.ВыборРекламныхБлоков.Форма.Модуль(21)}: Открытие окна в данном режиме недоступно!
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
8. DenisCh 02.04.13 14:08 Сейчас в теме
(7) WaterSmith, а что её раскрывать? в (5) всё написано правильно.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. deniseek77 86 02.04.13 13:41 Сейчас в теме
(1) WaterSmith, Создавайте свою виртуальную таблицу, в момент активации новой строки, а после того, как она будет заполнена, очищайте таблицу на форме и копируйте вашу виртуальную в таблицу на форме
4. WaterSmith 355 02.04.13 13:45 Сейчас в теме
(2) deniseek77, Вы не поняли проблему. Таблица на форме очищается и заполняется без промежуточной таблицы. Проблема в ее обновлении. Как уже выяснилось, Таблица.Показать() - решает проблему, если вызывается с кнопки, но мне нужно вызывать ее именно при перемещении по строкам таблицы значений. Сейчас опробую одну идейку...
9. falcon 02.04.13 14:42 Сейчас в теме
(1) как подчиненная таблица заполняется? по какому событию?
10. dusha0020 1107 02.04.13 15:37 Сейчас в теме
(9) falcon, Ну нужно думать, что по процедуре, прикрученной к таблице значений на форме. А может обработка ожидания следящая за текущей строкой...
13. falcon 02.04.13 16:46 Сейчас в теме
(10) так "нужно" или "если"? ))
11. WaterSmith 355 02.04.13 15:38 Сейчас в теме
(9)
При смене текущей строки в ТаблицеЗначений

В 77 для этого нет событий, в 77 это делается вызовом функции из текстового поля на форме.
14. falcon 02.04.13 16:48 Сейчас в теме
(11) и у тебя на форме две ТЗ и при "вызове функции из текстового поля на форме" содержимое одной из ТЗ не меняется?
16. dusha0020 1107 02.04.13 18:51 Сейчас в теме
(11) WaterSmith,(13) falcon,
В 77 для этого нет событий
Есть в формексе ПриОтжатииЛевойКнопки(). Можно запоминать в контексте модуля формы текущую строку ТЗ и проверять на изменение в данном событии.
+ ПриНажатииКнопкиКлавиатуры() также для полного счастья нужно настроить на перехват изменения строки. Все из того же формекса.
17. falcon 02.04.13 21:41 Сейчас в теме
(16) что-то я не помню, чтобы я спрашивал про методы Формекса... в связи, позволь поинтересоваться... для чего мне эта информация?
12. Кошки рулят 02.04.13 16:09 Сейчас в теме
(1), (5) WaterSmith, Хватит ересь-то писать всякую ...
Таблица.Показать() работает в любой процедуре и без всяких условий.
Бездари от снеговика ...
15. WaterSmith 355 02.04.13 17:04 Сейчас в теме
(12) Кошки рулят, Истина Ваша, гуру от клюшек, в (6) я об этом написал. Сожалею, что Вам хватило терпения дочитать только до (5)
3. DenisCh 02.04.13 13:43 Сейчас в теме
А если "ложное закрытие" формы применить?
5. WaterSmith 355 02.04.13 13:50 Сейчас в теме
Вот, как раз про "Ложное закрытие" мне и намекнули, на Мисте. Но никто не углубляется в подробности. Могу предположить, что имеется ввиду дать команду Форма.Закрыть(), а в ПриЗакрытии(), по условию сделать СтатусВозврата(0).
Но это не понмадобилось. Достаточно было Таблица.Показать() вынести в отдельную процедуру, и вызвать ее из функции, срабатывающей при обновлении формы.
Если же Таблица.Показать() вызывать прямо в функции, то выдавало ошибку, о которой я написал в самом первом сообщении.
6. WaterSmith 355 02.04.13 13:58 Сейчас в теме
Все, окончательно понял в чем проблема.
Сам запутался, и умных людей запутать хотел.
Таблица.Показать() отлично работает, никакие хитрости не нужны. Ошибка выдается только при открытии формы, когда тоже вызывается эта функция. Ну это легко обходится.
Всем спасибо, извините, что поторопился с выводами.
7. WaterSmith 355 02.04.13 13:59 Сейчас в теме
Обещанное вознаграждение думаю заслужил DenisCh, если раскроет тему "Ложного закрытия"
8. DenisCh 02.04.13 14:08 Сейчас в теме
(7) WaterSmith, а что её раскрывать? в (5) всё написано правильно.
18. Pari 03.04.13 14:14 Сейчас в теме
Вот, как раз про "Ложное закрытие" мне и намекнули, на Мисте. Но никто не углубляется в подробности. Могу предположить, что имеется ввиду дать команду Форма.Закрыть(), а в ПриЗакрытии(), по условию сделать СтатусВозврата(0).
Но это не понмадобилось. Достаточно было Таблица.Показать() вынести в отдельную процедуру, и вызвать ее из функции, срабатывающей при обновлении формы.

(5) WaterSmith, с "ложным закрытием" срабатывает без проблем, а с выносом в отдельную процедуру не прокатило.
Где недогоняю ?
Прикрепленные файлы:
Тест.ert
19. kudlach 12 05.05.17 11:23 Сейчас в теме
Наверняка не актуально уже, но для ищущих нужно поставить точку.
Для "толстого клиента" чтобы обновить данные Таблицы значений или дерева на форме после программных изменений, нужно после изменений таблицы выполнить оператор
ЭлементыФормы.ВашаТЧнаФорме.СоздатьКолонки();
dimasts; iyrrik; getman-13; v52rus; +4 1 Ответить
20. v52rus 30.10.17 01:31 Сейчас в теме
(19) Два часа искал как обновить, спасибо, непонятно за что минус
21. Cooler 22 30.10.17 01:50 Сейчас в теме
(20)
непонятно за что минус
Минус не мой, так что остается только строить предположения: может, за то, что тема исходно была создана в разделе "Платформа 1С v7.7" и в ней действительно обсуждалась проблема 7.7?
22. kudlach 12 02.11.17 10:05 Сейчас в теме
(21) Точно. Мои извинения за невнимательность. В 7.7 была такая проблемка, точно.
Искал в поисковике то что нужно было по 8.х, наступил на форум , зашорился.
Еще раз пардон.
23. kudlach 12 02.11.17 10:07 Сейчас в теме
Могу ошибиться, в 7.7 , кажется решал такую проблемку Активацией элемента на форме.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот