Opened 19 months ago

Last modified 19 months ago

#1148 closed улучшение

Не принимается серийный номер платы — at Version 10

Reported by: alx Owned by: Denis_N
Priority: major Component: БД изделий АДС
Keywords: Cc:

Description (last modified by alx)

В r213/base интерфейс "Возврат" не принимает серийный номер платы:


Так как (к моему сожалению) административными мерами форматы серийных номеров изделий никак не регламентированы, то наша система, по моему мнению (и к моему сожалению), не вправе ограничивать пользователя при вводе серийных номеров какими-либо определенными их форматами, так как в любой момент может быть принято решение использовать новый формат.

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

Change History (11)

by alx, 19 months ago

Attachment: ss1.jpg added

comment:1 by san, 19 months ago

На чём основаны эти ожидания?

in reply to:  1 comment:2 by alx, 19 months ago

Replying to san:

На чём основаны эти ожидания?

На предположениях и догадках о том, как должна работать система (в виду отсутствия документации, в которой я мог бы это узнать точно и достоверно). :)

comment:3 by san, 19 months ago

Добавил в #997 формат серийных номеров.

Формат серийных номеров изделий:
A12345 - латинская заглавная буква и 5 цифр
12345 - 5 цифр
Б1234 - русская заглавная Б и 4 цифры
Р123456 - русская заглавная Р[эр] и 6 цифр

Номер из твоего примера не соответствует формату, но в коде я вижу проверку ^([A-Z]?\d{5}|Р\d{6}|[А-Я]\d{4})$ в которой явно упущен вариант 5 цифр

in reply to:  3 comment:4 by alx, 19 months ago

Replying to san:

Добавил в #997 формат серийных номеров.

Добавил комментарий о том, что этот список неполный (отсутствует серийный номер из 6 цифр).

Номер из твоего примера не соответствует формату, но в коде я вижу проверку ^([A-Z]?\d{5}|Р\d{6}|[А-Я]\d{4})$ в которой явно упущен вариант 5 цифр

Смотри внимательнее - не упущен: \d{5} ближе к началу выражения.

comment:5 by san, 19 months ago

Аааа, точно) не заметил "?". Думаю что бага тут

Добавил комментарий о том, что этот список неполный (отсутствует серийный номер из 6 цифр).

Я всё уточнил, список полный.

comment:6 by san, 19 months ago

Хм.. потерял часть комментария.
Я хотел сказать: думаю что бага тут нет, всё работает правильно, единственно последнее условие немного шире чем Б.

in reply to:  6 comment:7 by alx, 19 months ago

Replying to san:

последнее условие немного шире чем Б.

Раза так в 33. :)

in reply to:  5 comment:8 by alx, 19 months ago

Replying to san:

Я всё уточнил, список полный.

А где, если не секрет, ты это уточнил? У нас есть стандарт на серийные номера?

comment:9 by san, 19 months ago

К сожалению стандарта нет.
Уточнил у бывшего начальника производства и текущего.

in reply to:  9 comment:10 by alx, 19 months ago

Description: modified (diff)
Type: дефектулучшение

Replying to san:

К сожалению стандарта нет.

В таком случае, как вообще можно накладывать ограничения на форматы серийных номеров?

Ну хорошо, на сегодняшний день ты узнал, что по факту существует пять разных форматов. А завтра по каким-либо причинам решат использовать шестой (например те же 6-цифровые номера) - а система их не принимает...

Я понимаю, что идея валидировать введенные номера сама по себе здравая. Но она должна следовать за административными решениями. Вот если бы был на производстве введен в действие стандарт с пятью форматами - тогда я бы с чистой совестью закрыл этот тикет как invalid (я поэтому из задавал вопрос). Но так как никаких административных решений нет - я считаю, что система не имеет права ограничивать пользователей в использовании каких-либо серийных номеров. Есть желание повысить надежность ввода, исключить возможные ошибки - пожалуйста: предлагай менеджерам с соответствующими полномочиями административно установить некие правила (фиксированный формат, контрольный символ как в номерах кредиток, QR-коды наконец (еще предыдущий начальник ПТО их хотел использовать) - все что угодно), и когда административным решением эти правила будут введены - вот тогда можно их подкрепить техническим (программным) решением. Технические средства следуют за административными, но никак не наоборот. По-моему так. (с) Винни

Изменил тип тикета на улучшение.

Note: See TracTickets for help on using tickets.