Links

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

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. Тестирование

В каталоге «Товары» создайте несколько записей товаров, например:
Перейдите в каталог «Операции с товарами». Создайте поступление для каждого из товаров:
Если всё настроено верно, то в каталоге «Склад» появятся записи для каждого из товаров с числами поступления:
Перейдите в каталоге «Операции с товарами». Создайте списание для каждого из товаров:
Если все настроено верно, то в каталоге «Склад» произойдет списание введенных количеств товаров: