Заполнение табличной формы
Заполнение ячеек в табличной форме может осуществляться при помощи двух методов: УСТ_ДАННЫЕ_ЯЧЕЙКИ и ПОДСТАВИТЬ_ДАННЫЕ.
В ячейках табличной формы могут содержаться значения стандартных типов - ЧИЛО, ЦЕЛОЕ, СТРОКА, ДАТА, ВРЕМЯ, ЛОГИКА, а также значение кода объекта аналитики. Кроме того, существуют отдельные типы ячеек - макрос и элемент управления.
Прежде чем заполнять ячейки табличной формы, нужно задать им тип данных. Тип задается на вкладке Данные в Инспекторе объектов или в меню Форма-Ячейки-Атрибуты. Там же можно указать значение содержимого ячейки. При необходимости можно изменить формат отображения содержимого ячейки. Это осуществляется при помощи атрибутов данных, которые доступны на вкладке Данные в Инспекторе объектов или в меню Форма-Ячейки-Атрибуты. Набор атрибутов данных меняется в зависимости от выбранного типа данных ячейки.
Метод УСТ_ДАННЫЕ_ЯЧЕЙКИ заполняет табличную форму по ячейкам. Этот метод принимает значение типа ТФ_ЯЧЕЙКА. Объектный тип ТФ_ЯЧЕЙКА использует разные возможности адресации к ячейке что предполагает вариативность заполнения табличной формы. Ячейка табличной формы однозначно идентифицируется тремя числами: номером раздела, номером столбца и номером строки. При заполнении табличной формы при помощи метода УСТ_ДАННЫЕ_ЯЧЕЙКИ обращение к ячейке происходит по этим трем значениям. Но нумерация строк и столбцов может меняться на ходу, например при добавлении и удалении строк и столбцов, поэтому использование номеров строки и столбца не самый предпочтительный вариант. Наиболее устойчивый к ошибкам вариант - это использование идентификаторов ячеек, столбцов и строк вместо номеров строки и столбца.
В Редакторе Форм устанавливаются идентификаторы ячейкам в поле ид.ячейки в Инспекторе объектов или в меню Форма-Ячейки-Идентификатор. В процессе выполнения программы идентификатор ячейки присваивается при помощи метода УСТ_ИДЕНТ_ЯЧЕЙКИ.
Пример 1
Пример 1 иллюстрирует функцию, которая заполняет табличную форму по идентификаторам ячеек и устанавливает формат отображения даты в ячейке.
... ФУНКЦИЯ Заполнение ПЕРЕМ ТФ_ЯЧЕЙКА: яч1, яч2, яч3, яч4, яч5, яч6, яч7, яч8 яч1 = [имя_раздела = "Раздел1", идент = "фио"] УСТ_ДАННЫЕ_ЯЧЕЙКИ(яч1, "Иванов Иван Иванович") яч2 = [имя_раздела = "Раздел1", идент = "должность"] УСТ_ДАННЫЕ_ЯЧЕЙКИ(яч2, "Бухгалтер") яч3 = [имя_раздела = "Раздел1", идент = "отдел"] УСТ_ДАННЫЕ_ЯЧЕЙКИ(яч3, "Отдел торговли, сбыта и снабжения") яч4 = [имя_раздела = "Раздел3", идент = "удержания"] УСТ_ДАННЫЕ_ЯЧЕЙКИ(яч4, "НДФЛ13") яч5 = [имя_раздела = "Раздел3", идент = "начисления"] УСТ_ДАННЫЕ_ЯЧЕЙКИ(яч5, "Повременно (Стандарт)") яч6 = [имя_раздела = "Раздел3", идент = "удержсумма"] УСТ_ДАННЫЕ_ЯЧЕЙКИ(яч6, "4841") яч7 = [имя_раздела = "Раздел3", идент = "начислсумма"] УСТ_ДАННЫЕ_ЯЧЕЙКИ(яч7, "17000") яч8 = [имя_раздела = "Раздел2", идент = "дата"] ПЕРЕМ ФОРМАТ_ДАТЫ: формат = [маска = "dd.mm.yyyy", разделитель = "/"] ПЕРЕМ СТРОКА: стр = ФОРМАТ_Д(ДАТА_ТЕК, формат) УСТ_ДАННЫЕ_ЯЧЕЙКИ(яч8, стр) КОНЕЦ_ФУНКЦИИ ...
Метод ПОДСТАВИТЬ_ДАННЫЕ осуществляет подстановку сформированных данных в табличную форму. В качетсве подстановок используется связка строкового ключа, который ассоциируется с именем раздела и идентификатором ячейки или строки, и подставляемого значения. Тип ПОДСТАНОВКА_ФОРМЫ не стоит использовать для заполнения форм с большим объемом данных.
Пример 2
Пример 2 иллюстрирует функцию, которая заполняет табличную форму при помощи подстановок и устанавливает формат отображения даты в ячейке.
... ФУНКЦИЯ Заполнение ПЕРЕМ ПОДСТАНОВКА_ФОРМЫ: подстановка подстановка.поля["Раздел1:фио"] = "Иванов Иван Иванович" подстановка.поля["Раздел1:должность"] = "Бухгалтер" подстановка.поля["Раздел1:отдел"] = "Отдел торговли, сбыта и снабжения" подстановка.поля["Раздел3:удержания"] = "НДФЛ13" подстановка.поля["Раздел3:начисления"] = "Повременно (Стандарт)" подстановка.поля["Раздел3:удержсумма"] = "4841" подстановка.поля["Раздел3:начислсумма"] = "17000" ПЕРЕМ ФОРМАТ_ДАТЫ: формат = [маска = "dd.mm.yyyy", разделитель = "/"] ПЕРЕМ СТРОКА: стр = ФОРМАТ_Д(ДАТА_ТЕК, формат) подстановка.поля["Раздел2:дата"] = стр ПОДСТАВИТЬ_ДАННЫЕ(подстановка) КОНЕЦ_ФУНКЦИИ ...
В итоге после заполнения табличная форма выглядит следующим образом.