|
Модуль
Склады
Этот модуль
реализован в двух вариантах. Первый вариант для
ведения складского учета централизованным
методом, посредством ввода информации
оператором. Второй метод, реализация которого
значительно дороже, предусматривает установку
компьютера на каждое рабочее место с
непосредственным вводом информации
кладовщиками. Преимущество второго метода
заключается в том, что изменение складского
состояния происходит в реальном времени. При
этом кладовщик “видит” только состояния своих
складов. Все нижеописанное относится к первому
методу, поскольку на уровне интерфейса различия
отсутствуют.
Не считая
справочных, модуль оперирует с тремя основными
файлами. Первый из них, это список складов.
Это файл является стержнем всей файловой
структуры модуля и имеет следующую структуру:
Код
склада – 8 символьное поле, предназначенное
для абсолютной идентификации склада. Длина поля
явно избыточна и определена для связи с
предыдущей системой.
Название
склада – 40 символьное поле, предназначенное
для дополнительной идентификации склада.
Тип
склада – 17 символьное поле с выбором из списка.
Значение этого поля очень важно, поскольку
жестко замыкается на вычислительные алгоритмы.
Может принимать следующие значения:
Снабженческий
- типовой склад снабжения. Модификация
информации на таких складах в данном модуле не
предусмотрена.
Распределительный
– промежуточный склад. Служит для
кратковременного накопления материалов и
комплектующих для обеспечения производственных
складов. Обрабатывается данным модулем.
Производственный
– основной тип склада в системе. Служит для
оперативного учета полуфабрикатов.
Локальный
– специальный тип склада. Служит признаком для
системы, что он не должен обрабатываться
вычислительными алгоритмами.
Сбытовой
- типовой склад сбыта. Модификация информации на
таких складах в данном модуле не предусмотрена.
Код
кладовщика – 2 символьное поле,
предназначенное для идентификации пользователя
модуля выполнившего ту или иную операцию.
Признак
активности склада – числовое поле,
предназначенное для дополнительного влияния на
вычислительные алгоритмы. Так для того, чтобы
исключить какой то конкретный склад из
вычислительных процедур можно снять с него
признак активности.
Участок
– 4 символьное поле, предназначенное для
установки соответствия данного
производственного склада с производственным
участком, на котором он расположен. В принципе
это поле совсем не является необходимым,
поскольку и склад и участок можно было бы
идентифицировать одним идентификатором. Поэтому
это поле является как бы нежелательным
наследством предыдущей системы.
Сектор
– 4 символьное поле, предназначенное для
установки соответствия данного
производственного склада с сектором, на котором
он расположен. Это поле тоже является
наследством предыдущей системы.
Следующий
файл, это список состояния складов. Это файл
является основным хранилищем всей информации о
складском наличии на текущий момент. Он
естественно, связан по коду артикула с файлом
движений и имеет следующую структуру:
Код
склада – 8 символьное поле, предназначенное
для абсолютной идентификации склада, на котором
хранится артикул. По этому полю файл связан со списком
складов, для доступа к информации по
характеристике склада. Эта связь используется в
большинстве расчетных алгоритмов.
Код
артикула – 11 символьное поле, предназначенное
для идентификации артикула, хранящегося на
складе. По этому полю файл связан с файлом
артикулов, для доступа к информации по
характеристике артикула.
Количество – числовое поле,
предназначенное для хранения количества
артикула, хранящегося на складе в текущий момент.
Код
кладовщика – 2 символьное поле,
предназначенное для идентификации пользователя
системы, имеющего доступ к работе с указанным
складом. Это информативное поле предназначено
для администратора системы.
Такая
легкая, казалось бы, структура файла складов, тем
не менее, позволяет в контексте общей модели
файловой системы полноценный интерфейс при
работе со складами. Все остальные значения полей
из связанных файлов, включая общее наличие
данного артикула на предприятии.
И, наконец,
самый значимый файл этого модуля, это файл
движений. Это файл является основным
хранилищем информации обо всех складских
перемещениях. Причем не только обычные приход
или расход, но и неявные движения, порождаемые,
например производственным отчетом.
Поскольку файл
движений является быстро растущим файлом, в
модуле предусмотрена процедура поэтапной
архивации части движений, начиная с некоторой
даты. Для этого существует специальный файл,
хранящий архивные движения. И основной, и
архивный, файлы движений имеют одинаковую
структуру, что в принципе позволяет выполнить
операции реархивации.
Эти файлы
имеют следующую структуру:
Код
склада – 8 символьное поле, предназначенное
для абсолютной идентификации склада, по которому
происходит движение. По этому полю файл связан со
списком складов, для доступа к информации по
характеристике склада. Эта связь используется в
большинстве расчетных алгоритмов.
Код
артикула – 11 символьное поле, предназначенное
для идентификации артикула, над которым
производится движение. По этому полю файл связан
с файлом артикулов, для доступа к информации
по характеристике артикула, а так же по
ассоциативной связи с множеством других файлов.
Тип
движения – числовое поле, предназначенное для
идентификации типа движения. Существуют
следующие типы движений:
Приход
или движение поступления на склад, выполняемое
оператором.
Расход
или движение снятия со склада, выполняемое
оператором.
Передача
или движение передачи на принимающий склад,
выполняемое оператором.
Передача
или движение передачи с передающего склада,
выполняемое оператором.
Инвентаризация как проверка
фактического наличия на складе, выполняемого
оператором.
Количество
движения – числовое поле, указывающее
количество артикула, участвующего в данном
складском движении.
Остаток
на складе – числовое поле, указывающее
количество артикула, установленное в результате
данного складского движения на
специфицированном складе.
Общий
остаток – числовое поле, указывающее
количество артикула, установленное в результате
данного складского движения на всем предприятии.
Общий
резерв – числовое поле, указывающее
количество артикула, зарезервированное под
активные заказы в результате операций над
заказами сотрудником планирования производства.
Дата
– числовое поле, указывающее дату выполнения
данного складского движения.
Время
– числовое поле, указывающее время выполнения
данного складского движения.
Тип
документа – числовое поле, предназначенное
для идентификации типа документа, являющегося
основанием для проведения данного складского
движения. Существуют следующие типы движений:
Приходная
накладная.
Расходная
накладная.
Накладная
на передачу.
Инвентаризационная
ведомость.
Номер
документа – 12 символьное поле,
предназначенное для фиксации номера документа,
явившегося основанием для проведения, данного
складского движения.
Код
кладовщика – 2 символьное поле,
предназначенное для идентификации пользователя
системы, выполнившего данное движение по складу.
Это информативное поле предназначено для
администратора системы.
Цена
– числовое поле, содержащее цену поступающего на
склад артикула. Это поле активизируется не при
всех складских операциях и влияет на изменение
цены в файле артикулов.
Если
используется первый вариант модуля, то
пользователь получает полноправный доступ к
списку складов, во втором варианте такой доступ
отсутствует. Так же в случае первого варианта
пользователь получает полный доступ ко всем
складам, а во втором варианте только к
разрешенным ему складам.
В остальном
интерфейс одинаков. Пользователь может
просматривать содержимое доступных складов и
вызывать для просмотра список движений
связанных со специфицированным артикулом. Он
может так же выполнять доступные ему движения.
Алгоритм работы процедур движения является
закрытой информацией, поэтому ниже перечислен
только перечень основных действий данных
процедур.
Приход
(поступление на склад) процедура реализована в
виде окна со вставленным программным кодом.
Процедура предусматривает предварительный ввод
в глобальные и модульные переменные, после чего
вступает в действие внутренний алгоритм. Он
выполняет следующие действия:
Производит
предварительное заполнение строки файла
движений введенными данными.
Производит
модификацию состояния специфицированного
склада.
Производит
модификацию поля наличия и поля цены в файле
артикулов.
Заносит в файл
движения измененные значения наличия из файла
артикулов.
Окончательно
формирует и создает запись в файле движений.
Расход
(Снятие со склада) процедура реализована в виде
окна со вставленным программным кодом. Процедура
предусматривает предварительный ввод в
глобальные и модульные переменные, после чего
вступает в действие внутренний алгоритм. Он
выполняет следующие действия:
Производит проверку
на наличие на складе специфицированного
артикула.
Производит проверку
на количество имеющегося на складе
специфицированного артикула.
Производит
предварительное заполнение строки файла
движений введенными данными.
Производит
модификацию состояния специфицированного
склада.
Производит
модификацию поля наличия и поля цены в файле
артикулов.
Заносит в файл
движения измененные значения наличия из файла
артикулов.
Окончательно
формирует и создает запись в файле движений.
Передача
(со склада на склад) процедура реализована в
виде окна со вставленным программным кодом.
Процедура предусматривает предварительный ввод
в глобальные и модульные переменные, после чего
вступает в действие внутренний алгоритм. Он
выполняет следующие действия:
Производит проверку
на наличие на складе специфицированного
артикула.
Производит проверку
на количество имеющегося на складе
специфицированного артикула.
Производит
предварительное заполнение строки файла
движений передающего склада.
Производит
предварительное заполнение строки файла
движений принимающего склада.
Производит
модификацию состояния передающего склада.
Производит
модификацию состояния принимающего склада.
Инвентаризация
процедура реализована в виде окна со вставленным
программным кодом. Процедура предусматривает
предварительный ввод в глобальные и модульные
переменные, после чего вступает в действие
внутренний алгоритм. Он выполняет следующие
действия:
Производит проверку
на наличие на складе специфицированного
артикула.
Производит
предварительную инициализацию поля количества
данными из файла состояния.
Производит
предварительное заполнение строки файла
движений введенными данными.
Производит
модификацию состояния специфицированного
склада.
Производит
модификацию поля наличия и поля цены в файле
артикулов.
Заносит в файл
движения измененные значения наличия из файла
артикулов.
Окончательно
формирует и создает запись в файле движений.

|