Руководство разработчика

Использование внутреннего источника данных

При использовании внутреннего хранения данных в таблице вся информация содержится в индексном поле самой таблицы. В объектном типе ТАБЛИЦА для этого варианта хранения данных в поле элементы содержится вся информация, предназначенная для вывода. В индексном поле элементы хранятся пары место в таблице - данные. Индексами являются целочисленные значения строки и столбца, элементами - значения любого типа.

Использование внутреннего источника данных для таблицы - простой вариант для разработчиков, так как создание такой таблицы почти не требует программирования. Все данные для отображения сразу заносятся в индексное поле таблицы, поэтому таблицы с таким источником данных по своей сути аналогичны электронным таблицам Excel. Таблицы с внутренним источником данных сразу отображаются в диалогах, все ячейки редактируемые с последующим сохранением всех внесенных изменений. Следует учитывать, что при изменении реального источника, откуда берутся данные для заполнения таблицы, потребуется редактировать индексное поле таблицы для соответствия ее с реальным источником данных.

Заполнение индексного поля лучше всего производить в обработчике до_открытия. В примере ниже демонстрируется таблица с внутренним хранением данных.

Пример

ТИП Диалог_таб(ДИАЛОГ)
[
  ... 
  ПОДМЕНА до_открытия = {Заполнение_внутреннего_источника};
  ...
  ТАБЛИЦА: Таблица1 = [ левый = 25,
                        верхний = 50,
                        ширина = 260,
                        высота = 125,
                        табиндекс = 1003,
                        размер_столбца = 50,
                        размер_строки = 20,
                        столбцы = ( 1: 76,
                                    3: 105 ),
                        элементы = ( 1, 1: "ТОВАРЫ",
                                     2, 1: "цена",
                                     3, 1: "Производитель" )];

  ФУНКЦИЯ ЛОГИКА: Заполнение_внутреннего_источника
    РЕЗУЛЬТАТ = ДА
    ЦИКЛ ДЛЯ (строка = 2, 10)
      Таблица1.элементы[1, строка] = "ТОВАР_" + СТР(строка - 1)
      Таблица1.элементы[2, строка] = СЛУЧ_ЧИСЛО(500)
      Таблица1.элементы[3, строка] = "Производитель_" + СТР(строка - 1)
    КОНЕЦ_ЦИКЛА
  КОНЕЦ_ФУНКЦИИ
  ...
]

ВЫЧИСЛИТЬ
  ПЕРЕМ Диалог_таб: д
  // д <- данные
  ЕСЛИ д.ПОКАЗАТЬ_МОДАЛЬНЫЙ <> "" ТО
    // д -> данные
  КОНЕЦ_ЕСЛИ
КОНЕЦ

См. также: