![]() |
#5 |
Участник
|
3. В таблицу «Серийные номера» (InventSerial) добавить поля «Заводской серийный номер» (20 символов) и «ОС» (RAssetId). Добавленные поля разместить на соответствующей форме (InventSerial), при этом поле «ОС» не должно редактироваться вручную.
4. Создать механизм автоматической нумерации серийных номеров. Нумерация определяется по следующему принципу: первые 7 символов – код номенклатуры (первые 7 символов кода), оставшиеся 13 – автоматическая нумерация системой: a. В таблицу InventSerialможно добавить поле MaxSerialNum для хранения максимального номера (без учета 7 символов кода номенклатуры). b. Создать метод таблицы InventSerialNum, заполняюший значение поля InventSerialId, исходя из требований п.4., использовать поле InventTable.MaxSerialNum. Проверить созданный номер на уникальность. При необходимости увеличить значение поля MaxSerialNum, повторить процедуру. Это необходимо, поскольку изменения будут подгружаться в существующую базу. c. При записи новой строки в таблицу InventSerialId: i. Если номер не уникальный, отменить запись, выдать сообщение, присвоить новый номер. ii. Увеличить значение MaxSerialNum. Увеличение значение поля должно производится в одной транзакции с записью строки. d. Метод, созданный в п. (b), должен отрабатывать: i. При создании новой строки (если номенклатура заранее известна – см. примечание 2) ii. При выборе номенклатуры. |
|
|
|