# Методы ticketStatuses



# ticketStatuses.reload()

### Перезагрузить все статусы из БД

```JavaScript
ticketStatuses.reload()
```

##### Описание:

Перезагружает все статусы из БД.

##### Возвращает:

**bool** - подтверждение перезагрузки.

# ticketStatuses.getCollection()

#### <span style="color: #222222; font-size: 1.666em;">Получить Laravel Collection</span>  


```JavaScript
ticketStatuses.getCollection()
```

##### Описание:

Возвращает коллекцию статусов заявок.

##### Возвращает:

**?Collection** - данные статусов в виде коллекции.

##### Пример:

```JavaScript
let collection = ticketStatuses.find([['name', 'like', 'СТАТУС']], true);
status = collection.last();
status = status['_object'] ? status['_object'] : null;
lead.setAttr('7_status_from_collection', status ? status.name : null);

collection = collection.reload();

collection = ticketStatuses.getCollection();
statuses = collection.where('name', '=', 'статус 1');
status = statuses.first();
status = (status && status['_object']) ? status['_object'] : null;
lead.setAttr('8_status_from_collection', status ? status.name : null);
```

# ticketStatuses.find()

#### <span style="color: #222222; font-size: 1.666em;">Поиск статусов</span>  


```JavaScript
ticketStatuses.find(array|object|null $where, bool $isReturnCollection = false)
```

##### Описание:

Находит статусы соответствующие указанным данным.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-per-0" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">where</td><td style="width: 33.3745%; height: 29.7969px;">array|object|null</td><td style="width: 33.3745%; height: 29.7969px;">Параметр по которому будет проверяться соответствие с найденными статусами</td></tr><tr><td style="width: 33.3745%;">isReturnCollection</td><td style="width: 33.3745%;">bool </td><td style="width: 33.3745%;">Параметр позволяющий вернуть значения в виде коллекции</td></tr></tbody></table>

##### Возвращает:

**?ScriptTicketStatus** - v8 обертка над моделью

или

**Collection** - данные статусов в виде коллекции.

##### Пример:

```JavaScript
let statuses = ticketStatuses.find([['name', 'like', 'СТАТУС']]);
lead.setAttr('6_found_ticket_statuses_count', statuses.length);

let collection = ticketStatuses.find([['name', 'like', 'СТАТУС']], true);
status = collection.last();
status = status['_object'] ? status['_object'] : null;
lead.setAttr('7_status_from_collection', status ? status.name : null);
```

### Атрибуты и методы ScriptTicketStatus

После получения **ScriptTicketStatus** над ним можно работать с помощью следующих методов для получения необходимых значений:

<table border="1" id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%9C%D0%B5%D1%82%D0%BE%D0%B4-%D0%92%D0%BE%D0%B7%D0%B2%D1%80" style="border-collapse: collapse; width: 100%; height: 598.313px;"><tbody><tr style="height: 46.5938px; background-color: #c2e0f4;"><td style="width: 32.0171%; height: 46.5938px;">Описание</td><td style="width: 50.0595%; height: 46.5938px;">Метод</td><td style="width: 17.9234%; height: 46.5938px;">Возвращаемое значение</td></tr><tr style="height: 86.8281px;"><td style="width: 32.0171%; height: 86.8281px;">Получение элемента

</td><td style="width: 50.0595%; height: 86.8281px;">- .last()
- .first()
- .where()

</td><td style="width: 17.9234%; height: 86.8281px;">**?string**</td></tr><tr style="height: 53.2344px;"><td style="width: 32.0171%; height: 53.2344px;">Обновление

</td><td style="width: 50.0595%; height: 53.2344px;">- .reload()

</td><td style="width: 17.9234%; height: 53.2344px;">**bool**</td></tr><tr style="height: 137.219px;"><td style="width: 32.0171%; height: 137.219px;">Получение даты создания

</td><td style="width: 50.0595%; height: 137.219px;">- created\_at
- createdAt
- getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string
- createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null)

</td><td style="width: 17.9234%; height: 137.219px;">**?string**</td></tr><tr style="height: 137.219px;"><td style="width: 32.0171%; height: 137.219px;">Получение даты обновления

</td><td style="width: 50.0595%; height: 137.219px;">- updated\_at
- updatedAt
- getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string
- updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null)

</td><td style="width: 17.9234%; height: 137.219px;">**?string**</td></tr><tr style="height: 137.219px;"><td style="width: 32.0171%; height: 137.219px;">Получение даты удаления

</td><td style="width: 50.0595%; height: 137.219px;">- deleted\_at
- deletedAt
- getDeletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string
- deletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null)

</td><td style="width: 17.9234%; height: 137.219px;">**?string**</td></tr></tbody></table>

# ticketStatuses.findById()

#### <span style="color: #222222; font-size: 1.666em;">Поиск статуса по ID</span>  


```JavaScript
ticketStatuses.findById(string|int|null $id)
```

##### Описание:

Находит статус соответствующий указанному id.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-id-" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">id</td><td style="width: 33.3745%; height: 29.7969px;">string|int|null</td><td style="width: 33.3745%; height: 29.7969px;">ID статуса заявки</td></tr></tbody></table>

##### Возвращает:

**?ScriptTicketStatus** - v8 обертка над моделью

##### Пример:

```JavaScript
let status = ticketStatuses.findById(1095);
lead.setAttr('2_found_ticket_status_by_id', status ? status.id : null);
```

### Атрибуты и методы ScriptTicketStatus

После получения **ScriptTicketStatus** над ним можно работать с помощью следующих методов для получения необходимых значений:

<table border="1" id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%9C%D0%B5%D1%82%D0%BE%D0%B4-%D0%92%D0%BE%D0%B7%D0%B2%D1%80" style="border-collapse: collapse; width: 100%; height: 598.313px;"><tbody><tr style="height: 46.5938px; background-color: #c2e0f4;"><td style="width: 32.0171%; height: 46.5938px;">Описание</td><td style="width: 50.0595%; height: 46.5938px;">Метод</td><td style="width: 17.9234%; height: 46.5938px;">Возвращаемое значение</td></tr><tr style="height: 86.8281px;"><td style="width: 32.0171%; height: 86.8281px;">Получение элемента

</td><td style="width: 50.0595%; height: 86.8281px;">- .last()
- .first()
- .where()

</td><td style="width: 17.9234%; height: 86.8281px;">**?string**</td></tr><tr style="height: 53.2344px;"><td style="width: 32.0171%; height: 53.2344px;">Обновление

</td><td style="width: 50.0595%; height: 53.2344px;">- .reload()

</td><td style="width: 17.9234%; height: 53.2344px;">**bool**</td></tr><tr style="height: 137.219px;"><td style="width: 32.0171%; height: 137.219px;">Получение даты создания

</td><td style="width: 50.0595%; height: 137.219px;">- created\_at
- createdAt
- getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string
- createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null)

</td><td style="width: 17.9234%; height: 137.219px;">**?string**</td></tr><tr style="height: 137.219px;"><td style="width: 32.0171%; height: 137.219px;">Получение даты обновления

</td><td style="width: 50.0595%; height: 137.219px;">- updated\_at
- updatedAt
- getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string
- updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null)

</td><td style="width: 17.9234%; height: 137.219px;">**?string**</td></tr><tr style="height: 137.219px;"><td style="width: 32.0171%; height: 137.219px;">Получение даты удаления

</td><td style="width: 50.0595%; height: 137.219px;">- deleted\_at
- deletedAt
- getDeletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string
- deletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null)

</td><td style="width: 17.9234%; height: 137.219px;">**?string**</td></tr></tbody></table>

# ticketStatuses.findByName()

#### <span style="color: #222222; font-size: 1.666em;">Поиск статуса по имени</span>  


```JavaScript
ticketStatuses.findByName(string $name)
```

##### Описание:

Находит статус соответствующий указанному имени.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-nam" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">name</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Имя статуса заявки</td></tr></tbody></table>

##### Возвращает:

**?ScriptTicketStatus** - v8 обертка над моделью.

##### Пример:

```JavaScript
let status = ticketStatuses.findByName('статус 1');
lead.setAttr('0_found_ticket_status_by_name', status ? status.id : null);
```

### Атрибуты и методы ScriptTicketStatus

После получения **ScriptTicketStatus** над ним можно работать с помощью следующих методов для получения необходимых значений:

<table border="1" id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%9C%D0%B5%D1%82%D0%BE%D0%B4-%D0%92%D0%BE%D0%B7%D0%B2%D1%80" style="border-collapse: collapse; width: 100%; height: 598.313px;"><tbody><tr style="height: 46.5938px; background-color: #c2e0f4;"><td style="width: 32.0171%; height: 46.5938px;">Описание</td><td style="width: 50.0595%; height: 46.5938px;">Метод</td><td style="width: 17.9234%; height: 46.5938px;">Возвращаемое значение</td></tr><tr style="height: 86.8281px;"><td style="width: 32.0171%; height: 86.8281px;">Получение элемента

</td><td style="width: 50.0595%; height: 86.8281px;">- .last()
- .first()
- .where()

</td><td style="width: 17.9234%; height: 86.8281px;">**?string**</td></tr><tr style="height: 53.2344px;"><td style="width: 32.0171%; height: 53.2344px;">Обновление

</td><td style="width: 50.0595%; height: 53.2344px;">- .reload()

</td><td style="width: 17.9234%; height: 53.2344px;">**bool**</td></tr><tr style="height: 137.219px;"><td style="width: 32.0171%; height: 137.219px;">Получение даты создания

</td><td style="width: 50.0595%; height: 137.219px;">- created\_at
- createdAt
- getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string
- createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null)

</td><td style="width: 17.9234%; height: 137.219px;">**?string**</td></tr><tr style="height: 137.219px;"><td style="width: 32.0171%; height: 137.219px;">Получение даты обновления

</td><td style="width: 50.0595%; height: 137.219px;">- updated\_at
- updatedAt
- getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string
- updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null)

</td><td style="width: 17.9234%; height: 137.219px;">**?string**</td></tr><tr style="height: 137.219px;"><td style="width: 32.0171%; height: 137.219px;">Получение даты удаления

</td><td style="width: 50.0595%; height: 137.219px;">- deleted\_at
- deletedAt
- getDeletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string
- deletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null)

</td><td style="width: 17.9234%; height: 137.219px;">**?string**</td></tr></tbody></table>

# ticketStatuses.findAllByNames()

#### <span style="color: #222222; font-size: 1.666em;">Поиск статусов по имени</span>  


```JavaScript
ticketStatuses.findAllByNames(string|array|object|null $names, string $operator = '=', bool $isReturnCollection = false)
```

##### Описание:

Находит статусы соответствующие указанным именам.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-nam-0" style="border-collapse: collapse; width: 100%; height: 170.188px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 46.7969px;"><td style="width: 33.3745%; height: 46.7969px;">names</td><td style="width: 33.3745%; height: 46.7969px;">string|array|object|null</td><td style="width: 33.3745%; height: 46.7969px;">Имя статуса</td></tr><tr style="height: 46.7969px;"><td style="width: 33.3745%; height: 46.7969px;">operator</td><td style="width: 33.3745%; height: 46.7969px;">string</td><td style="width: 33.3745%; height: 46.7969px;">Оператор</td></tr><tr style="height: 46.7969px;"><td style="width: 33.3745%; height: 46.7969px;">isReturnCollection</td><td style="width: 33.3745%; height: 46.7969px;">bool</td><td style="width: 33.3745%; height: 46.7969px;">Параметр позволяющий вернуть значения в виде коллекции</td></tr></tbody></table>

##### Возвращает:

**Collection** - данные статусов в виде коллекции.

##### Пример:

```JavaScript
let statuses = ticketStatuses.findAllByNames('статус', 'like');
lead.setAttr('1_found_ticket_status_by_names_like', statuses.length);

statuses = ticketStatuses.findAllByNames(['статус 1', 'Статус 2'], 'IN');
lead.setAttr('3_found_ticket_statuses_by_names_count', statuses.length);
```

# ticketStatuses.findAllByTypes()

#### <span style="color: #222222; font-size: 1.666em;">Поиск статусов по типу статуса</span>  


```JavaScript
ticketStatuses.findAllByTypes(string|array|object|null $types, string $operator = '=', bool $isReturnCollection = false)
```

##### Описание:

Находит статусы соответствующие указанным типам.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-typ" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%; height: 46.7969px;">types</td><td style="width: 33.3745%; height: 46.7969px;">string|array|object|null</td><td style="width: 33.3745%; height: 46.7969px;">Тип статуса</td></tr><tr><td style="width: 33.3745%; height: 46.7969px;">operator</td><td style="width: 33.3745%; height: 46.7969px;">string</td><td style="width: 33.3745%; height: 46.7969px;">Оператор</td></tr><tr><td style="width: 33.3745%; height: 46.7969px;">isReturnCollection</td><td style="width: 33.3745%; height: 46.7969px;">bool</td><td style="width: 33.3745%; height: 46.7969px;">Параметр позволяющий вернуть значения в виде коллекции</td></tr></tbody></table>

На данный момент поддерживаются следующие типы статусов:

- NEW
- ASSIGNED
- PENDING\_CONFIRMATION
- CONFIRMED
- CANCELLED
- CLOSED
- PENDING\_PAYMENT
- PAYMENT\_FAILED
- PAID
- PREPARING\_ORDER
- DELIVERY\_IN\_PROGRESS
- WAITS\_FOR\_CUSTOMER\_PICK\_UP
- DELIVERED

##### Возвращает:

**Collection** - данные статусов в виде коллекции.

##### Пример:

```JavaScript
var statuses = ticketStatuses.findAllByTypes(['ASSIGNED', 'NEW'], 'IN');
lead.setAttr('4_found_ticket_statuses_by_types_in_count', statuses.length);

statuses = ticketStatuses.findAllByTypes('ASSIGNED', 'like');
lead.setAttr('5_found_ticket_statuses_by_types_like_count', statuses.length);
```