Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Редактирование операций / 19 сообщений из 19, страница 1 из 1
13.08.2009, 14:48
    #36141995
Редактирование операций
Читал один топик . Там всё на спирте объяснено. Понравился подход. Поэтому тоже буду объяснять на ём же, родимом.

Итак, задачка:
1. Имеется спирт. Спирт может быть разных марок (люкс, экстра, самопал, ...).
2. Имеются некие склады, на которых расположены ёмкости. В одну ёмкость можно заливать спирт только одной марки и весь спирт одной марки на складе содержится в единственной ёмкости.
3. Имеется некое приложение, которое учитывает круговорот спирта по ёмкостям, но операторы не всегда внимательно вносят данные.

Теперь сценарий действия, приведший к ошибке учёта:
1. Оператор по ошибке вбил неверную марку при поступлении 100 литров спирта. В результате, в базе данных произошло пополнение литража не в той ёмкости (Б вместо А).
2. Потом оператор "перелил" из ёмкости Б часть спирта в ёмкости В и Г на других складах. Из ёмкости Г часть спирта "перелил" в ёмкость Д ещё на одном складе и т.д.
3. При ревизии обнаружили, что при поступлении была указана не та марка, следовательно, нужно отредактировать операцию поступления, и, возможно, движение по другим складам.
Проблема в эскалации ошибок. Сначала оператор ошибся при поступлении. Потом утвердил свой косяк, переместив часть спирта не из той ёмкости и т.д. А когда очухался, оказалось, что не понятно куда разошёлся уже этот спирт и как исправлять.

Внимание, вопрос:
Каким образом реализовать понятное пользователю редактирование операций движения спирта?
...
Рейтинг: 0 / 0
13.08.2009, 15:47
    #36142229
bootty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
Может, сторно всех некорректных операций (текущей датой) спасет?
...
Рейтинг: 0 / 0
13.08.2009, 19:50
    #36142948
Kirill Razuvaev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
>> Каким образом реализовать понятное пользователю редактирование операций
>> движения спирта?
IMHO, проще административными мерами добиться правильного ввода данных, чем
пытаться локализовывать чужие ошибки. К тому же, их уровень и порядок -
неизвестны. Открывая же механизмы для правки, вы рискуете не только сугубить
ситуацию в случае ошибки при исправлении, но и откроете путь для откровенных
махинаций. Не стоит также забывать о том, что человек, который знает, что от
его ошибки "никто не умрет", перестает ответственно относиться к своей
работе.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
14.08.2009, 08:54
    #36143471
Редактирование операций
boottyМожет, сторно всех некорректных операций (текущей датой) спасет?
Как выявить все некорректные операции?
Автоматически пройтись по графу распространения ошибки и выдать пользователю все операции, которые могли быть "подпорчены" этой ошибкой, а после этого пусть пользователь сам думает, что и как сторнировать? Или что-то ещё можно предложить?
...
Рейтинг: 0 / 0
14.08.2009, 09:01
    #36143484
Редактирование операций
Kirill Razuvaev
>> Каким образом реализовать понятное пользователю редактирование операций
>> движения спирта?
IMHO, проще административными мерами добиться правильного ввода данных, чем
пытаться локализовывать чужие ошибки. К тому же, их уровень и порядок -
неизвестны. Открывая же механизмы для правки, вы рискуете не только сугубить
ситуацию в случае ошибки при исправлении, но и откроете путь для откровенных
махинаций. Не стоит также забывать о том, что человек, который знает, что от
его ошибки "никто не умрет", перестает ответственно относиться к своей
работе.


Согласен, но человеку свойственно ошибаться, а его начальнику свойственно требовать сходящихся отчётов. Раз свойственно ошибаться, то система должна позволять как-то исправлять свои ошибки.
И ещё: есть вариант, что исправлять ошибки будет не пользователь, а некий технолог сопровождения. И этому сопровожденцу нужен инструмент для редактирования.
...
Рейтинг: 0 / 0
14.08.2009, 10:50
    #36143700
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
Kirill RazuvaevIMHO, проще административными мерами добиться правильного ввода данных, чем
пытаться локализовывать чужие ошибки. К тому же, их уровень и порядок -
неизвестны. Открывая же механизмы для правки, вы рискуете не только сугубить
ситуацию в случае ошибки при исправлении, но и откроете путь для откровенных
махинаций. Не стоит также забывать о том, что человек, который знает, что от
его ошибки "никто не умрет", перестает ответственно относиться к своей
работе. Невозможно что-то делать, не совершая ошибок - это акстиома.

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

Разумеется, это не означает, что не нужно административными мерами добиваться правильного ввода данных и не нужно "усложнять" исправление ошибок (например, исправление ошибки только отделом сопровождения через докладную своему начальнику).
...
Рейтинг: 0 / 0
14.08.2009, 11:18
    #36143791
bootty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
Вячеслав БанкетboottyМожет, сторно всех некорректных операций (текущей датой) спасет?
Как выявить все некорректные операции?
Автоматически пройтись по графу распространения ошибки и выдать пользователю все операции, которые могли быть "подпорчены" этой ошибкой, а после этого пусть пользователь сам думает, что и как сторнировать? Или что-то ещё можно предложить?Алгоритм примерно такой и предложил бы.

Возможна ситуация, когда достаточно будет сторнировать только источник ошибки:
1. Привезли 100 л спирта в емкость А
2. Записали все 100 л в емкость Б (в которой было, скажем, 1000 л)
3. Перелили из Б в Х 500 л
4. Перелили из Х в У 300 л и т.п.

Достаточно сторнировать запись 2, сделав -100 л из Б и +100 л в А. На остальные перемещения это не влияет. Можно даже частично автоматизировать процедуру исправления, предлагая несколько вариантов сторон на выбор.
...
Рейтинг: 0 / 0
14.08.2009, 11:42
    #36143883
Редактирование операций
boottyВячеслав БанкетboottyМожет, сторно всех некорректных операций (текущей датой) спасет?
Как выявить все некорректные операции?
Автоматически пройтись по графу распространения ошибки и выдать пользователю все операции, которые могли быть "подпорчены" этой ошибкой, а после этого пусть пользователь сам думает, что и как сторнировать? Или что-то ещё можно предложить?Алгоритм примерно такой и предложил бы.

Возможна ситуация, когда достаточно будет сторнировать только источник ошибки:
1. Привезли 100 л спирта в емкость А
2. Записали все 100 л в емкость Б (в которой было, скажем, 1000 л)
3. Перелили из Б в Х 500 л
4. Перелили из Х в У 300 л и т.п.

Достаточно сторнировать запись 2, сделав -100 л из Б и +100 л в А. На остальные перемещения это не влияет. Можно даже частично автоматизировать процедуру исправления, предлагая несколько вариантов сторон на выбор.

Да, в таком случае ошибка не распространяется. Это частный случай. А вот если бы в ёмкости Б было изначально 700-799 литров, то что в таком случае делать? Ошибка распространилась на следующие переливания...
...
Рейтинг: 0 / 0
14.08.2009, 12:16
    #36144003
bootty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
Вячеслав БанкетboottyАлгоритм примерно такой и предложил бы.

Возможна ситуация, когда достаточно будет сторнировать только источник ошибки:
1. Привезли 100 л спирта в емкость А
2. Записали все 100 л в емкость Б (в которой было, скажем, 1000 л)
3. Перелили из Б в Х 500 л
4. Перелили из Х в У 300 л и т.п.

Достаточно сторнировать запись 2, сделав -100 л из Б и +100 л в А. На остальные перемещения это не влияет. Можно даже частично автоматизировать процедуру исправления, предлагая несколько вариантов сторон на выбор.

Да, в таком случае ошибка не распространяется. Это частный случай. А вот если бы в ёмкости Б было изначально 700-799 литров, то что в таком случае делать? Ошибка распространилась на следующие переливания...А давайте я попробую Вам доказать, что это не частный случай :)

Если, при каждом "переливании" объем измеряется, то в данном примере не получится взять больше, чем там есть по факту (1000 л). Поэтому достаточно будет одной сторнирующей операции. В тот момент, когда либо из Б попытаются взять больше факта (что вероятнее), либо из А возьмут под ноль остаток по базе, а там останется еще 100 л.
...
Рейтинг: 0 / 0
14.08.2009, 12:52
    #36144161
Редактирование операций
bootty
Если, при каждом "переливании" объем измеряется, то в данном примере не получится взять больше, чем там есть по факту (1000 л). Поэтому достаточно будет одной сторнирующей операции. В тот момент, когда либо из Б попытаются взять больше факта (что вероятнее), либо из А возьмут под ноль остаток по базе, а там останется еще 100 л.

При "переливании" объём не измеряется, мало того, объём могут пополнять из других источников. Так что, исключительная ситуация, когда "из Б попытаются взять больше факта" может проявиться не скоро.
...
Рейтинг: 0 / 0
14.08.2009, 13:39
    #36144359
bootty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
Вячеслав Банкетbootty
Если, при каждом "переливании" объем измеряется, то в данном примере не получится взять больше, чем там есть по факту (1000 л). Поэтому достаточно будет одной сторнирующей операции. В тот момент, когда либо из Б попытаются взять больше факта (что вероятнее), либо из А возьмут под ноль остаток по базе, а там останется еще 100 л.

При "переливании" объём не измеряется, мало того, объём могут пополнять из других источников. Так что, исключительная ситуация, когда "из Б попытаются взять больше факта" может проявиться не скоро.Если не измеряется, т оо каком вообще учете идет речь? :)
А вот то, что могут пополнять из других мест, никак не повлияет на количество сторнирующих операций при правильном учете. Разве что сложнее найти причину ошибки, если переливали одинаковое количество из разных емкостей.
...
Рейтинг: 0 / 0
14.08.2009, 14:48
    #36144638
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
Вячеслав БанкетПри "переливании" объём не измеряется, мало того, объём могут пополнять из других источников. Так что, исключительная ситуация, когда "из Б попытаются взять больше факта" может проявиться не скоро.Непонятно, какой тогда смысл в этих операциях, если они не отражают факта и от них ничего не зависит???

Тогда можно и не исправлять эти операции.
...
Рейтинг: 0 / 0
17.08.2009, 06:33
    #36146799
Редактирование операций
При "переливании" объём не измеряется. Могут происходить замеры при ревизии, которая происходит с некоторой периодичностью, бывают случаи внеплановой ревизии.
...
Рейтинг: 0 / 0
17.08.2009, 09:50
    #36146946
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
alexeyvgНевозможно что-то делать, не совершая ошибок - это акстиома.

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

Разумеется, это не означает, что не нужно административными мерами добиваться правильного ввода данных и не нужно "усложнять" исправление ошибок (например, исправление ошибки только отделом сопровождения через докладную своему начальнику).
Вам, вероятно, не приходилось заниматься учетом на производстве, скажем, в какой-нибудь свободной экономической зоне под таможенным контролем. Например в белорусских СЭЗ. Вот они на полном серьезе считают, что ошибаться нельзя. И нет никаких способов решения проблемы, кроме организационных. Ибо если вы по прошествии какого-то времени попытаетесь исправить невинную ошибочку в задекларированном приходе, то штраф будет равен стоимости всего этого прихода.
Как-то приходится выкручиваться ручными постепенными обратными "микрокоррециями". Такое исправление некоторых ошибок затягивается на месяца и более.
А вы говорите "эксплуатировать невозможно"
...
Рейтинг: 0 / 0
18.08.2009, 02:05
    #36148952
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
Александр Гoлдун
Как-то приходится выкручиваться ручными постепенными обратными "микрокоррециями". Такое исправление некоторых ошибок затягивается на месяца и более.
А вы говорите "эксплуатировать невозможно"
И правильно делают. Ибо нех... Если, например, вместо 100л этилового спирта, продал 100 метилового, то трупы уже ни какой отчетностью не исправишь...
...
Рейтинг: 0 / 0
18.08.2009, 08:53
    #36149106
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
Александр ГoлдунВам, вероятно, не приходилось заниматься учетом на производстве, скажем, в какой-нибудь свободной экономической зоне под таможенным контролем. Например в белорусских СЭЗ. Вот они на полном серьезе считают, что ошибаться нельзя. И нет никаких способов решения проблемы, кроме организационных. Ибо если вы по прошествии какого-то времени попытаетесь исправить невинную ошибочку в задекларированном приходе, то штраф будет равен стоимости всего этого прихода.Что-то вы не о том говорите.

В информационной системе регистрируются факты.

Ошибка оператора - это неправильный ввод факта. Соответственно, исправление ошибочной операции - это приведение операций, введённых в систему, к реальным фактам.

Т.е. если вы в вашем примере отдали одну декларацию, а в свою систему ввели это неправильно, то вполне нормально ввести в систему правильные данные.

Если, например, вместо 100л этилового спирта, продал 100 метилового, а в систему ввёл этиловый, то нужно эту ошибку исправить.

Александр ГoлдунКак-то приходится выкручиваться ручными постепенными обратными "микрокоррециями". Такое исправление некоторых ошибок затягивается на месяца и более.
А вы говорите "эксплуатировать невозможно" Ну вот, вы же исправляете. И все исправляют. И в белорусии исправляют, в китае, в америке, везде.
...
Рейтинг: 0 / 0
18.08.2009, 10:12
    #36149236
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
alexeyvgВ информационной системе регистрируются факты.
Ошибка оператора - это неправильный ввод факта. Соответственно, исправление ошибочной операции - это приведение операций, введённых в систему, к реальным фактам.

+1. главное не допускать безследных корректировок после первоначальной регистрации именно "факта", а не ввода данных документа в БД.
...
Рейтинг: 0 / 0
19.08.2009, 14:34
    #36152364
Редактирование операций
Александр Гoлдун
Как-то приходится выкручиваться ручными постепенными обратными "микрокоррециями". Такое исправление некоторых ошибок затягивается на месяца и более.
А вы говорите "эксплуатировать невозможно"
Поделитесь опытом, как "микрокоррекциями" исправлять данные, не вводя систему в инконсистент?
Допустим, со склада А записывают ошибочное перемещение на склад Б 100 литров метилового спирта. Т.е. на складе А - минус 100 литров метилового, а на складе Б - плюс 100 литров его же. На самом же деле, перемещали не метиловый, а этиловый.
Спустя несколько дней (недель/месяцев/лет), оператор на складе Б замечает, что у него в реале есть 100 литров этилового спирта, но отсутствует 100 литров метилового. Оператор на складе Б делает корректирующие операции: минус 100 литров метилового, плюс 100 литров этилового. Баста! На его складе всё замечательно. До других ему дела нет.
Получаем систему в инконсистенте: этилового спирта в ходу больше, чем поступало; метиловый куда-то делся.
...
Рейтинг: 0 / 0
19.08.2009, 15:43
    #36152588
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование операций
Вячеслав БанкетПоделитесь опытом, как "микрокоррекциями" исправлять данные, не вводя систему в инконсистент?
Допустим, со склада А записывают ошибочное перемещение на склад Б 100 литров метилового спирта. Т.е. на складе А - минус 100 литров метилового, а на складе Б - плюс 100 литров его же. На самом же деле, перемещали не метиловый, а этиловый.
Спустя несколько дней (недель/месяцев/лет), оператор на складе Б замечает, что у него в реале есть 100 литров этилового спирта, но отсутствует 100 литров метилового. Оператор на складе Б делает корректирующие операции: минус 100 литров метилового, плюс 100 литров этилового. Баста! На его складе всё замечательно. До других ему дела нет.
Получаем систему в инконсистенте: этилового спирта в ходу больше, чем поступало; метиловый куда-то делся.А почему "в инконсистенте"?

Если мы через несколько лет делаем корректирующую операцию:
со склада Б перемещение на склад А 100 литров метилового спирта.
со склада А перемещение на склад Б 100 литров этилового спирта.
то что после этого не сойдётся?
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Редактирование операций / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]