Автоматический запуск процедуры (метода) и присвоение значения столбцу отмеченному как Do Not Auto-Populate This Colum

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Developer
Ветеран
Сообщения: 482
Зарегистрирован: 26 Март 2012, 16:18

Автоматический запуск процедуры (метода) и присвоение значения столбцу отмеченному как Do Not Auto-Populate This Colum

Сообщение Developer » 15 Декабрь 2018, 14:00

Привет всем!

Clarion 11.0.0.13244

Подскажите, пожалуйста, пример автоматического вызова сторонней Embed процедуры (метода) и присвоения значения переменных результата этой работы столбцам записи отмеченным в Dictionery -->Option --> Do Not Auto-Populate This Column при добавлении (Insert), изменении (Change), удалении (Delete) как в режиме формы так и в режиме Edit-In-Place.

К примеру, необходимо автоматически вызвать процедуру (метод) - GenerateGUID и добавить (изменить) возвращаемое сгенерированное значение GUID (переменная GUIDVariable) в столбец записи UserGUIDVariable который не должен быть доступен пользователю при добавлении, изменении, удалении записи как в режиме формы так и в режиме Edit-In-Place при использовании шаблонов Clarion ABC.
С Уважением, Developer

kreator
Ветеран
Сообщения: 3200
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Автоматический запуск процедуры (метода) и присвоение значения столбцу отмеченному как Do Not Auto-Populate This Colum

Сообщение kreator » 15 Декабрь 2018, 15:58

Вообще при добавлении записи значения определяются в методах PrimeFields в форме и PrimeRecord при EIP. Свою обработку надо туда вставлять. Но для SQL определение здесь первичного ключа в корне неправильно как правило не делают. Только за редким исключением, когда интерфейс требует. Потому что может быть откат. И зачем нам дыры в первичном ключе. Но вот насчёт GUID'а не всё так однозначно. Наверно, можно и там его определять. а по поводу доступности поля для редактирования - не понятен вопрос, это определяется интерфейсом, вроде как.
We are hard at work… for you. :)

Developer
Ветеран
Сообщения: 482
Зарегистрирован: 26 Март 2012, 16:18

Автоматический запуск процедуры (метода) и присвоение значения столбцу отмеченному как Do Not Auto-Populate This Colum

Сообщение Developer » 15 Декабрь 2018, 16:16

kreator писал(а):
15 Декабрь 2018, 15:58
Вообще при добавлении записи значения определяются в методах PrimeFields в форме и PrimeRecord при EIP. Свою обработку надо туда вставлять. Но для SQL определение здесь первичного ключа в корне неправильно как правило не делают. Только за редким исключением, когда интерфейс требует. Потому что может быть откат. И зачем нам дыры в первичном ключе. Но вот насчёт GUID'а не всё так однозначно. Наверно, можно и там его определять. а по поводу доступности поля для редактирования - не понятен вопрос, это определяется интерфейсом, вроде как.
Kreator, спасибо за отклик и мнение :D

Мне необходимо реализация вопроса в принципе без привязки к Primary Key :D

Попробовал, немного получилось, но пока нет требуемого результата.

Имел в виду автоматическое заполнение столбцов таблицы недоступных пользователю, но используемых в служебных целях (идентификация, разграничение прав доступа, связи) в таблицах баз данных.

Может быть, кто подскажет поподробнее?
С Уважением, Developer

Yufil
Ветеран движения
Сообщения: 1091
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Автоматический запуск процедуры (метода) и присвоение значения столбцу отмеченному как Do Not Auto-Populate This Colum

Сообщение Yufil » 15 Декабрь 2018, 22:43

Может быть, достаточно использовать стандартные классы Access:File.Insert/Acces:File.tryinsert, Access:File.Update/ Access:File.TryUpdate, Access:File.Deleterecord - туда прописать вставки, обновляющие дополнительные поля.

Developer
Ветеран
Сообщения: 482
Зарегистрирован: 26 Март 2012, 16:18

Автоматический запуск процедуры (метода) и присвоение значения столбцу отмеченному как Do Not Auto-Populate This Colum

Сообщение Developer » 15 Декабрь 2018, 23:43

Yufil писал(а):
15 Декабрь 2018, 22:43
Может быть, достаточно использовать стандартные классы Access:File.Insert/Acces:File.tryinsert, Access:File.Update/ Access:File.TryUpdate, Access:File.Deleterecord - туда прописать вставки, обновляющие дополнительные поля.
Юрий, спасибо за отклик и подсказку.
Возможно это так, попробую :wink:
С Уважением, Developer

kreator
Ветеран
Сообщения: 3200
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Автоматический запуск процедуры (метода) и присвоение значения столбцу отмеченному как Do Not Auto-Populate This Colum

Сообщение kreator » 16 Декабрь 2018, 14:46

Developer писал(а):
15 Декабрь 2018, 16:16
Попробовал, немного получилось, но пока нет требуемого результата.
А что попробовал? И что не дало требуемого результата? Что конкретно надо сделать? Пока у нас чисто теоретические рассуждения.
We are hard at work… for you. :)

Developer
Ветеран
Сообщения: 482
Зарегистрирован: 26 Март 2012, 16:18

Автоматический запуск процедуры (метода) и присвоение значения столбцу отмеченному как Do Not Auto-Populate This Colum

Сообщение Developer » 16 Декабрь 2018, 18:45

Kreator, спасибо за помощь, попробовал - идёт заполнение столбцов по нажатию кнопки OK, теперь необходимо распределить дифференцированные действия в зависимости от ситуации Insert, Change, Delete.

Юрий Философов предложил вариант,
Yufil писал(а):
15 Декабрь 2018, 22:43
Может быть, достаточно использовать стандартные классы Access:File.Insert/Acces:File.tryinsert, Access:File.Update/ Access:File.TryUpdate, Access:File.Deleterecord - туда прописать вставки, обновляющие дополнительные поля.
- возможно он подойдёт мне :D

Необходимо проверить :wink:
С Уважением, Developer

Ответить