Тип: ТипОтметкиЯчейкиТаблицы. Тип отметки ячейки таблицы. Значение по умолчанию – Нет.
Полное описание, параметры и ограничения
ПолеФормы.ОтметкаЯчейки (FormField.CellMark)
ПолеФормы (FormField)
ОтметкаЯчейки (CellMark)
Доступен, начиная с версии 8.5.1.
Использование:
Чтение и запись.
Описание:
Тип: ТипОтметкиЯчейкиТаблицы.
Тип отметки ячейки таблицы. Значение по умолчанию – Нет.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.5.1.
Методическая информация
Практические примеры
Переключить отметку статуса: текст, круг и овальная фигура
ОтметкаЯчейки меняет оформление собственной колонки Статус. Цикл Нет → ЗначокКруг → ФигураПодТекстомОвальная возвращает исходный вид; данные трёх локальных книг проверяются до и после переключения.
Где и как запускать
Полный модуль общей управляемой формы УчебныеЯчейкиТаблицы85. Собственный пустой стенд 8.5.1.1343, интерфейс Версия 8.5, тонкий или толстый клиент Windows. Сервер создаёт ровно три локальные строки; клиентская команда меняет только отметку колонки Статус.
Подготовка
Создайте отдельную новую пустую учебную базу платформы 8.5.1.1343. Имя конфигурации в корне дерева — УчебнаяКонфигурацияЯчеек85, язык встроенного языка Русский, ОсновнойРежимЗапуска=УправляемоеПриложение, режим совместимости Не использовать.
В свойствах корня конфигурации задайте РежимСовместимостиИнтерфейса=Версия8_5. Это точное имя метаданных и значение нативного перечисления, а не свойство ОсновнойИнтерфейс. У значения Версия8_5 пользовательское переключение режима недоступно. Обновите только свой учебный стенд и запустите тонкий или толстый управляемый клиент Windows.
В Общие → Общие формы создайте управляемую форму УчебныеЯчейкиТаблицы85. Для каждого урока используйте отдельную копию формы или отдельный пустой стенд и только полный модуль выбранного урока. Не объединяйте модули двух уроков.
В форме создайте реквизит Книги с типом ТаблицаЗначений. Под ним создайте колонки Название типа Строка длиной 100, Количество типа Число длиной 6 с точностью 0, Статус типа Строка длиной 50. Эти имена обязательно совпадают с кодом. Таблица не связана со справочниками, документами, регистрами или внешними данными.
Перетащите Книги на форму как таблицу с тремя колонками. Саму таблицу назовите ТаблицаКниг, ПутьКДанным=Книги. Имена её полей-колонок задайте КнигиНазвание, КнигиКоличество, КнигиСтатус; пути соответственно Книги.Название, Книги.Количество, Книги.Статус. Заголовки — Название, Количество, Статус.
Создайте строковый реквизит СостояниеУрока длиной 300 и поле ввода ПолеСостоянияУрока с ПутьКДанным=СостояниеУрока, ТолькоПросмотр=Истина. АвтоматическоеСохранениеДанныхВНастройках формы оставьте НеИспользовать. На форме только локальные несохраняемые учебные данные.
Событие ПриСозданииНаСервере назначьте одноимённой процедуре полного модуля. Сервер создаёт в реквизите формы ровно три строки: Книга/3/Доступно, Тетрадь/4/Проверить, Блокнот/0/Ожидается. Пользователь не должен вводить или загружать строки: таблица переводится в ТолькоПросмотр и МножественныйВыбор=Ложь.
Для запуска создайте общую команду ОткрытьУчебныеЯчейки85 без параметра и включите её в командный интерфейс собственной учебной подсистемы УчебныеЯчейки85. Полный модуль команды:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОткрытьФорму("ОбщаяФорма.УчебныеЯчейкиТаблицы85");
КонецПроцедуры
Разрешите эти собственные метаданные в учебной роли и выполните команду в своём учебном разделе.Код только читает активный интерфейс через ТекущийВариантИнтерфейсаКлиентскогоПриложения() и отказывается от опыта при другом варианте. Он не изменяет настройки интерфейса текущего сеанса, пользователя или рабочей базы.
Запуск в 1С не выполнялся. Нативная сверка типов, сигнатур, перечислений и контекстов — статическая проверка. Видимые ссылки, наведение, круги и овалы требуют ручного выполнения на указанном стенде с его активной темой и масштабом.
Создайте команду ПереключитьОтметку, действие — одноимённая клиентская процедура, ИзменяетСохраняемыеДанные=Ложь. Разместите кнопку с заголовком Переключить отметку. Реквизит КарточкаКниги и обработчик Выбор этому уроку не нужны; не добавляйте их.
У колонки КнигиСтатус оставьте обычное текстовое поле без картинки и без условного оформления. Сервер задаёт ей ОтметкаЯчейки=Нет. Цветовую палитру значков и фигур пользовательских настроек не меняйте: урок проверяет только тип отметки и сохранность текста.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() <> ВариантИнтерфейсаКлиентскогоПриложения.Версия8_5 Тогда
ВызватьИсключение "Урок требует интерфейс Версия 8.5; настройте свой учебный стенд";
КонецЕсли;
ЭтаФорма.Книги.Очистить();
ДобавитьСвоюКнигу("Книга", 3, "Доступно");
ДобавитьСвоюКнигу("Тетрадь", 4, "Проверить");
ДобавитьСвоюКнигу("Блокнот", 0, "Ожидается");
Элементы.ТаблицаКниг.ТолькоПросмотр = Истина;
Элементы.ТаблицаКниг.МножественныйВыбор = Ложь;
Элементы.КнигиСтатус.ОтметкаЯчейки = ТипОтметкиЯчейкиТаблицы.Нет;
ЭтаФорма.СостояниеУрока = "Отметка статуса: нет. Нажмите Переключить отметку";
КонецПроцедуры
&НаСервере
Процедура ДобавитьСвоюКнигу(Знач Название, Знач Количество, Знач Статус)
НоваяКнига = ЭтаФорма.Книги.Добавить();
НоваяКнига.Название = Название;
НоваяКнига.Количество = Количество;
НоваяКнига.Статус = Статус;
КонецПроцедуры
&НаКлиенте
Процедура ПереключитьОтметку(Команда)
ДоПереключения = СигнатураСвоихКниг();
Если Элементы.КнигиСтатус.ОтметкаЯчейки = ТипОтметкиЯчейкиТаблицы.Нет Тогда
Элементы.КнигиСтатус.ОтметкаЯчейки = ТипОтметкиЯчейкиТаблицы.ЗначокКруг;
ЭтаФорма.СостояниеУрока = "Отметка статуса: круг слева от текста";
ИначеЕсли Элементы.КнигиСтатус.ОтметкаЯчейки = ТипОтметкиЯчейкиТаблицы.ЗначокКруг Тогда
Элементы.КнигиСтатус.ОтметкаЯчейки = ТипОтметкиЯчейкиТаблицы.ФигураПодТекстомОвальная;
ЭтаФорма.СостояниеУрока = "Отметка статуса: овальная фигура под текстом";
Иначе
Элементы.КнигиСтатус.ОтметкаЯчейки = ТипОтметкиЯчейкиТаблицы.Нет;
ЭтаФорма.СостояниеУрока = "Отметка статуса: нет";
КонецЕсли;
Если СигнатураСвоихКниг() <> ДоПереключения Тогда
ВызватьИсключение "Переключение отметки изменило локальные данные";
КонецЕсли;
ЭтаФорма.СостояниеУрока = ЭтаФорма.СостояниеУрока + ". Значения трёх книг не изменились";
КонецПроцедуры
&НаКлиенте
Функция СигнатураСвоихКниг()
Значения = Новый Массив;
Для Каждого Книга Из ЭтаФорма.Книги Цикл
Значения.Добавить(СтрШаблон("%1=%2=%3", Книга.Название, Книга.Количество, Книга.Статус));
КонецЦикла;
Возврат СтрСоединить(Значения, ";");
КонецФункции
Разбор по шагам
Откройте собственную форму. В колонке Статус показаны Доступно, Проверить и Ожидается. Начальное значение ОтметкаЯчейки — Нет, поэтому отдельной отметки быть не должно.
Нажмите Переключить отметку первый раз. Клиент читает текущий тип отметки и устанавливает ЗначокКруг. Согласно нативной справке круг отображается слева от текста.
Проверьте все три строки: свойство задано колонке, поэтому отметка применяется ко всем её ячейкам. Оно не выбирает только статус Проверить и не является условием отбора.
Нажмите кнопку второй раз. ФигураПодТекстомОвальная меняет фон у текста на овальную фигуру. Текст статуса должен остаться тем же, включая Ожидается у Блокнот с количеством 0.
Нажмите кнопку третий раз. Устанавливается Нет, цикл возвращает обычный текстовый вид. Повторите ещё один цикл, чтобы проверить отсутствие накопления изменений данных.
В каждом переключении сигнатура собственных названий, количеств и статусов сравнивается до и после изменения свойства. Фраза Значения трёх книг не изменились появляется только после реального сравнения в коде.
Сопоставьте показанные в форме типы отметок с видимым результатом на своей активной теме и масштабе. Если круг или овал не появились, сообщите этот результат: тип установленного свойства не доказывает работу отрисовки.
Закройте собственную форму. Значения и оформление были только в памяти экземпляра; системное хранилище, файлы, печать и предметные записи не использовались.
Как проверить результат
Текст состояния идёт по циклу круг слева от текста → овальная фигура под текстом → нет. В таблице вручную проверяются соответствующие три внешних вида на интерфейсе Версия 8.5.
Во всех состояниях сохраняются Книга/3/Доступно, Тетрадь/4/Проверить, Блокнот/0/Ожидается. Сообщение о сохранности данных зависит от сравнения сигнатур и не выводится после исключения.
Установка отметки колонки не превращает статусы в Булево, не добавляет флажок выбора, не меняет количество и не скрывает строки. Три локальные строки остаются доступными только для просмотра.
Ожидаемый результат
Тип отметки собственной колонки переключается по трём нативным значениям и возвращается к исходному. Оформление отделено от локальных значений статуса и количества; визуальный результат проверяется вручную.
На что обратить внимание
ОтметкаЯчейки — не Пометка строки и не признак проведения документа. Свойство принимает ТипОтметкиЯчейкиТаблицы, а не Булево или произвольную строку.
Нативные имена — Нет, ЗначокКруг и ФигураПодТекстомОвальная. Значения Круг или Овал без этих точных имён в перечислении отсутствуют.
Свойство колонки применяется ко всем её ячейкам. Для разных отметок или цветов по статусам нужен отдельный сценарий условного оформления; данный модуль его не включает.
Цвет и фактическая геометрия зависят от темы, масштаба и отрисовки клиента. Урок не утверждает точные пиксели, цветовую семантику статусов или проверенное отображение.
Программное переключение свойства и сравнение строк не являются испытанием интерфейса. Для подтверждения круга и овала запустите урок самостоятельно на подготовленном стенде; здесь 1С не запускалась.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.