Заполнение табличной формы
Заполнение ячеек в табличной форме может осуществляться при помощи двух методов: УСТ_ДАННЫЕ_ЯЧЕЙКИ и ПОДСТАВИТЬ_ДАННЫЕ.
В ячейках табличной формы могут содержаться значения стандартных типов - ЧИЛО, ЦЕЛОЕ, СТРОКА, ДАТА, ВРЕМЯ, ЛОГИКА, а также значение кода объекта аналитики. Кроме того, существуют отдельные типы ячеек - макрос и элемент управления.
Прежде чем заполнять ячейки табличной формы, нужно задать им тип данных. Тип задается на вкладке Данные в Инспекторе объектов или в меню Форма-Ячейки-Атрибуты. Там же можно указать значение содержимого ячейки. При необходимости можно изменить формат отображения содержимого ячейки. Это осуществляется при помощи атрибутов данных, которые доступны на вкладке Данные в Инспекторе объектов или в меню Форма-Ячейки-Атрибуты. Набор атрибутов данных меняется в зависимости от выбранного типа данных ячейки.
Метод УСТ_ДАННЫЕ_ЯЧЕЙКИ заполняет табличную форму по ячейкам. Этот метод принимает значение типа ТФ_ЯЧЕЙКА. Объектный тип ТФ_ЯЧЕЙКА использует разные возможности адресации к ячейке что предполагает вариативность заполнения табличной формы. Ячейка табличной формы однозначно идентифицируется тремя числами: номером раздела, номером столбца и номером строки. При заполнении табличной формы при помощи метода УСТ_ДАННЫЕ_ЯЧЕЙКИ обращение к ячейке происходит по этим трем значениям. Но нумерация строк и столбцов может меняться на ходу, например при добавлении и удалении строк и столбцов, поэтому использование номеров строки и столбца не самый предпочтительный вариант. Наиболее устойчивый к ошибкам вариант - это использование идентификаторов ячеек, столбцов и строк вместо номеров строки и столбца.
В Редакторе Форм устанавливаются идентификаторы ячейкам в поле ид.ячейки в Инспекторе объектов или в меню Форма-Ячейки-Идентификатор. В процессе выполнения программы идентификатор ячейки присваивается при помощи метода УСТ_ИДЕНТ_ЯЧЕЙКИ.
Пример 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:дата"] = стр
ПОДСТАВИТЬ_ДАННЫЕ(подстановка)
КОНЕЦ_ФУНКЦИИ
...
В итоге после заполнения табличная форма выглядит следующим образом. 