Страница 3 из 3

Joomla Component Builder (JBC)

Добавлено: 17 Октябрь 2020, 20:54
kreator
finsoftrz писал(а): 17 Октябрь 2020, 16:13 Теперь на минутку задумайтесь. Как можно вообще получить информацию о том, кто редактирует документ? Правильно, только зафиксировав эту информацию при начале редактирования. Других вариантов просто нет. Будет это делать приложение, работающее со встроенной базой данных, или sql сервер, не важно. Делать они будут это примерно одинаково, с поправкой на особенности технологии.

Если задали вопрос про данный функционал, значит, он для Вас имеет значение. Это совсем не гуд, когда у Вас 2 пользователя открыли один и тот же документ с разных рабочих мест, и не знают друг о друге. Вносят изменения, а затем тот, кто последним пытается сохранить их в базе данных, получает отлуп, так как у него копия данных не актуальная.
Ну во-первых, информация о том, кто открыл документ документ на редактирование, малоинтересна. И не факт, что тот человек будет вносить какие-то изменения, он просто нажал не на ту кнопку (и пошёл покурить минут на 15, работа при этом встала). Во-вторых, пользователь получает не отлуп, а нормальное сообщение об изменении данной записи. Эти изменения он может увидеть. Логичный принцип "кто первым встал того и тапки" :D .
Есть ещё варианты решения этой проблемы. Без искусственных блокировок.

Joomla Component Builder (JBC)

Добавлено: 18 Октябрь 2020, 0:41
finsoftrz
Речь не про отдельные записи (это частный случай), а про документы. Они могут содержать многострочную часть, а могут и не одну. При редактировании документа пользователь может не только менять отдельные строки, он может выполнять всякие массовые обработки над ними. А может внести какие-то изменения и захотеть их откатить. Если Вы пустите в таком режиме нескольких пользователей в один документ, то получите кашу. Если у Вас подобных ситуаций не возникает, то это говорит об ограничениях функциональных возможностей приложения. Сознательных или неосознанных, другой вопрос.
Посмотрите, как реализуется, например, в той же 1С. Там 2 пользователя одновременно не могут открыть накладную на редактирование. Я думаю, что и в других серьезных приложениях масштаба управления предприятием подход аналогичный.

Joomla Component Builder (JBC)

Добавлено: 18 Октябрь 2020, 0:52
finsoftrz
Просто ради любопытства глянул, что под рукой. Папирус, Мемо Фора, Бис 5. Везде подход такой же. При попытке открытия документа другим пользователем выдается сообщение, кто его уже редактирует, и предлагается открыть в режиме только просмотра.

Joomla Component Builder (JBC)

Добавлено: 18 Октябрь 2020, 14:58
kreator
У Вас конечно убийственные аргументы! 1С, Папирус и т.д. Проблема в том, что они из прошлого века. Почитайте на досуге, что сама 1С думает об этом - https://wonderland.v8.1c.ru/blog/vzaimo ... e-dannykh/.

Joomla Component Builder (JBC)

Добавлено: 18 Октябрь 2020, 15:26
finsoftrz
Долго смеялся над текстом по ссылке.

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

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

Обмен сообщениям у нас пользователи активно используют. У меня тоже была идея подвесить кнопку обмена сообщениями в окно предупреждения, но как-то это не созрело, слишком редко такие ситуации возникают, хотя в этом, возможно, есть рациональное зерно.

Joomla Component Builder (JBC)

Добавлено: 18 Октябрь 2020, 15:42
finsoftrz
Еще одна идея, которую не раз встречал, это открывать документ всегда в режиме только просмотра. И уже внутри его формы жать кнопку включения режима редактирования. В этом есть здравый смысл. Но, на мой взгляд, значимой принципиальной разницы нет.

Joomla Component Builder (JBC)

Добавлено: 18 Октябрь 2020, 15:54
finsoftrz
Раньше за 1с-никами не замечал, чтобы они сами критиковали свою поделку для рекламы новых бантиков. Довольно забавно, спасибо за ссылку.

Joomla Component Builder (JBC)

Добавлено: 18 Октябрь 2020, 23:06
RaFaeL
У нас та же схема с файлом и записями. Отключаемая, если не надо. А то что в SQL hold не работает, так этот файл у нас в tps, зачем ему быть в SQL?

Joomla Component Builder (JBC)

Добавлено: 19 Октябрь 2020, 11:17
kreator
Hold держит только одну запись. Сильно ограниченно использование этого оператора.

Joomla Component Builder (JBC)

Добавлено: 20 Октябрь 2020, 7:02
morkovin
"Пока вы брились в ванной" :) я практически завершил работу над компонентом "Табель". Вот что получилось:
20.10_1.png
Зелёненькими маркерами отмечено то, что добавил: поиск, скроллинг, пагинацию, экспорт в Excel.
В аттаче пример Excel-файла.