Обновляет табличное поле. Если параметр не указан, то выполняется обновление всех строк. Если указана строка табличного поля, то обновляется именно указанная строка. Если указан массив строк, то обновляются указанные в массиве строки.
Синтаксис
ОбновитьСтроки()ОбновитьСтроки(<Строки>)Полное описание, параметры и ограничения
ТабличноеПоле.ОбновитьСтроки (TableBox.RefreshRows)
ТабличноеПоле (TableBox)
ОбновитьСтроки (RefreshRows)
Доступен, начиная с версии 8.0.
Вариант синтаксиса: Обновить все
Синтаксис:
ОбновитьСтроки()
Описание варианта метода:
Выполняет обновление всех видимых строк табличного поля.
Вариант синтаксиса: По строке или массиву строк
Синтаксис:
ОбновитьСтроки(<Строки>)
Параметры:
<Строки> (необязательный)
Тип: Строка.
Строка или массив строк табличного поля.
Описание варианта метода:
Выполняет обновление указанной строки или группы строк табличного поля.
Описание:
Обновляет табличное поле.
Если параметр не указан, то выполняется обновление всех строк.
Если указана строка табличного поля, то обновляется именно указанная строка.
Если указан массив строк, то обновляются указанные в массиве строки.
Доступность:
Толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Отличить имя колонки от поля данных и дополнительного флажка
Колонку количества переименовываем в КолКоличество, но она остаётся связана с полем Количество. Дополнительный флажок связан с собственным Выбран.
Где и как запускать
Модуль новой обычной формы внешней обработки. Только толстый клиент, обычные формы; не серверный модуль и не управляемая форма.
Подготовка
Это обычная форма, не управляемая: используйте толстый клиент с обычными формами в отдельной учебной базе. Создайте новую внешнюю обработку, обычную форму и её реквизит Товары типа ТаблицаЗначений. Рабочие документы и справочники не нужны.
В редакторе формы добавьте табличное поле ТаблицаТоваров, свойство Данные свяжите с реквизитом Товары. Добавьте обычную кнопку УчебнаяКоманда, её действие свяжите с процедурой УчебнаяКоманда. ПриОткрытии свяжите с одноимённым событием формы.
Каждый урок — отдельный полный модуль этой учебной формы. Он заново создаёт в памяти Книгу (3) и Ручку (1), а СоздатьКолонки удаляет прежние колонки только своего табличного поля. Не вставляйте код в рабочую форму с настроенными колонками.
Откройте форму, затем нажмите учебную кнопку. Изменения данных и оформления относятся только к реквизиту внешней обработки в памяти. Здесь нет Записать, обращения к рабочим данным или проверки интерфейса реальной УТ 10.3.
Процедура ПриОткрытии()
Товары = Новый ТаблицаЗначений;
Товары.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Товары.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Товары.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
Товары.Колонки.Добавить("Выбран", Новый ОписаниеТипов("Булево"));
Книга = Товары.Добавить();
Книга.Код = "A-01";
Книга.Наименование = "Книга";
Книга.Количество = 3;
Книга.Выбран = Ложь;
Ручка = Товары.Добавить();
Ручка.Код = "B-02";
Ручка.Наименование = "Ручка";
Ручка.Количество = 1;
Ручка.Выбран = Ложь;
Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
Таблица.СоздатьКолонки();
Таблица.АвтоВводНовойСтроки = Ложь;
Если Товары.Количество() <> 2 Тогда
ВызватьИсключение "Ожидались два собственных учебных товара";
КонецЕсли;
Таблица.ТекущаяСтрока = Товары[0];
Колонка = Таблица.Колонки.Найти("Количество");
Если Колонка = Неопределено Тогда
ВызватьИсключение "В своей таблице не найдена колонка количества";
КонецЕсли;
Колонка.Имя = "КолКоличество";
Колонка.Данные = "Количество";
Колонка.ДанныеФлажка = "Выбран";
Колонка.ТриСостоянияФлажка = Ложь;
Колонка.ОтображатьИерархию = Ложь;
КонецПроцедуры
Процедура УчебнаяКоманда(Кнопка)
Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
Колонка = Таблица.Колонки.Найти("КолКоличество");
Если Колонка = Неопределено Тогда
ВызватьИсключение "Не найдена собственная переименованная колонка";
КонецЕсли;
Товары[0].Выбран = Не Товары[0].Выбран;
Таблица.ОбновитьСтроки();
Сообщить(Колонка.Имя = "КолКоличество");
Сообщить(Колонка.Данные = "Количество");
Сообщить(Колонка.ДанныеФлажка = "Выбран");
Сообщить("Книга отмечена: " + Строка(Товары[0].Выбран));
Сообщить(Товары[0].Количество = 3);
КонецПроцедурыРазбор по шагам
Имя идентифицирует колонку интерфейса. Данные идентифицирует поле собственного источника, переименование одного не переименовывает другое.
После смены имени искать колонку нужно по КолКоличество, а не по прежнему имени Количество.
ДанныеФлажка связывает дополнительный флажок с другим булевым полем Выбран. Само поле Количество осталось числовым.
Двухсостоянийный флажок подходит Булево. ОтображатьИерархию выключено, потому что это плоская таблица, не дерево.
Кнопка меняет только Выбран и обновляет отображение: количество книги остаётся 3.
Как проверить результат
Четыре сравнения Истина и диагностическая отметка.
Проверьте дополнительный флажок в числовой колонке, затем повторите нажатие.
Ожидаемый результат
Разделены идентификатор колонки, числовые данные и булев флажок.
На что обратить внимание
Этот механизм отличается от отдельной булевой колонки с редактором Флажок.
Нельзя связать ДанныеФлажка с числовым полем Количество.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Отменить копирование и добавление интерактивной строки
Копирование и добавление запускают редактор новой строки своей таблицы. Отменяем оба редактора и проверяем, что исходные товары сохранены.
Где и как запускать
Модуль новой обычной формы внешней обработки. Только толстый клиент, обычные формы; не серверный модуль и не управляемая форма.
Подготовка
Это обычная форма, не управляемая: используйте толстый клиент с обычными формами в отдельной учебной базе. Создайте новую внешнюю обработку, обычную форму и её реквизит Товары типа ТаблицаЗначений. Рабочие документы и справочники не нужны.
В редакторе формы добавьте табличное поле ТаблицаТоваров, свойство Данные свяжите с реквизитом Товары. Добавьте обычную кнопку УчебнаяКоманда, её действие свяжите с процедурой УчебнаяКоманда. ПриОткрытии свяжите с одноимённым событием формы.
Каждый урок — отдельный полный модуль этой учебной формы. Он заново создаёт в памяти Книгу (3) и Ручку (1), а СоздатьКолонки удаляет прежние колонки только своего табличного поля. Не вставляйте код в рабочую форму с настроенными колонками.
Откройте форму, затем нажмите учебную кнопку. Изменения данных и оформления относятся только к реквизиту внешней обработки в памяти. Здесь нет Записать, обращения к рабочим данным или проверки интерфейса реальной УТ 10.3.
Процедура ПриОткрытии()
Товары = Новый ТаблицаЗначений;
Товары.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Товары.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Товары.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
Товары.Колонки.Добавить("Выбран", Новый ОписаниеТипов("Булево"));
Книга = Товары.Добавить();
Книга.Код = "A-01";
Книга.Наименование = "Книга";
Книга.Количество = 3;
Книга.Выбран = Ложь;
Ручка = Товары.Добавить();
Ручка.Код = "B-02";
Ручка.Наименование = "Ручка";
Ручка.Количество = 1;
Ручка.Выбран = Ложь;
Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
Таблица.СоздатьКолонки();
Таблица.АвтоВводНовойСтроки = Ложь;
Если Товары.Количество() <> 2 Тогда
ВызватьИсключение "Ожидались два собственных учебных товара";
КонецЕсли;
Таблица.ТекущаяСтрока = Товары[0];
Таблица.ТолькоПросмотр = Ложь;
Таблица.ИзменятьСоставСтрок = Истина;
КонецПроцедуры
Процедура УчебнаяКоманда(Кнопка)
Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
Если Товары.Количество() <> 2 Тогда
ВызватьИсключение "Переоткройте форму с двумя исходными товарами";
КонецЕсли;
Таблица.ТекущаяСтрока = Товары[0];
Таблица.СкопироватьСтроку();
Таблица.ЗакончитьРедактированиеСтроки(Истина);
Сообщить(Товары.Количество() = 2);
Таблица.ДобавитьСтроку();
Таблица.ЗакончитьРедактированиеСтроки(Истина);
Таблица.ОбновитьСтроки();
Сообщить(Товары.Количество() = 2);
Сообщить(Товары.Итог("Количество") = 4);
КонецПроцедурыРазбор по шагам
Разрешаем изменение состава только собственной таблицы в памяти.
Перед копированием устанавливаем текущей существующую книгу.
СкопироватьСтроку соответствует интерактивному копированию, не методу Скопировать таблицы значений.
ЗакончитьРедактированиеСтроки(Истина) отменяет новую строку копирования. Затем аналогично отменяем новую пустую строку.
После обновления отображения проверяем обе отмены: строк 2, суммарное количество 4.
Как проверить результат
Три сообщения Истина при исходной форме.
Обработчик выполняет обе отмены сразу; новые редакторы не остаются открытыми.
Ожидаемый результат
Показано управление интерактивными редакторами без сохранения новых строк.
На что обратить внимание
Это не отмена ранее записанных документов и не транзакция базы.
В рабочем источнике данных обработчики создания строк могут иметь побочные эффекты; здесь используется новая собственная внешняя обработка без таких обработчиков.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.