Files
obsidian/Галс/Разработка/Правила разработки. Код-ревью.md

12 KiB
Raw Permalink Blame History

Создание объектов

  1. Код объекта - HalsApplication. Вначале автоматически ставится префикс Hals далее пишем название объекта на английском в единственном числе.
  2. Заголовок - всегда в единственном числе, независимо от того, справочник это или объекты системы (в будущем раздел)
  3. Родительский объект
    1. Для новых разделов системы, деталей всегда выбираем BaseEntity
    2. Для будущих справочником всегда выбираем BaseLookup
    3. Для изменения встроенных базовых объектов выбираем их в качестве родительского Account Order и другие
  4. Идентификатор всегда подставится автоматически поле Id
  5. Отображаемое значение - для справочников, у которых родительский BaseLookup подставится автоматически Название (Name), для кастомных объектов системы создаем новое поле, которые будет являться отображаемым значением, например Название (HalsName)
  6. Типы полей
    1. Текстовые выбираем всегда по планируемому размеру, не нужно ставить 500 символов там, где будет максимум 20. Строки неограниченной длины используем крайне редко и никогда не используем их в колонках, которые будут выступать в роли "Отображаемое значение" для объекта
    2. Дробные числа также выбираем аккуратно, в дальнейшем изменить формат дроби можно будет, проблем нет, но лучше заложить сразу то, что нужно будет
    3. Дата/Время, Дата, Время - всегда выбираем тот формат, который нужен, если в поле должна быть только дата, то именно такой формат и используем
    4. Логическое поле всегда именуется HalsIsActive - то есть используем обязательно Is это поможет структурировать поля и лучше их понимать
    5. Справочник - Вид справочника тоже выбираем, исходя из потребности. Использовать всплывающее окно для двух-трех значения крайне не оптимально. Код для поля типа "Справочник" должен быть в формате HalsClientCorvet, а не HalsHalsClientCorvet не нужно дублировать наименования связанного объекта, оно может отличаться
    6. Именование полей должно быть простым и понятным Неверно - GalsTypeRatingClients. Верно - HalsRating Неверно - GalsRegistrationAdres. Верно - HalsAddress

Создание раздела

  1. Сначала всегда создаем объект самостоятельно, затем переходим в "Мастер разделов"

  2. Нажимаем "Выбрать существующий объект" - Выбираем нужный нам объект

  3. В поле "Заголовок" изменяем единственное число названия объекта на множественное "Клиент -> Клиенты". Нажимаем "Сохранить", настройку страницу делаем позже. !Pasted image 20260728193259.png

  4. Поле "Рабочее место" не заполняем

  5. После этого создадутся две записи "Клиентского модуля" HalsCorvetClient1Page и HalsCorvetCliente285b5ebSection Нужно изменить их название, иначе непонятные названия Именования по принципу <объект>+<Page/Section> HalsCorvetClientPage или HalsCorvetClientSection Изменяем в define и настройке модуля !Pasted image 20260728193622.png!Pasted image 20260728193630.png

Создание детали

  1. Сначала всегда создаем объект самостоятельно, затем переходим в "Мастер деталей", никаких созданий через страницу редактирования
  2. Заголовок = множественное число названия объекта
  3. Редактируемый реестр делаем тогда, когда знаем, что деталь будет редактироваться, не открывая страницу записи
  4. Если реестр не редактируемый, то нужно настроить страницу для удобного просмотра и редактирования записи
  5. После этого создадутся две записи "Клиентского модуля" HalsSchema501397caDetail и HalsHalsClientAppeal1d349ac3Page Нужно изменить их название, иначе непонятные названия
  6. Именования по принципу <объект>+<Detail/Page> HalsCorvetClientDetailPage или HalsCorvetClientDetail Изменяем в define и настройке модуля !Pasted image 20260728203120.png!Pasted image 20260728203134.png

Изменение страницы раздела

  1. Поле name для полей объекта в секции diff каждой страницы должно быть равно bindTo То есть name = коду поля Неверно GalsName7dcd5698-2a16-42d6-8283-c76deb6ab0b3 Верно HalsName Неверно LOOKUP9d81a3c8-8702-4451-acfd-705952c2b8ff Верно Type ==Данная проблема решается, если сначала создать поля, а потом делать раздел и настраивать страницу==!Pasted image 20260728200945.png

  2. При создании новой вкладки нужно писать читаемый и понятный код для вкладки. Код должен содержать содержать информацию отображаемого названия и/или логику полей, деталей вкладки Неверно Tabf4ed05f9TabLabel Верно TabClientAppeal !Pasted image 20260728200923.png

  3. Детали добавляем на страницу только после создания объекта детали и создания самой детали через "Мастер деталей", иначе на странице будут вот такие непонятные названия GalsSchema13c15d98Detailfa2c0e05. А должно быть что-то в формате HalsClientAppeals Заполняем в поле "Код (на английском)" при добавлении детали на страницу !Pasted image 20260728201104.png На этапе добавления детали на страницу уже создан объект, инициализирована деталь через мастер, а также изменены стандартные названия для схемы см. правило выше "Создание детали" !Pasted image 20260728201244.png

  4. Добавление группы полей похоже на добавлении вкладки Заголовок - русское название Код - читаемый и понятный по названию и логике

    Неверно - GeneralInfoTabGroupc6801bb1 Верно - ClientAppealTabGroup

Создание и привязка справочника

  1. После создания объекта, который будет справочником нужно создать справочник и привязать его к пакетам
  2. Добавляем справочник Объект - наш объект, по которому делаем справочник Тип объекта недвижимости Название - название объекта во множественном числе Типы объектов недвижимости
  3. После этого добавляем записи в справочник, которые нужно привязать к пакетам, чтобы между стендами Id были одинаковыми
  4. Привязка справочника включает в себя
    1. Привязка самого справочника Нажимаем добавить "Данные". В поле "Объект" указываем Lookup Далее в название добавляем од объекта, например Lookup_HalsRealPropertyType Обязательно для обновления - Name

    2. Привязка данных объекта Нажимаем добавить "Данные". В поле "Объект" указываем наш объект HalsRealPropertyType Далее в название добавляем _All, например HalsRealPropertyType_All Обязательно для обновления - выбираем поля, которые могут меняться в рамках цикла разработки. Галочка означает, что если мы добавим запись в справочник, выльем на ветку, то если у старых имя отличается от того, которое у нас было на локальном стенде, то оно изменится. Переходим на "Привязанные данные". Нажимаем "Добавить" и добавляем все записи объекта, которые нужно переносить между стендами

Привязка настройки колонок для детали, раздела, справочника

  1. Настраиваем колонки в разделе, детали, справочнике

  2. Нажимаем "Сохранить" и стрелочку, там будет "Сохранить для всех пользователей"

  3. Далее привязываем настройку Нажимаем добавить "Данные". В поле "Объект" указываем SysProfileData Переходим на "Привязанные данные". Нажимаем "Добавить", в левом столбце выбираем "Ключ" В "Поиск" вбиваем примерное название, например делали настройку раздела "Контакты" - ContactSectionV2 делали настройку детали "Обращения" - ClientAppealDetail !Pasted image 20260728202050.png

    Далее нужно выбрать правильный ключ Раздел - ContactSectionV2GridSettingsGridDataView, тут главное ваш раздел + GridSettingsGridDataView Код детали - ContactPageV2ConfItemInContactDetail, тут главное код страницы, на которой настраивали деталь ContactPageV2 + код детали ConfItemInContactDetail А поле "Контакт" должно быть пустым !Pasted image 20260728202526.png

    Обязательно для обновления - ObjectDifference и ObjectData Далее в название добавляем _ключ, например SysProfileData_ContactPageV2ConfItemInContactDetail