отследить было-ли изменение определенных полей
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
отследить было-ли изменение определенных полей
с11 ABC MS SQL . Есть в таблице поля вместо массива типа Z1 - Z100 ( string10 ). Как проверить проще было-ли что-то изменено в этих полях кроме перечисления типа if len(z1) <> LEN(Z1 ДО начала редактирования ) and len(z2....
?
?
talgat55
talgat55
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5341
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 65 раз
отследить было-ли изменение определенных полей
По хорошему, надо логировать изменения. Но это целая достаточно не простая задача, около 20 лет назад подробно обсуждали. 

C6/C12, ШВС, tps/btrieve.
finsoftrz
- ingasoftplus
- Ветеран
- Сообщения: 467
- Зарегистрирован: 26 Декабрь 2006, 17:07
- Откуда: Оттуда :)
- Благодарил (а): 125 раз
- Поблагодарили: 7 раз
отследить было-ли изменение определенных полей
посмотрите в эту сторону:
Par2: How to tell whether a field has been changed
2000-07-21 -- Dennis Evans
Late in INIT call
Then, in TakeCompleted Before Parent call, you can test whether any field on the Form has been changed with:
Par2: How to tell whether a field has been changed
2000-07-21 -- Dennis Evans
Late in INIT call
Код: Выделить всё
self.SaveHistory()
Код: Выделить всё
if History::pre:RECORD.pre:label <> pre:label
Последний раз редактировалось ingasoftplus 13 Февраль 2024, 17:54, всего редактировалось 1 раз.
ingasoftplus
-
- ✯ Ветеран ✯
- Сообщения: 5196
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
отследить было-ли изменение определенных полей
Вы хотите проверять было ли изменение в словаре или на сервере?
В любом случае - дурацкая идея. Что это даст на уровне клиента (пользователя)?
В любом случае - дурацкая идея. Что это даст на уровне клиента (пользователя)?
We are hard at work… for you. 

kreator
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5341
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 65 раз
отследить было-ли изменение определенных полей
Разные потребности бывают. Если просто сам факт изменения, то это мало информативно, для решения какого-то частного вопроса. Если полноценно логировать изменения, то там много чего можно наворотить. Это так называемый "аудиторский след". Я вообще не представляю, как без этого можно нормально разбирать полеты с пользователями.kreator писал(а): 13 Февраль 2024, 16:26 Вы хотите проверять было ли изменение в словаре или на сервере?
В любом случае - дурацкая идея. Что это даст на уровне клиента (пользователя)?
C6/C12, ШВС, tps/btrieve.
finsoftrz
- Игорь Столяров
- Ветеран движения
- Сообщения: 8100
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 30 раз
- Поблагодарили: 98 раз
отследить было-ли изменение определенных полей
Помещаем поля в GROUP (или накрываем строкой OVER) и считаем хеш до и после открытия карточки.
Сравниваем хеши и видим были ли изменения или нет. Но и не более того.

Make Clarion Great Again ! 
Игорь Столяров
-
- ✯ Ветеран ✯
- Сообщения: 5196
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
отследить было-ли изменение определенных полей
Ну а дальше-то чего? Ещё и до расчёта хеша ошибка вылезет при открытии таблицы.Игорь Столяров писал(а): 13 Февраль 2024, 19:14Помещаем поля в GROUP (или накрываем строкой OVER) и считаем хеш до и после открытия карточки.
Сравниваем хеши и видим были ли изменения или нет. Но и не более того.![]()
We are hard at work… for you. 

kreator
- Игорь Столяров
- Ветеран движения
- Сообщения: 8100
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 30 раз
- Поблагодарили: 98 раз
отследить было-ли изменение определенных полей
Вот для этого и проверяем - что бы не открывать список (с ошибкой), если структура изменилась.kreator писал(а): 14 Февраль 2024, 16:31 Ну а дальше-то чего? Ещё и до расчёта хеша ошибка вылезет при открытии таблицы.
У нас нет задачи указать формат какого поля, кем и зачем было изменено - это задача для протоколирования.
Make Clarion Great Again ! 
Игорь Столяров
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)