|
|
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
ВМоисеев>vovka3003, сегодня, 20:45 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1210740&msg=21945946][21945946] >...Что дальше..? Когда оба решили сохраниться? <Поступил согласно hVostt 3: 1. Сохраняется первый по времени 2. Второй получает отказ и выборку из полей текущего состояния редактируемого 3. Реализация .... В чистом SQL увы не так силен, как вы, и понял лишь отдельные операторы. Можно пояснить на словах п.2 - я правильно понял, что первый открывший запись имеет приоритетное право на сохранение, а второй, при попытке сохраниться (после первого) - получает принудительное обновление своего набора данных тем набором, который только что проапдейтил первый? Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2019, 23:10 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
L_argoНу дык предложи сирым и убогим, красивое решение. Где оно ? О каком большем речь ? Раскрой тему. Что у вас за маниакальная страсть от поста к посту клянчить готовые решения? :) Тема раскрыта сто пицот раз, надо просто глаза раскрыть и научиться информацию добывать и усваивать, всё написано в интернетах, даже линков накидали выше. Конкретно какие вопросы есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2019, 00:39 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
vovka3003Тут опять же - смотря с какой колокольни смотреть... Я долгое время щупал всякие аналогичные проги. В целом при комплексном анализе пока могу сделать вывод, что автору DX удалось сделать гораздо большее, чем во многих аналогичных конструкторах. Сложно сказать на какое г**но он должен изойтись чтобы реализовать "идеальное" во всех смыслах решение. Предлагать ему собрать мафию единомышленников "для ускорения" - смысла нет, ибо волк-одиночка. Потому сам особо не сетую, ищем баги, льем хотелки, прога растет потихоньку... Речь не про "идеальное". Речь про стоящее. Создавать сегодня велосипед, ровно такой же какие пилили 20 лет назад -- это ваще за гранью странного. Как бы вот и намекаю, что можно было бы крутого сделать. Что вы там "большего" увидели тож непонятно. Но не суть, не будем слишком категоричны. Обсуждаем один конкретный вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2019, 00:43 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
vovka3003Все-таки не могу понять всей прелести такого "оптимизма": Редактировать могут все, ура! (оптимизм) , но сохранить запись в итоге может кто-то один [тут знак вопроса] - неважно, первый это папа или последний... В чем же это "наиболее интересно для бизнеса"..? Можно привести реальный пример? .."на кошках": Берем кошку - ставим на землю, побежал - значит кот, побежала - значит кошка и т.п.. Есть некий большой документ -- какой-нибудь договор с кучей разных атрибутов. Агрегат. Над ним работает несколько отделов одновременно, при чём в основном вносят изменения в разные наборы характеристик, но иногда их изменения пересекаются. Очень плохо: редактировать может только кто-то один. Ваще не нужно такое решение даже задаром. Плохо (местами очень-очень плохо): кто-то может переписать чужие изменения, даже не узнав об этом. Лучше: при конкурирующем сохранении пользователь увидит ошибку потенциальной перезаписи изменений, может посмотреть что там менялось и сравнить со своими правками. Хорошо: система попытается слить изменения, предупредив пользователя, при конфликтах предложить пользователю разрешить коллизии. Совсем хорошо: во время изменения пользователь видит потенциальные конфликты сразу до сохранения. Ну и т.д. тут большой простор для различных решений, зависящий конечно же от задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2019, 00:48 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
Слить изменения чаще всего нельзя. Во всяком случае в тех документах, применительно к которым вообще можно вести подобное обсуждение. Так как одно из полей это может быть Статус, изменение которого влечет за собой целый процесс, который может быть не совместим с изменениями другого пользователя. И платформа сама этого понять не может. Конечно если это тупейший справочник, то можно и слить. Но часто ли их одновременно редактируют. Или точнее, часто ли от такого одновременного редактирования мы получаем негативные последствия. В большинстве случаев нужно среднее между "Плохо" и "Лучше" - когда кто-то может переписать чужие изменения, но если надо, открыть историю и понять кто и что перезаписал. А в критично важных документах - кастомная реализация "умного" слияния или отображения потенциальных конфликтов до сохранения или чего угодно другого. Платформа должна избавлять от рутины, а не добавлять головной боли) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2019, 02:05 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
dma_caviarСлить изменения чаще всего нельзя. Во всяком случае в тех документах, применительно к которым вообще можно вести подобное обсуждение. Так как одно из полей это может быть Статус, изменение которого влечет за собой целый процесс, который может быть не совместим с изменениями другого пользователя. И платформа сама этого понять не может. Бинго! Вот мы и подобрались наконец-то к _сложностям_. Конечно слить изменения можно, даже в самых тяжёлых случаях, и конечно нужно учитывать целостность бизнес-процесса и всего остального. Но сложно, это не значит невозможно. dma_caviarВ большинстве случаев нужно среднее между "Плохо" и "Лучше" - когда кто-то может переписать чужие изменения, но если надо, открыть историю и понять кто и что перезаписал. Да, лучше чем ничего. Но гордиться тут явно нечем. dma_caviarПлатформа должна избавлять от рутины, а не добавлять головной боли) Не-не-не... сделать простое -- сложно. Сделать сложное -- просто. Зачастую разрабы выбирают сделать просто, и пусть пользователи ***ться. Не наши проблемы, таксказать ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2019, 02:44 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
Мне как раз чаще известны другие случаи, когда ***ться именно пользователи, от того что разрабы внушили себе что они сложное могут сделать простым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2019, 02:48 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
И обратите внимание, мы тут говорим о платформенности этого решения. Частный случай слияния конечно можно сделать немного разобравшись в сути документа. Но мы говорим о механизме слияния тех документов, которые еще не придумали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2019, 02:50 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
>vovka3003, вчера, 23:10 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1210740&msg=21945985][21945985] >...Можно пояснить на словах п.2... <Насчет силы опустим. Просто я знаю, что хочу. Ничего нового, по сравнению с тем, что сказал hVostt-3 не делаю. Чтение из базы допустимо в любой момент. Запись содержит timestamp и каждый локальный компьютер получает её значение при чтении. Хранить результаты редактирования может любой пользователь в любой момент, не зависимо каким по счету он читал. При записи меняется значение timestamp и соответственно другие изменения будут отклонены. Мне удобнее, если текущее измененное состояние записи передаётся пользователю. Крайнее поле полученной записи содержит код ошибки (точнее - код завершения операции). Что делать с двумя записями для одной сущности решать Вам. Я сообщаю пользователю об ошибке и показываю текущие атрибуты сущности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2019, 09:42 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
dma_caviarМне как раз чаще известны другие случаи, когда ***ться именно пользователи, от того что разрабы внушили себе что они сложное могут сделать простым. Это тот случай, когда люди занимаются не своим делом. Разработка UX и поведенческое проектирование это отдельный набор компетенций, который зачастую отсутствует как класс во многих проектах. Поэтому не выдумывайте про какое-то там самовнушение. dma_caviarИ обратите внимание, мы тут говорим о платформенности этого решения. Частный случай слияния конечно можно сделать немного разобравшись в сути документа. Но мы говорим о механизме слияния тех документов, которые еще не придумали. Снова какие-то домыслы, видимо это основывается на весьма ограниченном опыте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2019, 17:50 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
hVostt, Примеры-то будут? Опытный вы наш) Пару концепций-принципов, вкратце. С помощью которых система сможет понимать как сливать документы, которые разработчиком еще не сконфигурированы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2019, 05:27 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
Ребят, я извиняюсь за то, что вклиниваюсь в полемику, но меряясь между собой пись... специализациями и знаниями технологий между этим поливая сабж-программу и ее автора-"велосипедиста" на чем свет стоит - таки плавно ушли от ответов на встречные вопросы. В частности на: "..Как называется программа(ы) в которой на сегодняшний день есть какая-нибудь из озвученных плюшек? Таких как "оптимистическая блокировка" например... А то выходит - в теории мы все "Львы Толстые", а конкретики-то нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2019, 13:18 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
...чур носом в википедию и всякие иносранные сайты с описанием мега-спецификаций не тыкать :). Нужен реальный живой пример в существующем решении... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2019, 17:27 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
>vovka3003, сегодня, 17:27 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1210740&msg=21946528][21946528] > ...Нужен реальный живой пример в существующем решении… <Попытаюсь ответить Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2019, 19:56 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
ВМоисеев, Я прошу прощения, видимо недостаточно четко задал вопрос. Исправляюсь...: "..Как называется программа(ы) относительно массового применения, в которой на сегодняшний день есть какая-нибудь из озвученных плюшек? Таких как "оптимистическая блокировка" например..." А то "давят" на нас тут :) а "посмотреть в лицо" какой-то такой программе или потыкать ей в кнопки - не дают... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2019, 21:22 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
dma_caviarhVostt, Примеры-то будут? Опытный вы наш) Пару концепций-принципов, вкратце. С помощью которых система сможет понимать как сливать документы, которые разработчиком еще не сконфигурированы. Я пока не увидел конкретных вопросов. Все концепции уже давно изучались, обсуждались и описывались, гугл даёт овердофига информации. И краткое описание и линки тут уже давали. Если чего непонятно, пишите. Хотя очевидно, что вам не очень-то интересно тратить время на изучение этой темы. Если вам неинтересно, с какого перепугу лично мне нужно для вас стараться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2019, 11:47 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
vovka3003 "..Как называется программа(ы) в которой на сегодняшний день есть какая-нибудь из озвученных плюшек? Таких как "оптимистическая блокировка" например... ms access ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2019, 12:37 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
hVosttЕсли чего непонятно, пишите. А я и пишу. Мне понятно как в конкретном документе сделать слияние. Для этого надо вникнуть в смысл бизнес процесса. И станет очевидно в каких свойствах какие значения как мержить. Обсуждать это в этой теме не очень интересно. Мне не понятно как платформа сама должна понимать это в отношении документов, которые разработчик еще не разработал. В отношении бизнес процессов, которые еще даже не придумали. И я уверен что это сделать нельзя. Ну то есть технически можно конечно, но только покалечить документ. Например заказ такси одновременно редактирует оператор и клиент. В итоге заказ в статусе Заказано, а адрес пустой. Чтобы этого не случилось, нужно ведь как-то пописать все эти правила. Но это можно прописать только в конкретной разработке, в конкретном документе, в данном случае - "Заказ". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2019, 13:40 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
Изопропилvovka3003 "..Как называется программа(ы) в которой на сегодняшний день есть какая-нибудь из озвученных плюшек? Таких как "оптимистическая блокировка" например... ms access Совсем другое дело... Не знал. Теперь хоть есть куда потыкать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2019, 14:18 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
dma_caviarА я и пишу. Мне понятно как в конкретном документе сделать слияние. Для этого надо вникнуть в смысл бизнес процесса. И станет очевидно в каких свойствах какие значения как мержить. Обсуждать это в этой теме не очень интересно. Слишком обобщённый вопрос. На который будет такой же обобщённый ответ. dma_caviarМне не понятно как платформа сама должна понимать это в отношении документов, которые разработчик еще не разработал. В отношении бизнес процессов, которые еще даже не придумали. Документы это не аморфная абстракция, всегда существует модель хранения, модель обработки, абстракции и концепции, в рамках которых реализуется система. Вот в рамках конкретно выбранных решений и реализуется задуманное. dma_caviarИ я уверен что это сделать нельзя. Я был уверен, что это сделать можно до того, как сам это реализовал. А после того, как реализовали, протестировали и обкатали стало понятно, что можно, и что это решает задачи конкурентной работы над ресурсами. А то, что это на порядок лучше пессимистичной блокировки и тем более эксклюзивной блокировки мы выяснили собрав фидбек, и показатели эффективности работы. dma_caviarНу то есть технически можно конечно, но только покалечить документ. Например заказ такси одновременно редактирует оператор и клиент. В итоге заказ в статусе Заказано, а адрес пустой. Чтобы этого не случилось, нужно ведь как-то пописать все эти правила. Но это можно прописать только в конкретной разработке, в конкретном документе, в данном случае - "Заказ". Вы описываете отсутствие какой-либо модели блокировки. Грубо говоря, ваш метод "как фишка ляжет" естественно работать не будет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2019, 15:18 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
hVosttСлишком обобщённый вопрос. На который будет такой же обобщённый ответ. Ок, вопрос конкретный... Вот вы на своем опыте, реализовали этот механизм. Вы это сделали для какого-то конкретного документа? Например Заказ, Клиент. Можно ли без внесения изменений в код этого механизма, применить его для другого документа? Например Накладная, Счет. То есть реализовали один раз и пользуемся везде через CtrlC + CtrlV. Наверняка вы скажете нет. Тогда следующий вопрос - можно это сделать без внесения изменений в код этого механизма, через не очень сложные настройки (без программирования)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2019, 02:28 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
dma_caviarhVosttСлишком обобщённый вопрос. На который будет такой же обобщённый ответ. Ок, вопрос конкретный... Вот вы на своем опыте, реализовали этот механизм. Вы это сделали для какого-то конкретного документа? Например Заказ, Клиент. Можно ли без внесения изменений в код этого механизма, применить его для другого документа? Например Накладная, Счет. То есть реализовали один раз и пользуемся везде через CtrlC + CtrlV. Наверняка вы скажете нет. Тогда следующий вопрос - можно это сделать без внесения изменений в код этого механизма, через не очень сложные настройки (без программирования)? Какие проблемы? Для каждого типа (агрегата) введи метод блокировки в метаданных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2019, 10:57 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
ViPRosКакие проблемы? Для каждого типа (агрегата) введи метод блокировки в метаданных. Так речь не про блокировку, а про метод слияния, если документ редактируется одновременно несколькими пользователями. Например пользователь 1 изменил статус и это взывало автоматическое изменение еще нескольких полей. Пользователь 2 в это же время изменил одно из тех полей, которое было автоматически изменено из-за смены статуса и еще одно из любых других полей типа Комментарий. Как нам слить эти 2 редактирования, если в данном документе смысл бизнес процесса такой, что изменения пользователя №2 конфликтуют с новым статусом А вот комментарий пофиг, можно и слить. При этом некоторые поля при слиянии нужно объединять, а не которые (например справочники) не объединять, а выбирать значение пользователя, которое наиболее приоритетное с учетом бизнес-логики (в данном примере - статуса). При всем при этом этот автоматизм (который после изменения статуса, сменил еще пару полей) мог быть инициирован другой системой. Ну хз, например 1С-ом, если он интегрирован или сайтом или Астером. Или еще хз кем. И все это нужно как-то прописать в метаданных. И никто из разработчиков заказчика не будет это делать. Потому что они и так прекрасно живут имея в наличии две вещи: 1 - принцип кто последний тот и папа и 2 - подробный лог редактирования. Если и возникнет Ситуация раз в год, то откроют лог и во всем разберутся. А если никто из разработчиков заказчика не будет этого делать, то зачем нам усложнять платформу. Просто чтобы сказать, что у нас есть модная фича? Чем меньше подобных наворотов, тем надежнее механизм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2019, 11:40 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
dma_caviar, по верхам скачешь если, например, метод блокировки "пессимизм", то второй юзер ничего не сможет даже прочитать или получить сообщение о занятости ресурса при попытке редактировать тухлый кеш слияние изменений - при оптимизме, в момент слияния все равно надо переключиться на пессимизм сливающий код - внешний, пользовательский, ты просто вызываешь методы слияния заданные пользователем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2019, 11:47 |
|
||
|
DataExpress - конструктор баз данных.
|
|||
|---|---|---|---|
|
#18+
ViPRosсливающий код - внешний, пользовательский, ты просто вызываешь методы слияния заданные пользователем Тут вопросов нет. Я просто к тому что пользователь в 99% не будет заморачиваться. И, как я понял, было предложено сделать все полностью автоматически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2019, 11:51 |
|
||
|
|

start [/forum/topic.php?fid=33&msg=39847746&tid=1547081]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 167ms |

| 0 / 0 |
