1с область ячеек табличного документа

Табличный документ (ТД) состоит из строк и столбцов, которые образуют ячейки. В этой статье рассмотрены возможности «1С:Предприятия 8», позволяющие разместить в ячейках табличного документа элементы управления для редактирования значений.

Ниже рассмотрены следующие темы:

Свойства «Текст» и «Значение» ячейки табличного документа

Основные свойства у каждой ячейки табличного документа — это Текст и Значение , причем по умолчанию доступно свойство Текст , а свойство Значение заблокировано.

ВАЖНО! Свойства Текст и Значение не могут быть использованы одновременно! Если свойство-признак СодержитЗначение установлено в значение Истина , то свойство Текст недоступно, и наоборот, если свойство-признак СодержитЗначение равно Ложь , то свойство Значение недоступно, а также все связанные другие свойства, например, ТипЗначения и ЭлементУправления .

Ниже на рисунке показана палитра свойств для ячейки табличного документа. Обратите внимание, что флажок Содержит значение не установлен, поэтому данная ячейка будет отображать Текст .

Свойство Текст имеет тип Строка . Если в ячейке необходимо разместить какую-либо текстовую информацию, необходимо использовать именно свойство Текст , например:

Обратите внимание, что даже если вы присвоите свойству Текст значение другого типа (не строкового), то оно все равно будет интерпретировано как строка. Значения базовых типов преобразуются к строке, а для ссылочных типов данных (элементов справочников, документов и т. д.) берется их представление. Если же необходимо разместить в ячейке значение другого типа, например, число, булево, дату или ссылку, и при этом не преобразовывать это значение к строке, то нужно использовать свойство Значение .

Для того чтобы появилась возможность использовать свойство Значение , необходимо явно присвоить свойству ячейки СодержитЗначение значение Истина или установить флажок Содержит значение в палитре свойств, как это показано на следующем рисунке:

Для ячейки, у которой установлен признак СодержитЗначение , можно задать тип значения, размещаемого в ячейке. На следующем рисунке указан тип Строка , но есть также возможность указать несколько возможных типов, используя составной тип данных:

Следующий фрагмент демонстрирует, как можно управлять этими свойствами из встроенного языка:

Свойство «Формат» ячейки табличного документа

Для ячейки табличного документа можно задавать формат вывода данных. Для этого используется свойство Формат , которое содержит форматную строку. Приемы работы с форматной строкой полностью совпадают с функцией Формат() системы «1С:Предприятие 8». Свойство Формат может быть установлено как интерактивно — через палитру свойств, так и программно — из встроенного языка, например:

Элемент управления в табличном документе

Элементы управления, встроенные в ячейку

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

Элемент управления можно назначить через палитру свойств или из встроенного языка с помощью метода УстановитьЭлементУправления() . Чтобы проверить в программе, установлен ли элемент управления для конкретной ячейки, можно использовать свойство ЭлементУправления , которое возвращает элемент управления, назначенный для ячейки.

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

Ниже показан пример установки элемента управления типа Флажок из встроенного языка:

Элементы управления, не встроенные в ячейку

Существует еще один способ размещения элемента управления в ячейке: использование независимого элемента управления и его «привязка» к нужной ячейке. В этом случае сама ячейка не участвует в процессе работы, а ее значения и свойства ни на что не влияют. Значения нужно будет непосредственно получать из элемента управления как обычного элемента формы. Ячейка при этом используется только как область размещения (привязки) элемента управления.

Ниже показано, как могут выглядеть такие элементы управления (не встроенные в ячейку):

В следующем фрагменте приводится пример размещения не встроенного в ячейку элемента управления в табличном документе:

Расширение элементов управления, расположенных в поле табличного документа

Для элементов управления, расположенных в табличном документе, расширяется набор свойств, методов и событий:

Разберем самые важные свойства и методы:

  • Свойство ВстроенВЯчейку имеет тип Булево и говорит о том, что элемент управления встраивается в ячейку или просто привязывается к ней, о чем было рассказано выше.
  • Свойство Видимость позволяет показать или скрыть элемент управления.
  • Свойство Значение предоставляет доступ к значению, которое редактируется в элементе управления. Оно используется только для элементов управления, поддерживающих связь с данными.
  • Метод Расположить позволяет разместить элемент управления в конкретной области ячеек табличного документа. Именно этот метод был использован в вышеприведенном примере.

Для элементов управления, расположенных в табличном документе, можно обрабатывать события, например, При изменении . Процедура-обработчик события должен находиться в модуле формы. Вот почему элементы управления имеет смысл располагать в табличном документе, только если он выводится в диалог формы (в поле табличного документа).

Свойство «Защита» ячейки табличного документа

Это свойство имеет тип Булево и содержит признак защиты ячейки от редактирования. В режиме просмотра в табличном документе недоступны для редактирования ячейки и рисунки, у которых установлено свойство Защита .

Устанавливается это свойство так же, как и любое другое:

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Работа с табличным документом в языке 1С 8.3, 8.2 (в примерах)

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Программное изменение внешнего вида табличного документа позволяет изменить границу ячейки или области (на примере — пунктирная граница):

ГраницаПунктир = Новый Линия ( ТипЛинииЯчейкиТабличногоДокумента . РедкийПунктир , 1 );

ОбластьМакета = Макет . ПолучитьОбласть ( «СтрокаТаблицы» );

ОбластьМакета . Область ( «R1C4:R1C7» ). ГраницаСнизу = ГраницаПунктир ;
ОбластьМакета . Область ( «R2C4:R2C7» ). ГраницаСверху = ГраницаПунктир ;
ОбластьМакета . Область ( «R1C4:R1C7» ). ГраницаСлева = ГраницаПунктир ;
ОбластьМакета . Область ( «R1C4:R1C7» ). ГраницаСправа = ГраницаПунктир ;

Так же можно программно объединять ячейки в табличном документе:

ТабДок . Область ( «R1C1:R1C4» ). Объединить ();

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: