> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yume.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Глоссарий: Ресурсы и склад

> Справочник моделей, полей, операций и ошибок складского учёта ресурсов, используемых в задачах мастерской.

Справочник к странице [«Ресурсы и складской учёт»](/ru/logic/workshop/resources).

## Понятия

| Понятие                                | Значение                                                                                                                                                               |
| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Тип учёта ресурса                      | Определяет, считается ли ресурс в целых единицах (штучный) или произвольным количеством (объём/сумма). COUNT-ресурсы округляются до целых, дробные значения запрещены. |
| Складской ресурс                       | Расходный материал со складским учётом: общий запас и текущий остаток, используемый в задачах мастерской.                                                              |
| Ресурс задачи мастерской               | Привязка складского ресурса или инвентаря к конкретной ремонтной задаче с количеством, ценой и статусом подтверждения.                                                 |
| Сервис складского учёта                | Модуль операций со складом: списание, возврат и пересчёт остатков ресурса под блокировкой строки.                                                                      |
| Ошибка: недостаточно остатка           | Исключение, когда запрошенное к списанию количество превышает доступный остаток.                                                                                       |
| Ошибка: дробное количество недопустимо | Исключение при попытке списать дробное количество штучного ресурса.                                                                                                    |
| Трансляция складских ошибок            | Контекст-менеджер, переводящий фреймворк-независимые складские исключения в HTTP-ошибку на уровне формата.                                                             |

## Модели и поля

### Складской ресурс

*Расходный материал со складским учётом: общий запас и текущий остаток, используемый в задачах мастерской. Мягкое удаление через флаг «Удалён».*

| Поле             | Тип             | Описание                                                              |
| ---------------- | --------------- | --------------------------------------------------------------------- |
| Название         | текст           | Наименование ресурса.                                                 |
| Цена             | число (2 знака) | Цена за единицу.                                                      |
| Тип учёта        | перечисление    | Штучный или количественный.                                           |
| Общее количество | число (2 знака) | Полный запас на складе.                                               |
| Остаток          | число (2 знака) | Доступный остаток; не может быть меньше 0 и больше общего количества. |
| Удалён           | флаг            | Мягкое удаление; скрывает ресурс из списков.                          |
| Создан           | дата/время      | Момент создания.                                                      |
| Обновлён         | дата/время      | Момент последнего изменения.                                          |
| Компания         | связь           | Арендатор-владелец записи.                                            |

### Ресурс задачи мастерской

*Привязка складского ресурса или инвентаря к конкретной ремонтной задаче с количеством, ценой и статусом подтверждения. Уникальность по компании, инвентарю и задаче при заполненном инвентаре; списание и возврат остатка завязаны на формат и сигнал удаления.*

**Связи**

| Поле              | Тип   | Описание                                               |
| ----------------- | ----- | ------------------------------------------------------ |
| Задача            | связь | Ремонтная задача, к которой привязан ресурс.           |
| Складской ресурс  | связь | Списываемый со склада расходник (может отсутствовать). |
| Единица инвентаря | связь | Привязанная единица инвентаря.                         |
| Группа инвентаря  | связь | Привязанная группа инвентаря.                          |
| Тариф             | связь | Тариф инвентаря; обнуляется при удалении тарифа.       |

**Количество**

| Поле       | Тип             | Описание                                     |
| ---------- | --------------- | -------------------------------------------- |
| Количество | число (2 знака) | Списываемое/возвращаемое количество ресурса. |

**Деньги**

| Поле | Тип             | Описание                    |
| ---- | --------------- | --------------------------- |
| Цена | число (2 знака) | Стоимость позиции в задаче. |

**Подтверждение**

| Поле            | Тип   | Описание                             |
| --------------- | ----- | ------------------------------------ |
| Подтверждён     | флаг  | Признак подтверждения позиции.       |
| Кем подтверждён | связь | Пользователь, подтвердивший позицию. |

**Прочее**

| Поле        | Тип            | Описание                            |
| ----------- | -------------- | ----------------------------------- |
| Доп. данные | словарь (JSON) | Произвольные дополнительные данные. |
| Создан      | дата/время     | Момент создания.                    |
| Обновлён    | дата/время     | Момент последнего изменения.        |
| Компания    | связь          | Арендатор-владелец записи.          |

### Сервис складского учёта

*Модуль операций со складом: списание, возврат и пересчёт остатков ресурса под блокировкой строки. Списание и пересчёт вызываются из формата при создании/правке; возврат — из сигнала удаления задачи-ресурса; операции вне endpoint остаток не трогают.*

**Операции**

| Поле     | Тип      | Описание                                                                                                                                                                            |
| -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Списание | операция | Уменьшает остаток на указанное количество; блокирует строку на время операции; сообщает об ошибке при нехватке остатка и о недопустимости дробного количества для штучного ресурса. |
| Возврат  | операция | Возвращает количество в остаток, не превышая общего количества.                                                                                                                     |
| Пересчёт | операция | Возврат старого количества и списание нового при правке позиции.                                                                                                                    |

### Ошибка: недостаточно остатка

*Исключение, когда запрошенное к списанию количество превышает доступный остаток. Переводится в HTTP-ошибку на границе формата.*

| Поле             | Тип   | Описание                                     |
| ---------------- | ----- | -------------------------------------------- |
| Название ресурса | текст | Имя ресурса, по которому не хватило остатка. |
| Доступно         | число | Текущий доступный остаток.                   |
| Требуется        | число | Запрошенное количество.                      |

### Ошибка: дробное количество недопустимо

*Исключение при попытке списать дробное количество штучного ресурса. Переводится в HTTP-ошибку на границе формата.*

| Поле             | Тип   | Описание                                    |
| ---------------- | ----- | ------------------------------------------- |
| Название ресурса | текст | Имя ресурса, учитываемого в целых единицах. |

### Трансляция складских ошибок

*Контекст-менеджер, переводящий фреймворк-независимые складские исключения в HTTP-ошибку валидации на уровне формата. Оборачивает вызовы списания и пересчёта в формате.*

## Статусы и справочники

### Тип учёта ресурса

* Штучный (целые единицы)
* Количественный (дробный)
