Как известно, в MRP-методологии есть ключевое понятие "Номенклатура". Используется оно для классификации товаров, сырья, продукции, услуг. Казалось бы, справочник номенклатуры – этот тот же велосипед, и изобретать тут нечего.
На одном из проектов в конце 90-х при внедрении типового решения возникла следующая проблема. Предприятие производит обувь 1000 наименований, 20 размеров. Итого получается 1000х20=20000 номенклатурных позиций в справочнике.
В действующей системе пользователь в документе выбирал сначала наименование обуви, потом указывал размер. Позиция заказа распадалась на два поля. Поскольку новое решение универсально, оно ничего не знает о размерах. Но есть возможность использовать механизм характеристик номенклатуры.
Был включен этот механизм. Теперь в новом решении пользователь выбирал наименование обуви из справочника номенклатуры, а размер из другого справочника.
Ознакомившись с результатами тестового прогона, Заказчик остался удовлетворен. Интерфейс ввода практически не изменился, по сравнению со старой системой.
На опытной эксплуатации выяснились особенности, которым поначалу не придали значения.
Если нужного размера для выбранного наименования в справочнике не оказывалось – этот размер приходилось добавлять в справочник заново. Пользователи недоумевали – зачем такие сложности, зачем например, вводить 39-й размер каждый раз заново для каждого наименования обуви? В старой программе справочник размеров был введен один раз при начале работы системы, и его не нужно было пополнять каждый раз, когда создавалась новая модель обуви.
Зачем при вводе нового размера для каждого наименования номенклатуры нужно еще указывать дополнительно для этого размера из особого справочника свойств, что это действительно 39-й размер? Ведь это двойной ввод данных!
Анализ справочника размеров показал, что в нем те же самые 20000 записей. Плюс тысяча записей в справочнике Номенклатуры. За корректностью данных в этих 20000 записей должен был ктото следить. Ведь у каждой записи должна быть настройка – к какому размеру из справочника свойств она относится!
В старой системе справочник размеров состоял из 13 позиций, и его не нужно было постоянно пополнять и контролировать. Старая система была простой и удобной, новая – громоздкой, требовала дополнительного администрирования. Хотя решала ту же самую, простейшую задачу составления позиции документа из двух позиций – номенклатуры и размера.
В чем причина? Это плата за универсальность и типовой подход? Нет. Это плата за методологию построения НСИ. Очевидное и эффективное решение в таком случае – два независимых справочника:
Номенклатура (1000 позиций);
Характеристики номенклатуры (исполнения номенклатуры) (13 позиций).
ВыводТиповое решение должно поддерживать возможность составления номенклатурной позиции их двух независимых частей – номенклатуры и ее характеристики (исполнения). Эта независимость позволяет на несколько порядков сократить количество записей в справочнике характеристик и упростить работ у пользователей.
В некоторых типовых решениях реализованы оба подхода – полностью универсальный подход и решение с казалось бы, что может быть проще, чем учет складских операций. Есть разрезы учета, приход, расход, перемещение между складами.
В реальной жизни все может оказаться гораздо сложнее. Этот пример условный, и предназначен только для описания возникшей проблемы.
…на предприятии Х было внедрено типовое решение – автоматизирован бухгалтерский учет.
Предприятие производило лодки из стеклопластика и весла, а также занималось торговлей лодочными моторами. Продуктовый ряд состоял из двух больших сегментов – лодок с мотором и лодок с веслами. Все работало до того момента, пока, вследствие роста спроса при ограничении производства, не стало затруднительным поддерживать необходимой задел всех видов продукции на складах. Для скорейшего удовлетворения спроса покупателей продукцию на складе начали перекомплектовывать.
Например, с лодки снимали весла и устанавливали мотор. Из мотора и лодки с веслами получались отдельно весла и лодка с мотором.
Эта операция называется перекомплектация. Казалось бы, чего проще – отразить расход со склада исходных компонент и оприходовать то, что получилось в результате перекомплектации. Но просто эта операция отражается, если не думать о себестоимости.
Сразу обнаружилось, что в используемом типовом решении нет документа, который бы позволил корректно отразить операцию с точки зрения себестоимости. Поскольку это не просто приход и расход товаров на склад, а перемещение себестоимости с мотора и лодки с веслами, на весла и лодку с мотором.
Причем, себестоимость мотора должна полностью попасть в лодку с мотором, а себестоимость лодки с веслами должна разделиться – 5% уходит на весла и 95% уходит на ту же лодку с мотором. Да еще в себестоимость лодки с мотором нужно добавить зарплату работника, который занимался перекомплектацией, так как один из кладовщиков стал почти в течение целого дня заниматься этой работой.
Как выкрутились?На складе создали виртуальное производственное подразделение, которое существовало не организационно, а только в автоматизированной системе. На затраты этого подразделения списывали перекомплектуемую продукцию, а выпускали результаты перекомплектации.
Система отрабатывала все правильно, если одно и то же изделие не проходило несколько перекомплектаций за месяц. Если же это происходило бухгалтерия методом "пляски с бубном" кое-как сводила результат ручными проводками после закрытия месяца и больше этот месяц не перезакрывали, чтобы не разрушить данные этих ручных проводок.
Неудобно, но вроде с "подпорками" работает. Однако жизнь не стоит на месте. Новый технологический процесс потребовал организации неординарного учета сырья.
Сырье на складе наливается в чаны, и к этому сырью подмешиваются (там же, на складе) некие компоненты, в результате чего себестоимость сырья и объем возрастает за счет этих компонент. Иначе говоря, одна номенклатура списывается на другую номенклатуру. Себестоимость списанной номенклатуры увеличивает себестоимость номенклатуры – получателя.
Далее сырье используется в производственном процессе. Все попытки реализовать эту схему в используемом типовом решении провалились. Доработать блок складского учета внедренцы не решились – это крайне трудоемко, высокий риск ошибок, это снятие с сопровождения не отдельного документа, а всего модуля складского учета.
Пришлось списывать компоненты (кстати, недешевые) сразу в производство, что породило сложности с отнесением стоимости этих компонент на продукцию, т.к. при заливке компонента в чан с сырьем, еще не было известно, на какую продукцию пойдет данное сырье.
В результате точный, достоверный расчет себестоимости продукции оказался невозможным.
Эти примеры не исчерпывающие, существуют и другие операции, не укладывающиеся в простые схемы складского учета:
Увлажнение или усушка. В результате хранения на складе меняется вес изделия в плюс или в минус. Количество штук не меняется, а количество в килограммах – меняется. Поскольку себестоимость считается на килограмм – меняется себестоимость на единицу.
Подработка. Увеличение себестоимости запасов за счет списания затрат или подотчетных средств на эту себестоимость.
Корректировка стоимости – списание части себестоимости или дополнение себестоимости запаса, без изменения количества.
Корректировка номенклатуры на другую номенклатуру, причем у исходной и конечной номенклатуры может быть разное количество или разные единицы измерения.
Если такие операции имеют место в реальной жизни, и типовое решение их не поддерживает – в финансовом учете придется выкручиваться – вводить проводки вручную, корректировать вручную движения регистров, либо снижать точность учета. И хорошо, если такие операции редки, и есть отклонения от регламентированных бизнес-процессов.
Вывод Типовое решение должно поддерживать сложные складские операции, выходящие за рамки прихода, расхода, перемещения. Отсутствие нужной функциональности потенциально приводит к ручному вводу данных или к отказу учета таких операций и, соответственно, к снижению точности учета. Доработки в этой области очень сложны и снимают с сопровождения всю подсистему складского учета.
по материалам
http://www.semjonov.ru/projecthistory/size-reference.html