# Расширяемость

Если для вашего проекта не хватает какого-либо функционала, можно с помощью языка c# написать свои новые объекты и новые функциональные типы.

Дерево конфигурации состоит из объектов и из экземпляров метаданных этих объектов. Например объект [Выборка](/azimut/dokumentaciya/osnovnye-obekty/vyborka.md). Это большой функционал позволяющий пользователю работать со списками и справочниками. Под объектом "Выборки" в дереве располагаются уже конкретные экземпляры, например Клиенты, Заказы, Типы заказов и т.д. В каждом экземпляре свои метаданные. Для выборки это поля и источник данных.

## Новые виды объектов

Вы можете разработать принципиально новый вид объекта. Со своим форматом метаданных, который вам необходим. Азимут автоматом позаботится о создании всей инфраструктуры для работы с вашим новым объектом. По сути, все основные объекты бизнес приложений, такие как Выборка, Представление и т.д. так и были реализованы - мы просто взяли и создали такое расширение. А голая платформа Азимут ничего этого делать не умеет, она только предоставляет инфраструктуру для работы с метаданными, релизами, наследованием. Можно сказать, что платформа была реализована сама на себе.

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

## Расширение функционала существующих видов объектов

Кроме разработки принципиально новых объектов, вы можете унаследоваться от уже существующих и добавить или переопределить свой функционал.

## Новые функциональные типы

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

![](/files/-Lq0LAsY-gKXPkj4OIKD)

![](/files/-Lq0LIR51XPz5rDbgYEx)

![](/files/-Lq0LXd81Mpg45lm3-TM)

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

Для этого нужно только унаследоваться или от базового типа или от любого другого существующего, чтобы расширить его функционал.

См также: [Разработка дополнений](/azimut/rasshirenie-platformy/writing-extensions.md). Как видите, расширяется очень многое. Практически все аспекты разработки. Кроме того, это мы можем сделать за вас, в рамках договора на техобслуживание, чтобы вы не отвлекались на рутину от прикладной части проекта.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://projects.itproduct.ru/azimut/koncepciya/rasshiryaemost.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
