WT. База знаний
Платформа WTПрактикаСинтаксисБаза знаний
  • База знаний
  • Guidelines
    • Код
    • Интерфейс
    • Шпаргалки и дорожные карты
  • Workflow XML Editor
    • Сочетания клавиш
    • Patterns
  • Платформа WT
    • Файлы конфигурации
      • Сервер
        • appsettings.json
        • hosting.json
      • Служба обновления
        • appsettings.json
      • Клиент Desktop
        • WorkflowForms.dll.config
      • Клиент Mobile
        • app.settings.json
      • Клиент Web
        • appsettings.json
    • Аутентификация
    • Права доступа
    • Системные переменные и параметры конфигурации
    • Временные зоны
    • Сохранение вложенных сущностей
    • Диаграммы
  • SQL
    • Пользовательские функции
      • Функции на языке запросов (SQL)
      • Функции на процедурном языке PL/pgSQL
    • Функции nextval и currval
    • Индексы
    • Настройка postgresql.conf
  • Кастомизация Клиента
    • Создание и настройка проекта
    • Классы платформы (С#)
      • TimeZoneHelper
      • DataBinding
      • XmlParser
        • Методы
          • GetAttributeValue
          • GetRequiredAttributeValue
          • GetElementDataBinding
          • GetRequiredElementDataBinding
    • Языки в кастомках
    • Шаблоны кастомок
      • MyObject
      • DataConnection
      • Condition
      • Command
  • Кастомизация Сервера
    • Создание и настройка проекта
    • Классы платформы (С#)
      • XmlParser
        • Методы
          • GetAttributeValue
          • GetRequiredAttributeValue
          • GetElementValue
          • GetRequiredElementValue
    • Шаблоны кастомок
      • Command
      • SqlQuery
Powered by GitBook
On this page
  • Форматирование кода
  • Серверная часть
  • Клиентская часть
  • Элементы формы
  • Объекты формы
  1. Guidelines

Код

Last updated 1 year ago

Форматирование кода

Workflow XML Editor

Для автоматического выравнивания кода в редакторе Workflow XML Editor используется сочетание клавиш Ctrl + Q.

Полный список сочетаний клавиш приведен в .

Серверная часть

Элементы серверного xml-файла группируем в логические боки в рамках родительского тэга. И каждый блок отмечаем комментарием, раскрывающим смысл блока.

Например, запросы на получение списка городов и списка клиентов и запросы на редактирование этих списков объединяем в два блока:

В начале блока идут запросы на чтение данных о клиентах, а затем запросы на редактирование этих данных.

В блок запросов для работы со списком можно добавить запрос на получение короткого списка, который будет использовать на формах в ComboBox - запрос ClientShortSelectSqlQuery. Если этот запрос будет вызываться только на одной форме, то лучше описать его в блоке запросов связанных с этой формой. Например, в блок запросов для работы с заказами добавлены запросы OrderPositionByOrderIdSelectSqlQuery и OrderPaymentByOrderIdSelectSqlQuery, которые будут вызываться только на форме заказа:

Аналогично группируем и AccessPoint, собирая в один блок точки доступа привязанные к одной сущности:

В случае с AccessPoint можно использовать короткую запись комментария для наименования блока, т.к. код занимает меньше места, чем описание SqlQuery с текстом запроса. Двустрочный комментарий удобен при редактировании кода SqlQuery с текстом запросов.

Описание Permission и Role так же группируем в блоки.

Клиентская часть

Элементы формы

Все элементы формы кроме ее объектов группируются в блоки, объединенные либо одной сущностью, либо одной логикой.

На скриншоте ниже видно, что в блоки "Позиции заказа" и "Оплаты" попали DataConnection, которые хранят списки сущностей для отображения в таблицах но форме. А в блок "Вспомогательные" попали те, что получают с сервера данные для выпадающих списков.

Аналогичным образом следует поступать с условиями и командами:

Объекты формы

Порядок описания xml-кода элементов формы должен соответствовать порядку отображения элементов в интерфейсе. Объекты описываются сверху вниз и слева направо в пределах своего контейнера.

статье