Приложение 3. Ведение максимальных значений

(АРМ Комплектатор)

Navigation:  АРМы > АРМ Комплектатор > Приложения АРМа Комплектатор >

Приложение 3. Ведение максимальных значений

(АРМ Комплектатор)

Previous pageReturn to chapter overviewNext page

В этом разделе:

Максимальные значения

Модель инвентарного номера

MaxInvent=1  - разрешено ведение максимального инв.№

Повторения полей записи POLZV

 

В системе предусмотрено ведение максимальных значений, для некоторых вводимых элементов.

Оно выполняется с использованием записи POLZV.

 

В частности, вычисляются и хранятся максимальные значения для различных параметров, а именно:

Максимальное значение инвентарных номеров

Максимальное значение номера КСУ поступления/списания

Максимальное значение номера акта

Максимальное значение кода организации

 

Предполагается, что новое вводимое значение по своей структуре относится к одной из схем:

 

«число», «префикс-число», «число-суффикс», «префикс-разделитель-число».

 

При этом происходит следующее:

Введенное значение анализируется на принадлежность к одной из схем, причем, разделителем считается символ из набора: / \ | -

Выделяется цифровая часть. Если найден разделитель, то цифровая часть должна быть сразу после разделителя!

Выделенное число увеличивается на 1 и «встраивается» в свою схему.

Увеличенное значение параметра сравнивается со списком аналогичных значений в записи POLZV, «аналогичность» определяется как соответствие схеме нового введенного значения

Если новое значение является максимальным, то оно пишется в запись, меньшие значения этой схемы удаляются

При следующем вводе нового в подаваемом словаре будет увеличенное на 1 значение.

 

При ведении максимального значения инвентарных номеров имеется отличие.

Часто инвентарный номер строится из разных буквенно-цифровых частей и важно определить,  какая из этих частей является изменяемой.

Например, для двух инвентарных номеров 1234-01 и 1234-02 изменяемой частью является 01, 02. А для номеров 1234-01 и 1235-01 изменяемой частью является  1234, 1235.

 

 

Модель инвентарного номера

Предлагается использовать т.н. модель инвентарного номера, в которой можно задать, какая часть инвентарного номера является цифровой и изменяемой. Значение модели присваивается параметру INI-файла MODEINVENT. С версии 2015 можно использовать одновременно несколько моделей, которые задаются дополнительными параметрами:

MODEINVENT1

MODEINVENT2

MODEINVENT3

MODEINVENT4

MODEINVENT5

 

Модель задается в виде строки, каждый символ строки задает часть числа.

9 – означает цифровую переменную часть инвентарного номера (символ 9 должен быть единственным в модели!),

A – означает буквенную неизменную часть номера,

* - означает буквенные или цифровые символы неизменной части номера.

Другой символ – означает именно его присутствие в инвентарном номере

 

Т.е., для 1-го из вышеприведенных случаев следует задать модель: *-9, для второго случая – 9-*.

Если заданная модель не соответствует инвентарному номеру или в заданной модели нет символа «9», то максимальное значение определяется по общей схеме.

Если инвентарный номер соответствует заданной модели, то в номере выделяется часть, соответствующая «9» модели. Число этой части увеличивается на 1 и новое значение вытесняет старое из записи POLZV.

Пример:

Например:

1.Задана модель 9-*. Тогда инвентарные номера 000001-01, 00026-02 принадлежат к разным группам (01 и 02), но у обоих будут отслеживаться числовые значения перед символом «-».

2.Задана модель *-9. Для групп инвентарных номеров типа 000001-01, 00026-02 и т.д. будут отслеживаться числовые значения после символа «-». В данном примере для двух групп – 000001 и 00026.

3.Задана модель 9_A. Для групп инвентарных номеров типа 12345_СБ,  5555_REM, 67_КЛИП и т.д. будут отслеживаться числовые значения перед символом «_»

4.Задана модель 9_A. Для инвентарного номера 12345/02 модель определится как несоответствующая и этот номер будет использоваться по схеме «префикс» (12345/)-число(02)».

5.Задана модель 9_A. Для инвентарного номера 12345_02 не будет определена ни модель, ни схема (разделитель неизвестен). Это число не пополнит запись POLZV.

6.Задана модель *=9. Для групп инвентарных номеров типа 12345=07,  REM=2, ?=26 и т.д. будут отслеживаться числовые значения после символа «=»

7.Другие примеры структуры инвентарного номера с необходимостью использования параметра модели. Для каждого инвентарного номера указана желаемая изменяемая часть. Результат: «да» - если макс.инв. будет формироваться верно, «нет» - если не будет формироваться, «Модель» - если для успешного формирования следует использовать модель.

 

Инв.ном.                Изменяемая часть        Рез-т                Модель                

--------------------------------------------------------------------------------------

47-11                 11                        да

47-11-001        001                        да

47-11                47                                Модель        ModeInvent=9-*        

ПР-45/25                25                        да

A1/B1/45                 45                        да

24-046-01        01                        да

Б.Н 46                46                        да

Б/Н 46                46                        нет

Б/Н 46                46                                Модель        ModeInvent=A/A 9

Б.Н 46 01        01                                нет

Б.Н 46-01        01                                да                                

Б.Н 46 01        01                                        Модель        ModeInvent=A.A * 9

УК/25 М1                1                                Модель        ModeInvent=A/* A9

 

Формирование максимального инвентаря в записи POLZV происходит при выполнении автоввода при сохранении записи, т.е. операторами пакетного задания AUTOIN.gbl, которые используют специальный форматный выход.

 

Расширена разрядность максимального инвентарного номера – было 10-разрядное число, стало 2^63-1. При пополнении записи КСУ также считается по-новому.

 

MaxInvent=1 - разрешено ведение максимального инв.№

В параметрическом файле имеется параметр разрешающий или запрещающий ведение максимального инвентарного номера – MaxInvent.

MaxInvent=1 разрешает  добавление/изменение инвентарного номера. По умолчанию параметр =1.

Начиная с версии 2014 добавлена возможность задавать несколько моделей для ведения максимальных инвентарных номеров. Для этого в irbisp.ini можно добавить дополнительные параметры, не более 5-ти. Их значения будет использовать автоввод для БД CMPL. Следует не забывать, что если используются модели, то для ведения максимального цифрового инвентарного номера одна из моделей должна быть 9.

 

Пример:

Примеры набора моделей:

 

ModeInvent=9

ModeInvent1=A9

ModeInvent2=A9A

ModeInvent3=A.A9

ModeInvent4=*_9

ModeInvent5=*/9

 

Повторения полей записи POLZV

Имеются параметры, ограничивающие добавление новых повторений в поля записи POLZV:

MAX81Polzv        задает максимальное значение повторений поля 81, по умолчанию =50

MAX30Polzv        задает максимальное значение повторений поля 30, по умолчанию =50

MAX910Polzv        задает максимальное значение повторений поля 910, по умолчанию =50        

MAX88Polzv        задает максимальное значение повторений поля 88, по умолчанию =50

MAX888Polzv        задает максимальное значение повторений поля 888, по умолчанию =50

MAX80Polzv        задает максимальное значение повторений поля 80, по умолчанию =50

MAX800Polzv        задает максимальное значение повторений поля 800, по умолчанию =50

 


См. также:

Максимальный инвентарный номер

Ввод реквизитов пользователя