Складской учет

1. Введение

Вы ведете деятельность, связанную с товарооборотом: обработку поступлений и списаний товаров, фиксацию остатка товаров на складе. Бипиум автоматизирует процесс складского учета товаров, позволяя хранить весь остаток по товарам в одном месте. Вы можете в один клик формировать операции поступления или списания и фиксировать их для быстрого доступа к истории всех таких операций.

2. Принцип работы

Параметры товаров хранится в каталоге «Товары». При создании записи в каталоге «Операции с товарами» для выбранных товаров производятся операции поступления или списания, изменяя их остаток на складе. При этом:

  • Если товара на складе (каталог «Склад») еще нет – то при поступлении он появится на складе.

  • Если остаток по товару меньше чем число списания, то товар списан не будет.

  • Если производится попытка произвести операцию из записи, откуда она уже была проведена, то сценарий запрета не даст это сделать.

  • Для указанных на схеме каталогов есть сценарии генерации наименования.

3. Реализация

3.1. Структура каталогов

3.1.1. Каталог «Товары»

Создайте каталог «Товары». В этом каталоге будут собраны все товары с их атрибутами. В качестве примера для товаров оставлены два ключевых атрибута: наименование и цена. Пример структуры каталога:

  • Наименование (текст) Описание: Наименование товара, например «Шоколадный батончик». Настройки: Текст.

  • Цена (число) Описание: Цена за единицу товара. Настройки: Укажите единицу измерения.

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

3.1.2. Каталог «Склад»

Создайте каталог «Склад». В этом каталоге фиксируется остаток товаров на складе. Пример структуры каталога:

  • Наименование (текст) Описание: Наименование товара в складе. Будет автоматически сгенерировано сценарием. Настройки: Текст, редактируемое только через API.

  • Товар (связанный каталог) Описание: Связь с каталогом «Товары», нужна для выбора товара. Настройки: Связь с каталогом «Товары».

  • Остаток (число) Описание: Хранит остаток товара на складе. Настройки: Укажите единицу измерения.

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

3.1.3. Каталог «Товары и количество»

Создайте каталог «Товары и количество». Это служебный каталог, который содержит в своей записи товар и его количество. Записи в этом каталоге создаются через каталог «Операции с товарами». Заполните структуру каталога следующим образом:

  • Наименование (текст) Описание: Наименование записи. Будет автоматически сгенерировано сценарием. Настройки: Текст, редактируемое только через API.

  • Товар (связанный каталог) Описание: Связь с каталогом «Товары». Нужна для выбора товара в записи. Настройки: Связь с каталогом «Товары».

  • Количество (число) Описание: Содержит число выбранного товара в записи.

  • Системная информация (секция) Описание: Логическое разделение заполняемых и системных полей.

  • Связи (связанный каталог) Описание: Связь с каталогом «Операции с товарами», откуда будут создаваться записи в каталоге «Товары и количество». Настройки: Связь с каталогом «Операции с товарами», редактируемое только через API.

3.1.4. Каталог «Операции с товарами»

Создайте каталог «Операции с товарами». Этот каталог производит списание/начисления выбранных товаров на склад в заданном количестве. Заполните структуру каталога следующими полями:

  • Наименование (текст) Описание: Наименование записи операции. Генерируется автоматически сценарием. Настройки: Многострочный текст.

  • Операция (статус) Описание: Используется для выбора между поступлением и списанием. Варианты: Поступление, Списание.

  • Дата (дата) Описание: Дата операции.

  • Товары (связанный каталог) Описание: Связь с каталогом «Товары и количество», используется для выбора товаров и их количества для совершения операции. Настройки: Связь с каталогом «Товары и количество», можно связывать несколько записей, убрать галочку «можно выбирать из существующих», проставить галочку «создание без всплывающего окна», расширенные поля: «Товар» (изменять), «Количество» (изменять).

  • Документы (файл) Описание: Документы, связанные с операцией (напр. накладные). Настройки: Можно загрузить несколько файлов.

  • Выполнение (секция) Описание: Разделение полей с результатами операции.

  • Статус (статус) Описание: Статус завершенности операции. Варианты: Готово, Ошибка. Настройки: Редактируемое только через API.

  • Описание ошибки (текст) Описание: Сообщение ошибки. Настройки: Многострочный текст, видимость по значению статуса «Ошибка».

  • Системная информация (секция) Описание: Разделение полей с системной информацией.

  • Создано (дата) Описание: Время создания записи. Настройки: С временем, по умолчанию: текущая дата, редактируемое только через API.

  • Создал (сотрудник) Описание: Сотрудник, создавший запись. Настройки: По умолчанию: текущий сотрудник, редактируемое только через API.

3.2. Создание автоматизаций

3.2.1. Генерация наименований

В процессе архитектуры складского учета вы можете столкнуться с необходимостью генерировать наименования созданных записей. О том зачем это нужно и как это реализовать подробно описано в статье «Создание наименований записей».

Наименования нужно генерировать в следующих каталогах:

  • Склад

  • Товары и количество

  • Операции с товарами

3.2.2. Наименования в каталоге «Склад»

В системном каталоге «События» создайте новую запись и заполните ее следующим образом:

Это событие будет отслеживать сохранение записи при редактировании полей «Товар» и «Остаток». Из этих полей будет генерироваться наименование. В качестве сценария загрузите сценарий генерации наименования в каталоге «Склад».

Сценарий генерации наименования в каталоге «Склад» выглядит следующим образом:

Сценарий выполняет:

  • Генерацию наименования компонентом «Формируем тайтл»

  • Запись наименования компонентом «Прокидываем тайтл в текущую запись»

В сценарии нужно изменить компоненты:

  • fields: Измените тестовые id полей в компоненте, согласно его описанию.

Изменить шаблон наименования можно в компоненте «Формируем тайтл».

3.2.3. Наименования в каталоге «Товары и количество»

В «Событиях» создайте новую запись и заполните ее следующим образом:

Это событие будет отслеживать сохранение записи при редактировании полей «Товар» и «Количество». Из этих полей будет генерироваться наименование. В качестве сценария загрузите сценарий генерации наименования в каталоге «Товары и количество».

Сценарий генерации наименования в каталоге «Товары и количество» выглядит следующим образом:

Принцип работы сценария полностью аналогичен предыдущему.

В сценарии нужно изменить компоненты:

  • fields: Измените тестовые id полей в компоненте, согласно его описанию.

Изменить шаблон наименования можно в компоненте «Формируем тайтл».

3.2.4. Наименования в каталоге «Операции с товарами»

В «Событиях» создайте новую запись и заполните ее следующим образом:

В качестве сценария загрузите сценарий генерации наименования в каталоге «Операции с товарами».

Сценарий генерации наименования в каталоге «Товары и количество» выглядит следующим образом:

Принцип работы сценария полностью аналогичен предыдущему.

В сценарии нужно изменить компоненты:

  • fields: Измените тестовые id полей в компоненте, согласно его описанию.

Изменить шаблон наименования можно в компоненте «Формируем тайтл».

3.2.5. Пополнение/списание количества товаров на складе

В каталоге «События» создайте новую запись и заполните ее следующим образом:

Это событие отслеживает сохранение записи в каталоге «Операции с товарами». Сценарий запускается при изменении поля с товарами. В качестве сценария загрузите сценарий списания/пополнения товара на складе.

Сценарий списания/пополнения товара на складе выглядит следующим образом:

Сценарий выполняет:

  • Проверку назначения типа операции и выбора товаров для операции.

  • Циклическое увеличение или списание товаров на складе. Зависит от выбранного типа операции (поступление/списание).

  • Проверку на возможность списания: если количество списываемого товара больше остатка на складе (или на складе нет выбранного товара) – сценарий выведет ошибку и не спишет товар со склада.

  • Создание записи товара на складе при поступлении товара: если на складе не было записи с поступившим товаром, то она будет создана автоматически.

В сценарии необходимо изменить компоненты:

  • fields: Измените тестовые id полей в компоненте, согласно его описанию.

3.2.6. Запрет на повторное проведение операции

Запрещает повторное проведение операции из записи, по которой она уже проводилась.

В каталоге «События» создайте новую запись и заполните ее следующим образом:

Это событие отслеживает сохранение записи в каталоге «Операции с товарами». Сценарий запускается при изменении поля с товарами. В качестве сценария загрузите сценарий запрета на повторное проведение операции.

Сценарий запрета на повторное проведение операции выглядит следующим образом:

Сценарий выполняет:

  • Проверку записи операции на завершенность: произошло ли ранее по этой записи начисление или списание.

  • Если операция по записи уже проводилась – запрещает создание записи и выводит сообщение сотруднику.

В сценарии необходимо изменить компоненты:

  • fields: Измените тестовые id полей в компоненте, согласно его описанию.

3.2.7. Прокидывание записи операции в запись товара и количества

Автоматизация, прокидывающая созданную запись операции в записи товаров в этой операции. Нужно для обратной связи записей из каталога «Товары и количество» с записью каталога «Операции над товарами». Позволяет быстро найти все записи из «Товаров и количества», принадлежащие записям «Операций над товарами».

В каталоге «События» создайте новую запись и заполните ее следующим образом:

Это событие отслеживает сохранение записи в каталоге «Операции с товарами». Сценарий запускается при изменении поля с товарами. В качестве сценария загрузите сценарий прокидывания операции в «Товары и количество».

Сценарий прокидывания операции в товары и количество выглядит следующим образом:

Сценарий выполняет:

  • Циклическую подстановку созданной записи операции во все связанные записи из каталога «Товары и количество».

В сценарии необходимо изменить компоненты:

  • fields: Измените тестовые id полей в компоненте, согласно его описанию.

4. Тестирование

В каталоге «Товары» создайте несколько записей товаров, например:

Перейдите в каталог «Операции с товарами». Создайте поступление для каждого из товаров:

Если всё настроено верно, то в каталоге «Склад» появятся записи для каждого из товаров с числами поступления:

Перейдите в каталоге «Операции с товарами». Создайте списание для каждого из товаров:

Если все настроено верно, то в каталоге «Склад» произойдет списание введенных количеств товаров:

Last updated