Имя: Пароль:
1C
1С v8
УФ. Не обновляется таблица при установленном отборе после изменений
0 SeraFim
 
25.01.16
15:53
Имеется:
Управляемая форма. На ней некоторая таблица, без разницы количество колонок, и неважно, кто источник - ТЧ или ТЗ.
У Таблицы установлен ОтборСтрок.
Есть некоторая кнопочка, которая программно добавляет строчки в ТЧ/ТЗ, которые 100% удовлетворяют отбору.

И вот тут начинаются чудеса:
Если сразу нажать по кнопочке, то всё работает отлично - строчечка добавляется программно и тут же отображается на форме.
А вот если сначала изменить какой-нибудь реквизит, и только потом нажать на кнопочку, то Строка всё же добавится, но вот отображаться она не будет. Можно хоть 100 штук добавить - ни одна не отобразится.

Перебрал все варианты, какие пришли в голову, помогло если заново установить отбор. У кого-нибудь еще есть варианты?
В техподдержку, конечно, отпишу. Но это долгая история - пока проверят, пока исправят - выйдет уже 8.3.8) А что сейчас-то делать, есть идеи?

Вот небольшой примерчик-обработочка
https://yadi.sk/d/YAKkfnl6nhoee

Проверил уже на:
8.2.19.130
8.3.6.2237
8.3.7.1860
1 Mort
 
25.01.16
16:14
Почитаем СП:


Расширение таблицы формы для табличных частей.ОтборСтрок (Form table extension for tabular sections.RowFilter)
Расширение таблицы формы для табличных частей (Form table extension for tabular sections)
ОтборСтрок (RowFilter)
Использование:

Чтение и запись.
Описание:

Тип: Неопределено; ФиксированнаяСтруктура.
Позволяет установить отбор по значению колонки.
В качестве ключа используется имя реквизита табличной части, а в качестве значения - значение, по которому осуществляется отбор.
Чтобы снять отбор нужно присвоить свойству либо значение Неопределено, либо пустую ФиксированнаяСтруктура.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
Изменение свойства на клиенте требует обращения к серверу.

Примечание:

При программном изменении табличной части отбор нужно переустанавливать, чтобы для измененных строк отбор отработал.
Отбор выполняется по условию вхождения значения. Например, если в колонке есть ячейки со значением "Строка 1", "Строка 2", ... "Строка 10", "Строка 11", ... и устанавливается отбор по значению "Строка 1", то в таблицу будут отобраны строки со значениями "Строка 1", "Строка 10", "Строка 11" и т.д.
2 SeraFim
 
25.01.16
16:25
(1) блин, точно...
Но тогда непонятно, почему всё же добавляются строки, если добавить строки сразу?

То есть если сразу программно добавляю - всё отлично работает.
А вот если сначала интерактивно изменю, и только потом программно добавлю - всё перестает работать. Если верить справке, то оно и в первом случае не должно работать) Чудесааа)
3 olegves
 
25.01.16
16:28
(2) попробуй:
Элементы.ТвояТаблица.Обновить (или ОбновитьОтображение)
4 olegves
 
25.01.16
16:29
+(3) сразу после добавления
5 SeraFim
 
25.01.16
16:32
(4) пробовал, не работает.

(1) забыл сказать: спасибо!
6 Fedor-1971
 
25.01.16
17:20
(2) тут вопрос в месте установки ОтбораСтрок - присмотрись, где устанавливаешь, например, если в ПриАктивацииСтроки, то в ней нельзя использовать процедуры/функции НаСервере.

Симптомы твоего случая примерно похожи на эту ситуацию, т.е. когда сразу на свежей форме добавляешь строки - нормально, как только дёрнулся НаСервер с неразрешенного места, приплыли - начинаются чудеса.