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

В **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)

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