Как отобразить флажок в строках табличного поля в системе 1С8? Способ первый

Форма обработки 1С8 с первым примером отображение флажка в строках табличного поля

Здравствуйте, уважаемые читатели блога SoftMaker.kz. Сегодня я продолжу тему о работе с табличным полем. Здесь, на этом блоге, уже есть

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


Форма обработки 1С8 с первым примером отображение флажка в строках табличного поля

Для начала создадим новую обработку в конфигураторе 1С8. Пункт меню «Файл» – «Новый» – «Внешняя обработка» – «ОК». Теперь сохраним обработку, назвав – например – «ОтображениеФлажка1».

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

Перем Отмеченные;

Процедура КнопкаВыполнитьНажатие(Кнопка)
// Создам таблицу значений
ТабЗначений = Новый ТаблицаЗначений;

// Добавлю две колонки
ТабЗначений.Колонки.Вставить(0,“Отметка”,,“О”,1);// для флажка
ТабЗначений.Колонки.Вставить(1,“Товар”,,“Товар”,25);

// Добавлю две строки в таблицу значений, для примера

НоваяСтрока = ТабЗначений.Добавить();
// флажок установлен, если в соответствии Отмеченные
// существует ключ со значением.
Отмеченные[НоваяСтрока] = Истина;
НоваяСтрока.Отметка = Истина;
НоваяСтрока.Товар = “Сапоги зимние”;

НоваяСтрока = ТабЗначений.Добавить();
// флажок не установлен, т.к. для этой
// строки мы не задали соответствия.
НоваяСтрока.Отметка = Ложь;
НоваяСтрока.Товар = “Сапоги летние”;

// Загружает новые колонки из источника данных ТабЗначений.
// Благодаря этому действию в табличном поле ТабличноеПоле1
// выводятся строки.
ЭлементыФормы.ТабличноеПоле1.Значение = ТабЗначений;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
КонецПроцедуры


Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент,
ОформлениеСтроки, ДанныеСтроки)
// Зададим признак отображения флажка в колонке Отметка
ОформлениеСтроки.Ячейки.Отметка.ОтображатьФлажок = Истина;
// Здесь мы проверяем есть ли в соответствии Омеченные
// данные о текущей строке.
Если Отмеченные[ДанныеСтроки] = Неопределено Тогда
// Нет соответствия, тогда флажок отключён.
ОформлениеСтроки.Ячейки.Отметка.Флажок = Ложь;
Иначе
// Есть соответствие, тогда флажок включён.
ОформлениеСтроки.Ячейки.Отметка.Флажок = Истина;
КонецЕсли;
КонецПроцедуры

Процедура ТабличноеПоле1ПриИзмененииФлажка(Элемент, Колонка)
// Проверяем какая колонка текущая на данный момент,
// другими словами, в какой колонке и на какой ячейке
// произведен щелчок мыши.
Если Колонка.Имя = “Отметка” Тогда
// Теперь меняем отображение флажка
// в зависимости от его состояния.
Если Отмеченные[Элемент.ТекущаяСтрока] = Неопределено Тогда
// Флажок не установлен, устанавливаем,
// добавляя элемет в соответствие.
Отмеченные[Элемент.ТекущаяСтрока] = Истина;
Иначе
// Флажок установлен, снимаем, удаляя элемент
// из соответствия.
Отмеченные.Удалить(Элемент.ТекущаяСтрока);
КонецЕсли;
КонецЕсли;
КонецПроцедуры

Отмеченные = Новый Соответствие;

Если Вы создали новую обработку и поместили на неё табличное поле,
тогда можно скопировать отсюда весь текст обработки и вставить его в
Ваш модуль формы. Теперь можно проверить обработку в режиме 1С:Предприятия.
Первый способ готов! На подходе второй!

Этот блог читают уже более 3000 человек
- читай и ТЫ!
2 ответы
  1. Желтый Змей says:

    Какие же вы хорошие программисты 1С! Это очень хорошая статья! Спасибо!

    Ответить

Ответить

Want to join the discussion?
Feel free to contribute!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *