Ресурсы: все, что используется в производстве, но не является материалом. Например, работа сотрудников, электроэнергия, оборудование, накладные расходы. Ресурсы входят в состав продукта и учитываются в его себестоимости, остатков на складах у них нет. Через API ресурсы можно создавать, редактировать и удалять, получать список и данные ресурса.
Пути методов указаны относительно базового адреса API, а общие для всех методов правила (авторизация, формат запросов, частичное редактирование, постраничная выдача) описаны в статьях Обзор API и Общие правила.
Методы
| Метод | Что делает |
|---|---|
| v1/resources/add | Создает ресурс |
| v1/resources/edit | Изменяет ресурс |
| v1/resources/delete | Удаляет ресурс |
| v1/resources/get_list | Возвращает ресурсы компании |
| v1/resources/get_entry | Возвращает данные ресурса |
Поля ресурса
| Поле | Тип | Описание |
|---|---|---|
| id | int | ID ресурса |
| name | string | Название |
| type | string | Тип расчета: «rate», «percent» или «amortized» |
| dynamic | int | 1, если цена или процент указывается в составе продукта |
| base | string | База расчета процентного ресурса: «cost» или «price». У других типов null |
| unit | string | Единица измерения, код из статьи Единицы измерения. Есть только у фиксированной ставки и амортизации, у остальных null |
| price | float | Цена за единицу |
| percent | float | Процент процентного ресурса |
| initial_cost | float | Первоначальная стоимость оборудования |
| useful_life | float | Срок службы в единицах ресурса |
| left_life | float | Остаток срока службы. Уменьшается, когда ресурс списывается в производстве |
| notes | string | Заметки |
| archived | int | 1, если ресурс в архиве |
| categories | array | Категории ресурса: id и name |
Типы ресурсов
Тип расчета определяет, как считается стоимость ресурса в составе продукта и какие поля нужны при создании.
| Тип | Как считается стоимость | Обязательные поля |
|---|---|---|
| «rate», Фиксированная ставка | Цена за единицу, умноженная на количество в составе. Подходит для оплаты труда, электроэнергии, контрактного производства | unit, price |
| «rate» с dynamic 1, Цена указывается в составе продукта | Сумма задается отдельно в составе каждого продукта | Нет |
| «percent», Процент | Процент от себестоимости или цены продажи продукта. Подходит для накладных расходов, комиссий | base, percent |
| «percent» с dynamic 1, Процент указывается в составе продукта | Процент задается отдельно в составе каждого продукта | base |
| «amortized», Амортизация | Цена за единицу равна первоначальной стоимости, деленной на срок службы. Подходит для оборудования, транспорта, инструментов | unit, initial_cost, useful_life |
База расчета (base) процентного ресурса:
- «cost»: себестоимость продукта без учета процентных ресурсов;
- «price»: цена продажи из карточки продукта.
Поля, которые не относятся к типу, в расчете не участвуют, а часть из них Controlata обнуляет при сохранении:
- у фиксированной ставки base становится null, а percent равен 0;
- у ставки с ценой в составе продукта price равен 1, а unit приходит как null;
- у процентного ресурса price равен 0, а unit приходит как null; если процент указывается в составе продукта, percent тоже равен 0;
- у амортизации price рассчитывается из initial_cost и useful_life, а dynamic всегда 0.
Единицы измерения
Ресурсу можно назначить любую единицу, в том числе единицы времени и энергии, которые доступны только ресурсам: «ч», «мин», «кВт-ч». Список единиц в статье Единицы измерения.
Срок службы амортизируемого ресурса указывается в его единице. Указывайте время полезной работы, без простоев: если станок прослужит 2 года и за это время отработает около 2000 часов, передайте unit «ч» и useful_life 2000.
Ресурсы в составе продукта
Ресурсы добавляются в продукт массивом resources в методах v1/products/add и v1/products/edit. Что передавать в строке для каждого типа, описано в разделе «Состав продукта» статьи Продукты.
После изменения или удаления ресурса Controlata пересчитывает себестоимость продуктов, в состав которых он входит.