# Автоматическая нумерация договоров

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

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

### **Нумерация по порядку**

Этот сценарий используется **только** для нумерации основного договора в **Шаге 5** сделки. \
Для каждой последующей сделки он подставляет порядковый номер на единицу больше предыдущего, поэтому здесь допустимы только числовые значения номеров.

В настройках компании активируйте настройку **Сделки: использовать автонумерацию договоров**, выберите тип автонумерации **По порядку** и укажите следующий номер договора, который будет использован после активации настройки:

<figure><img src="https://2409287958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkymnT1WRuXnrJRm6ZIO%2Fuploads%2FO2rZpaPdOxOn1eKly8Y7%2Fnumb_dogovor_1.png?alt=media&#x26;token=bd04e438-16e1-4c25-95e5-cb3ddc2f1c48" alt=""><figcaption></figcaption></figure>

<mark style="color:orange;">**Важно!**</mark>\
Вы можете начать автоматическую нумерацию с любого порядкового номера, но учтите, что поддерживаются номера, состоящие **только из цифр**!

При переводе следующей заявки в сделку указанный номер договора автоматически установится в **Шаге 5** сделки:

![](https://help.macrodigital.ru/upload/pages/manual/macrocrm/sdelki/87/2023-11-20_17_23_15-sdelka_v_rabote.png)

А в настройках компании вы увидите, что *Следующий номер договора* изменил свое значение на актуальное:

<figure><img src="https://2409287958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkymnT1WRuXnrJRm6ZIO%2Fuploads%2F6qocrqtsXvZtgFI4os88%2Fnumb_dogovor_2.png?alt=media&#x26;token=fd5526f8-3809-47f8-87d3-32893c93b4a0" alt=""><figcaption></figcaption></figure>

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

<mark style="color:orange;">**Важно!**</mark>\
Однажды использованный номер договора более не будет использоваться в автонумерации после расторжения сделки. Нумерация будет продолжаться последовательно, независимо от расторжений, если только вы сами не измените начальный номер в настройке.

### **Нумерация по шаблону**

Этот сценарий предлагает генерацию номеров договоров на основании значений переменных, собранных в шаблоны (маски). Такую нумерацию можно использовать в договорах бронирования, основных договорах, а также дополнительных соглашениях.

В настройках компании активируйте настройку **Сделки: использовать автонумерацию договоров,** выберите тип автонумерации **По шаблону:**

<figure><img src="https://2409287958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkymnT1WRuXnrJRm6ZIO%2Fuploads%2FXfE4sBe2NIYIJeuSCQEq%2Fnumb_dogovor_3.png?alt=media&#x26;token=966a88c7-a5bd-4d57-ac8e-f7ad3afc7dbe" alt=""><figcaption></figcaption></figure>

При этом в настройке появятся дополнительные поля для заполнения, разберем их:

* **Код категории объектов для договора** — если в вашем формате номера присутствует обозначения категории объекта недвижимости — укажите эти обозначения для каждой категории.
* **Код типа основного договора** — если вы кодируете тип договора в номере, то укажите коды для используемых типов договоров, эта кодировка может быть использована и для основного договора, и для дополнительных соглашений, формируемых на основании этого договора. Отдельной кодировки для дополнительных соглашений и договоров бронирования нет, вы можете указать любой нужный код непосредственно в шаблоне номера, например, «БР» для номера договора бронирования и «ДС» для номеров дополнительных согшений.
* **Шаблоны номеров договоров** — чтобы заполнить эти поля, нужно разобрать используемые в вашей компании форматы номеров на отдельные составляющие, под каждую составляющую подобрать подходящуюю метку переменной и собрать из меток шаблон (маску) номера.

В зависимости от кодировки номеров, принятой в компании, вы можете использовать следующие метки переменных:

* **{group\_code}** — код группы домов. Задайте уникальную кодировку в редактировании каждой группы домов.
* **{house\_code}** — код дома. Задайте уникальную кодировку в редактировании каждого дома.
* **{geo\_korpus}** — корпус дома. Укажите номер корпуса в редактировании каждого дома.
* **{geo\_block}** — блок-секция дома. Укажите номер блок-секции в редактировании каждого дома.
* **{category\_code}** — код категории объекта. Задайте коды для нужных категорий недвижимости в текущей настройке.
* **{agreement\_type\_code}** — код типа основного договора. Задайте коды для используемых типов основных договоров в текущей настройке. Для договора бронирования кодировка типа через переменную не требуется — просто укажите код договора текстом непосредственно в шаблоне. Префикс для дополнительно соглашения вы также можете указать текстом в шаблоне, при этом можно добавить в шаблон и код типа договора, чтобы обозначить, к какому договору относится соглашение.
* **{flatnum}** — строительный номер объекта. Вы можете также использовать модифицированную версию переменной с указанием максимального кол-ва выводимых цифр, через запятую после переменной. При этом кол-во цифр, оставшееся после вывода самого номера объекта, будет выведено нулями перед этим номером, например **{flatnum,4}** для объекта с номером **55** выведет значение **0055.**
* **{agreement\_number\_mod}** — модификатор номера договора после расторжения. Используйте, чтобы избежать повторения номеров при повторном заключении договора после расторжения. Переменная выведет текущий порядковый номер договора с учетом всех старых расторжений. Рекомендуем добавлять в переменную вложенный разделитель, чтобы избежать вывода лишних символов при отсутствии расторжений. Например **{"/"agreement\_number\_mod}** при имеющихся двух расторгнутых сделках по объекту выведет значение **/3** для вновь заключаемого договора, а при отсутствии расторжений - вообще не выведется.
* **{ds\_number\_mod}** — модификатор номера дополнительного соглашения. Используйте, чтобы избежать повторения номеров дополнительных соглашений. Переменная выведет текущий порядковый номер соглашения с учетом уже имеющихся. Например, при имеющихся двух соглашениях по сделке переменная выведет значение **3** для вновь создаваемого соглашения.

Переменные можно располагать в шаблоне в произвольном порядке и добавлять между ними различные разделители.

**Разберем создание шаблона номера** на примере основного договора **СТР1-Кв-ДДУ-156/2**, где:

* **СТР1** — это код дома, задаем для каждого дома собственный код в разделе редактирования и используем в шаблоне метку **{house\_code}**

<figure><img src="https://2409287958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkymnT1WRuXnrJRm6ZIO%2Fuploads%2FsTnqoy6LuUvnl2YcejES%2Fnumb_dogovor_4.png?alt=media&#x26;token=a361ba7c-1147-4b43-bdba-c452c1c75eaf" alt=""><figcaption></figcaption></figure>

* **Кв** — это код категории объекта недвижимости, задаем в текущей настройке кодировку для всех категорий объектов недвижимости, которые продаем, и используем в шаблоне метку **{category\_code}**&#x20;
* **ДДУ** — это код типа договора, задаем в текущей настройке кодировку для всех используемых типов договоров, а для шаблона возьмем метку **{agreement\_type\_code}:**

<figure><img src="https://2409287958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkymnT1WRuXnrJRm6ZIO%2Fuploads%2FAASOhUq06JTv9r3TC5HS%2Fnumb_dogovor_7.png?alt=media&#x26;token=1918457a-f00a-42c1-99f6-b666a98ea293" alt=""><figcaption></figcaption></figure>

* **156** — это номер объекта недвижимости, предположим, что у нас уже созданы дома с объектами, а значит и номера у них уже есть, для шаблона используем метку **{flatnum}.**
* **2** — это модификатор номера договора после расторжения. Поскольку номер договора состоит из фиксированных переменных, для каждого объекта может быть только один набор значений этих переменных, поэтому номер договора для одного и того же объекта всегда будет неизменным. Чтобы добавить отличие номеру при заключении нового договора после расторжения — используем метку **{agreement\_number\_mod}**, она будет добавлять договору порядковый номер.

Также в этом примере видим, что все составляющие номера, кроме модификатора расторжений, отделены друг от друга символом-разделителем **«-»**, поэтому в шаблоне прописываем этот символ между всеми переменными, кроме модификатора.&#x20;

Модификатор отделяется от номера символом **«/»**, при этом в самом первом заключаемом договоре значение модификации будет отсутствовать, т.к. не было расторжений. Если просто прописать символ **«/»** около метки модификатора, вот так **{...}/{agreement\_number\_mod}**, то для первого договора номер выйдет с этим символом, но без самого модификатора, вот так **СТР1-Кв-ДДУ-156/**, а нам это не нужно, поэтому встраиваем символ-разделитель непосредственно в саму метку модификатора в кавычках, вот так **{...}{"/"agreement\_number\_mod}**, тогда для первого заключаемого договора номер сформируется так **СТР1-Кв-ДДУ-156**, после первого расторжения — так **СТР1-Кв-ДДУ-156/2**, после второго расторжения — так **СТР1-Кв-ДДУ-156/3** и т.д.

Таким образом собрался весь шаблон номера:

**{house\_code}-{category\_code}-{agreement\_type\_code}-{flatnum}{”/“agreement\_number\_mod}**

Помещаем его в поле **Шаблон номера основного договора** и сохраняем настройки:

<figure><img src="https://2409287958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkymnT1WRuXnrJRm6ZIO%2Fuploads%2F3kw58U710hx6AW3Gb8yX%2Fnumb_dogovor_6.png?alt=media&#x26;token=247e8b5d-3c5f-4c40-9137-b01c807908ba" alt=""><figcaption></figcaption></figure>

Затем проверяем формирование номера в сделке. Обратите внимание, что номер присвоится после выбора типа договора, т.к. от этого зависят выводимые в номер значения:

![](https://help.macrodigital.ru/upload/pages/manual/macrocrm/sdelki/87/b13bb90913218b27075b11d04c921164.gif)

Таким же образом вы можете подготовить шаблоны номеров для договора бронирования и дополнительных соглашений, а наш отдел сопровождения с радостью поможет вам в этом, если возникнут вопросы :)


---

# 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://docs.macrodigital.ru/manual/macrocrm/sdelki/avtomaticheskaja_numeracija_dogovorov.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.
