Обучающие статьи. Урок - Таблица Значений в BAS

Эта статья была обновлена 17 Июня 2022, Пт
Оглавление
  1. Таблица значений в программе BAS
  2. Простая таблица значений
  3. Работа с элементами формы
  4. Таблица значений метод Вставить()
  5. Таблица значений отбор строк
  6. Таблица значений метод Свернуть()

Таблица значений в BAS

Таблица значений в программе BAS

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

Создаем внешнюю обработку, на которую размещаем кнопку, при нажатии которой будут происходить все операции с таблицами.

Таблицы значений

Простая таблица значений

Таблицы значений

Посмотрим в отладке что получилось.

Пример таблицы значений

Все как мы и описали в коде. Колонки с нашими названиями и строки с нашими значениями.

Давайте перейдем к частичной визуализации наших решений в интерфейсе программы. Добавим программный вывод нашей таблицы значений на форму.

Работа с элементами формы

Таблицы значений в BAS

Разберем новые значения.

На первом этапе создаем новый массив Реквизиты, в который записываем нужные нам Реквизиты формы.

Элементы – это свойство интерфейса формы. У Элементы есть свои методы, например Добавить(). Этот метод добавляет новый элемент на форму. В первом параметре мы указываем имя, далее тип элемента (если открыть синтаксис-помощник на методе Добавить(), то можно посмотреть какие еще типы можно указывать). На первом этапе добавляем пустую таблицу

Далее использую метод Добавить() в цикле создаем колонки. Никаких размеров не указываем, как в обычных формах, платформа все сделает автоматически.

На последнем этапе заполняем таблицу данными.

Открываем нашу обработку, чтобы посмотреть что получится. Напомним, на форме мы никаких таблиц не создавали. Нажимаем Кнопку.

Пример вывода таблицы значений

Таблицы значений

На форме появилась таблица и заполнилась информацией из кода.

 

Теперь давайте пройдемся по методам таблицы значений.

Метод Вставить() – Вставляет строку на указанный индекс строки. В отличии от предыдущих коллекций значений тут добавляется целая строка, а не значение в конкретной строке.

Таблица значений метод Вставить()

Таблица значений

Таким образом, мы добавим строку перед строкой с яблоком.

Пример с добавленными строками

В том случае, если на форме уже есть табличная часть, то загрузка значений в нее, при условии совпадения колонок происходит еще проще.

Создаем табличную часть Товары.

Таблицы значений

Загрузка табличной части

Используем метод Загрузить() и получаем еще одну таблицу на форме.

Таблицы значений

МетодВыбратьСтроку() - нужен в том случае если вы хотите взаимодействовать с пользователем.

Метод Выгрузить() – Нужен если вы хотите получить отдельную колонку или строку, для передачи например в запрос или загрузки в другую таблицу значений или еще куда-то. Для примера выгрузим колонку Вкус.

Таблицы значений выгрузитьТаблицы значений выгрузка

Метод Загрузить() – обратный методу Выгрузить(). Загружает массив в указанную колонку, в параметрах обязательно указывать имя колонки как и загружаемый массив.

Метод Итог() – очень полезный метод если вам нужно получить сумму числовой колонки.

Метод НайтиСтроки() или НайтиПоИдетнификатору()– нужен для поиска строки с искомым значением. Можно так же указать, в каких колонках искать значения. В итоге мы получим одну строку с искомым значением.

Таблица значений отбор строк

Таблица значений отбор строк

Результат такого поиска:

Пример таблицы значений со структурой

Так же стоит отметить, что возвращается в результате поиска массив.

Метод Количество(), Индекс(), Получить(), Очистить() – аналогичны предыдущим типам универсальных коллекций.

Метод Скопировать() – копирует всю таблицу значений, в параметрах можно указать строки и колонки для копирования.

Метод СкопироватьКолонки() – копирует только колонки таблицы значений, без самих значений этих колонок, т.е. строки скопированы не будут.

Метод Сортировать() – сортирует значения в указанных колонках указанным методом. Например, для сортировки по убыванию: "Убыв" и "Возр" для возрастания.

Метод Сдвинуть() – сдвигает строку на указанное количество вверх по таблице или в низ. Для сдвига вниз Таблица.Сдвинуть(0, 1), и в обратную сторону Таблица.Сдвинуть(0, -1);

Метод Свернуть() – очень полезный метод если у вас есть несколько повторяющихся значений. Как и в методе Итог() мы получим таблицу с итогом по одной или нескольких числовых колонках.

Для примера расширим нашу таблицу колонкой Сумма.

Таблица значений метод Свернуть()

Таблицы значений

До сворачивания наша таблица будет иметь такой вид:

Таблица значений до сворачивания

Сворачиваем по полю Вкус:

Таблица значений после сворачивания

После сворачивания:

Таблица после сворачивания

Метод, во-первых удалил колонки, которых не было в параметрах, колонки Фрукт и Цвет были удалены, во-вторых по колонке Сумма были просуммированы значения.

Почему только по Солодкий, а остальных никак не тронуло?

Все просто, в первой части параметров мы указали, какие колонки и их значения считать уникальными. Т.е. у нас изначально было две строки со значением «Солодкий», но т.к. они одинаковы и мы указали эту колонку в параметрах, метод соединил все строки с одинаковыми значениями, и просуммировал последнюю колонку «Сумма», т.к. мы указали ее как суммируемую.

Выгрузка Таблицы в XML файл

Воспользуемся Фабрикой XDTO для формирования XML файла. Добавим код в нашу процедуру:

Выгрузка таблицы в XMLДля простоты примера не будем вызывать окно выбора пути и имени файла. Полученный результат:

Выгрузка таблицы в XML

Также можно вручную создать XML файл с требуемой структурой.

Выгрузка таблицы в XML

 

Более подробно с таблицами можно ознакомиться на наших курсах программирования BAS и онлайн программирования BAS

Так же, наша компания проводит обучение по курсам:

 Обучение проводится в вечернее время, что позволит вам не отрываться от работы или обучения, практикующим программистом нашей компании.

Если у вас остались вопросы, Вы всегда можете обратиться к нашим аналитикам по телефонам:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20

( 5 )
Комментарии
Пока нет комментариев
Написать комментарий

Свяжитесь с нами

Если вы хотите получить больше информации, заполните эту форму. Мы свяжемся с вами в ближайшее время.

(073) 090-70-20 (095) 090-70-20 (068) 090-70-20 info@finsoft.ua