Opened 45 hours ago

Last modified 41 hours ago

#1349 new улучшение

Сканер. Нужна помощь. Тип записей в историю при взятии изделия со склада, внесении на склад, изменении местоположения

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

Description

Помогите пожалуйста продумать архитектуру

В новом интерфейсе Сканер, есть три разделяемые по моей логике действия: внесение на склад, взятие со склада, изменение местоположения изделия

Я забыл добавить в таблицу история запись о том, кто и что сделал с изделием

В истории тип столбца type_write следующий: set('record','otk','mismatch','testing','shipping','transform'). Не хочется записывать эти записи с типом record, потому что для пользователя, на мой взгляд, это не интуитивно. Хочется писать "Помещено на склад", "Взято со склада"

Можно рисовать этот псевдостатус, определяя по данным в столбце "местоположение" и комментарию, если в него записывать номер полки. Но этот способ усложнит в дальнейшем вывод из базы, тем, что для его вывода придется писать не типичное условие запроса, я думаю.

Вместо этого я бы хотел добавить еще три типа записей в столбец type_write в Истории: 'add_in_stock', 'take_out_stock', 'change_location'. И в старых записях с типом записи record, где было изменено местоположение, тип записи я бы изменил на change_location

Change History (1)

in reply to:  description comment:1 by alx, 43 hours ago

Replying to Denis_N:

Помогите пожалуйста продумать архитектуру

Прости, я дважды прочитал описание, но так и не понял, как я могу тебе помочь. Ты же не задаешь ни одного вопроса! :) В чем у тебя затруднение-то?

В новом интерфейсе Сканер, есть три разделяемые по моей логике действия: внесение на склад, взятие со склада, изменение местоположения изделия

Не знаю, что такое "интерфейс Сканер", но перечисленные действия и так фиксировались в БД с самого начала ее существования и без всякого сканера...

Я забыл добавить в таблицу история запись о том, кто и что сделал с изделием
В истории тип столбца type_write следующий: set('record','otk','mismatch','testing','shipping','transform'). Не хочется записывать эти записи с типом record, потому что для пользователя, на мой взгляд, это не интуитивно.

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

Хочется писать "Помещено на склад", "Взято со склада"

Что мешает так писать?

Можно рисовать этот псевдостатус, определяя по данным в столбце "местоположение" и комментарию,

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

Идею записывать номер полки в поле комментария я нахожу довольно странной. Комментарий - это произвольный текст, написанный пользователем. В нем может быть миллион разных чисел. Как среди них отыскать номер полки, совершенно непонятно.

Если требуется кроме собственно местоположения (склад) сохранять дополнительную уточняющую информацию (номер полки на складе), по-моему будет логично добавить к столбцу location столбец sublocation, и помещать уточняющую информацию туда.

Вместо этого я бы хотел добавить еще три типа записей в столбец type_write в Истории: 'add_in_stock', 'take_out_stock', 'change_location'. И в старых записях с типом записи record, где было изменено местоположение, тип записи я бы изменил на change_location

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

Во-первых, не понимаю, какой смысл менять в БД типы записей record на add_in_stock (название-то какое странное!), если при этом записи типа record, в которых не было перемещения, все равно останутся, и записи с перемещением, отличные от типа record, останутся тоже.

Во-вторых, непонятна цель добавления новых типов записей. Ну, допустим, добавил - и что дальше-то? Что-то от этого стало лучше? :) По-моему типы записей и так избыточны. Я, возможно, чего-то не знаю, но по-моему смысл имеют только тип записи otk, testing и mismatch. Все остальное, как мне кажется, можно было бы записывать просто без типа...

Last edited 41 hours ago by alx (previous) (diff)
Note: See TracTickets for help on using tickets.