Joomla Component Builder (JBC)

Разработка программ на пес его знает на чем
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Joomla Component Builder (JBC)

Сообщение kreator »

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

Если задали вопрос про данный функционал, значит, он для Вас имеет значение. Это совсем не гуд, когда у Вас 2 пользователя открыли один и тот же документ с разных рабочих мест, и не знают друг о друге. Вносят изменения, а затем тот, кто последним пытается сохранить их в базе данных, получает отлуп, так как у него копия данных не актуальная.
Ну во-первых, информация о том, кто открыл документ документ на редактирование, малоинтересна. И не факт, что тот человек будет вносить какие-то изменения, он просто нажал не на ту кнопку (и пошёл покурить минут на 15, работа при этом встала). Во-вторых, пользователь получает не отлуп, а нормальное сообщение об изменении данной записи. Эти изменения он может увидеть. Логичный принцип "кто первым встал того и тапки" :D .
Есть ещё варианты решения этой проблемы. Без искусственных блокировок.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4561
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Joomla Component Builder (JBC)

Сообщение finsoftrz »

Речь не про отдельные записи (это частный случай), а про документы. Они могут содержать многострочную часть, а могут и не одну. При редактировании документа пользователь может не только менять отдельные строки, он может выполнять всякие массовые обработки над ними. А может внести какие-то изменения и захотеть их откатить. Если Вы пустите в таком режиме нескольких пользователей в один документ, то получите кашу. Если у Вас подобных ситуаций не возникает, то это говорит об ограничениях функциональных возможностей приложения. Сознательных или неосознанных, другой вопрос.
Посмотрите, как реализуется, например, в той же 1С. Там 2 пользователя одновременно не могут открыть накладную на редактирование. Я думаю, что и в других серьезных приложениях масштаба управления предприятием подход аналогичный.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4561
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Joomla Component Builder (JBC)

Сообщение finsoftrz »

Просто ради любопытства глянул, что под рукой. Папирус, Мемо Фора, Бис 5. Везде подход такой же. При попытке открытия документа другим пользователем выдается сообщение, кто его уже редактирует, и предлагается открыть в режиме только просмотра.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Joomla Component Builder (JBC)

Сообщение kreator »

У Вас конечно убийственные аргументы! 1С, Папирус и т.д. Проблема в том, что они из прошлого века. Почитайте на досуге, что сама 1С думает об этом - https://wonderland.v8.1c.ru/blog/vzaimo ... e-dannykh/.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4561
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Joomla Component Builder (JBC)

Сообщение finsoftrz »

Долго смеялся над текстом по ссылке.

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

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

Обмен сообщениям у нас пользователи активно используют. У меня тоже была идея подвесить кнопку обмена сообщениями в окно предупреждения, но как-то это не созрело, слишком редко такие ситуации возникают, хотя в этом, возможно, есть рациональное зерно.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4561
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Joomla Component Builder (JBC)

Сообщение finsoftrz »

Еще одна идея, которую не раз встречал, это открывать документ всегда в режиме только просмотра. И уже внутри его формы жать кнопку включения режима редактирования. В этом есть здравый смысл. Но, на мой взгляд, значимой принципиальной разницы нет.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4561
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Joomla Component Builder (JBC)

Сообщение finsoftrz »

Раньше за 1с-никами не замечал, чтобы они сами критиковали свою поделку для рекламы новых бантиков. Довольно забавно, спасибо за ссылку.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Joomla Component Builder (JBC)

Сообщение RaFaeL »

У нас та же схема с файлом и записями. Отключаемая, если не надо. А то что в SQL hold не работает, так этот файл у нас в tps, зачем ему быть в SQL?
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Joomla Component Builder (JBC)

Сообщение kreator »

Hold держит только одну запись. Сильно ограниченно использование этого оператора.
We are hard at work… for you. :)
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Joomla Component Builder (JBC)

Сообщение morkovin »

"Пока вы брились в ванной" :) я практически завершил работу над компонентом "Табель". Вот что получилось:
20.10_1.png
Зелёненькими маркерами отмечено то, что добавил: поиск, скроллинг, пагинацию, экспорт в Excel.
В аттаче пример Excel-файла.
Вложения
Табель за 1 - 15 числа (1).zip
(2.74 КБ) 195 скачиваний
WBR, morkovin
Ответить