Представьте ситуацию: вы смотрите в отчет по остаткам сырья на складе. Система показывает, что у вас лежит 5 тонн дорогостоящего листового металла. Вы берете новый крупный заказ, подписываете договор, а когда дело доходит до раскроя, начальник производства заявляет: «Металла нет. На складе пусто».
Вы вызываете кладовщика, открываете базу и видите магию: вчера металл был, а сегодня в отчете за прошлый месяц цифры изменились. Кто-то зашел в старый документ списания и тихо исправил цифру 2 тонны на 7 тонн, покрыв недостачу.
Главная уязвимость стандарта 1С: Кнопка «Распровести»
Практически все устаревшие учетные системы (включая самые популярные на рынке СНГ) построены на архитектуре CRUD (Create, Read, Update, Delete). Это значит, что система разрешает перезаписывать текущее состояние базы данных.
Как это выглядит на практике:
- Кладовщик совершил ошибку (или умышленно отгрузил металл «налево»).
- В конце месяца при инвентаризации всплывает недостача.
- Вместо того чтобы разбираться, кладовщик звонит знакомому менеджеру или технологу: «Слушай, открой приходную накладную за 15-е число, распроведи документ, поменяй цифру и проведи заново».
Система послушно пересчитывает все итоги. Следы заметены. Финансовый директор видит красивый отчет, а собственник оплачивает эту «корректировку» из своей чистой прибыли, закупая сырье заново.
Что такое Ledger-архитектура?
Когда мы проектировали ModernERP Pro, мы сразу отказались от подхода «редактируемых документов». Мы внедрили парадигму, которая десятилетиями используется в банковском секторе — Ledger (распределенный реестр).
В архитектуре Ledger физически отсутствует функция `UPDATE` (обновить) или `DELETE` (удалить) для складских и финансовых транзакций.
🛠 Как база данных считает остатки в ModernERP
Текущий остаток на складе — это не статичная цифра в ячейке таблицы, которую можно стереть и написать новую. Остаток — это математическая сумма всего исторического лога транзакций по этой позиции от сотворения мира.
Если на склад пришло +10 деталей, а затем ушло -3 детали, остаток равен 7. Никто не может открыть старый лог и поменять -3 на -5.
А если кладовщик реально ошибся?
Здесь кроется самое главное отличие дисциплинированного производства от хаоса. Люди ошибаются — это факт. Но исправление ошибки должно быть прозрачным.
В ModernERP Pro, если кладовщик ошибочно оприходовал не тот товар, он не может «отменить» документ. Он обязан создать корректирующую (сторнирующую) транзакцию.
- Ошибка: Приход +100 кг (Операция записана навсегда).
- Обнаружение: Оказывается, пришло 80 кг.
- Исправление: Создается новый документ "Корректировка" на -20 кг. (С пометкой: кто создал, во сколько, на основании чего).
Для директора завода это меняет всё. Вы открываете карточку товара и видите всю историю «болезни». Вы видите, кто и когда ошибался, кто пытался скрыть недостачу и почему себестоимость конкретной партии «поплыла».
Бизнес-ценность для собственника
Внедрение Ledger-архитектуры в первый месяц вызывает яростное сопротивление на местах. Сотрудники жалуются, что система «жесткая», «неудобная» и «не дает работать». Переводя с языка саботажа на язык бизнеса: система лишила их возможности договариваться в кулуарах и править цифры задним числом.
Что вы получаете взамен:
- Ликвидация круговой поруки: Технолог, снабженец и кладовщик больше не могут скрыть производственный брак, списав его на «ошибку в техкарте прошлым месяцем».
- Абсолютная точность инвентаризации: Вы можете доверять цифрам в Дашборде на 100%. Если система говорит, что металл есть — значит, он физически лежит в ячейке.
- Защита от увольняющихся сотрудников: Обиженный кладовщик не сможет перед уходом «случайно» удалить половину базы или исказить остатки. У него просто нет таких прав на уровне ядра базы данных.
Журнал транзакций (Ledger)
Склад: RAW (Сырье) | Позиция: Листовая сталь 3мм
Правильное действие: Если вы ошиблись, проведите новую корректирующую (сторнирующую) транзакцию, чтобы исправить остаток прозрачно.