WT. Практика (Desktop)
Платформа WTПрактикаСинтаксисБаза знаний
  • Приветствие
  • Основной
    • Урок 1. Форма списка и добавление записей
    • Урок 2. Редактирование таблицы
    • Урок 3. Выпадающий список
    • Урок 4. Паттерн onClose
    • Урок 5. Удаление связанных данных
    • Урок 6. Главная форма
    • Урок 7. Фильтры
    • Урок 8. Редактирование выпадающего списка
    • Урок 9. Список категорий
    • Урок 10. Паттерн Add/Edit
    • Урок 11. Экспорт данных в документ
    • Урок 12. Дерево в таблице
    • Урок 13. Самостоятельная
    • Урок 14. Постраничный просмотр
    • Дополнительно
      • Array
      • ArrayGetDataConnection
      • ConvertDataConnection
  • Загрузка данных
    • Урок 15. Режимы загрузки данных
    • Урок 16. Режим блокировки форм (Lock)
  • Многопользовательский режим
    • Урок 17. Аутентификация пользователей в программе
    • Урок 18. Права доступа
    • Урок 19. Динамические права доступа
    • Урок 20. Пользовательские настройки
    • Урок 21. Автоматическое обновление данных
  • Кастомизация
    • Урок 22. Создание кастомных команд для форм
    • Урок 23. Создание кастомных команд для серверной части
    • Урок 24. Планировщик задач
  • Продвинутый уровень
    • Урок 25. Создание API-запросов
    • Урок 26. Работа с JSON на форме
    • Урок 27. Разделение формы на несколько файлов
Powered by GitBook
On this page
  • Подготовка
  • Форма
  • Запросы
  1. Основной

Дополнительно

РАЗДЕЛ НАХОДИТСЯ В РАЗРАБОТКЕ

Last updated 1 year ago

Статьи из этого раздела помогают лучше понять некоторые элементы платформы WT и не добавляют новую логику в учебный проект.

Статьи посвящены:

  • - универсальное значение для работы с массивами/матрицами на форме;

  • - загружающее соединение с данными, которое преобразует массив/матрицу в DataConnection для использования на форме, например, в таблице DatabaseTable;

  • - загружающее соединение с данными преобразующее структуру данных, полученных из другого загружающего соединения с данными.

Подготовка

Для работы со статьями этого раздела нам понадобиться тестовая форма:

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

Форма

На форме есть список клиентов, список городов и список позиций заказов. Архивные клиенты и города закрашиваются серым цветом.

На основе этих списков будем рассматривать работу с универсальным значением <Array> и ArrayGetDataConnection. Полученные результаты от выполнения операций над массивом/матрицей будем отображать в текстовом поле справа. А результат работы с ArrayGetDataConnection будем отображать в таблице.

Запросы

Добавьте в серверный xml-файл запрос на получение списка клиентов, списка городов и списка позиций заказов:

Template.xml
<SqlQuery Name="TestClientSelectSqlQuery">
  <Text>
    SELECT
      client_id AS "ClientId",
      title AS "Title",
      city_id AS "CityId",
      archive AS "Archive"
    FROM
      template.client
    ORDER BY client_id;
  </Text>
</SqlQuery>

<SqlQuery Name="TestCitySelectSqlQuery">
  <Text>
    SELECT
      city_id AS "CityId",
      title AS "Title",
      archive AS "Archive"
    FROM
      template.city
    ORDER BY city_id;
  </Text>
</SqlQuery>

<SqlQuery Name="TestOrderPositionSelectSqlQuery">
  <Text>
    SELECT
      O.client_id AS "ClientId",
      M.title AS "MaterialTitle",
      OP.quantity AS "Quantity",
      OP.unit_price AS "UnitPrice",
      MC.title AS "MaterialCategoryTitle",
      U.short_title AS "UnitShortTitle"
    FROM
      template.order_position OP
      LEFT JOIN template.order O USING(order_id)
      LEFT JOIN template.material M USING(material_id)
      LEFT JOIN template.material_category MC USING(material_category_id)
      LEFT JOIN template.unit U USING(unit_id)
    ORDER BY O.client_id;
  </Text>
</SqlQuery>

<SqlQuery Name="TestOrderSelectSqlQuery">
  <Text>
    SELECT
      order_id AS "OrderId",
      client_id AS "ClientId",
      order_number AS "OrderNumber",
      order_date AS "OrderDate"
    FROM
      template.order
    WHERE
      NOT deleted AND
      added;
  </Text>
</SqlQuery>

Добавьте права доступа на тестовые запросы группе GuestGroup.

Отлично! Теперь можем подробнее поговорить об особенностях работы <Array> и ArrayGetDataConnection.

Array
ArrayGetDataConnection
ConvertDataConnection
23KB
TemplateTestForm.xml