EditingRec

автор: jurist23rus
модуль: RecordEditor

Вносит изменения, согласно заданным параметрам, в указанное поле, указанной записи, указанной родительской формы.

Функция, после её вызова, скрытно для пользователя (т.е. без доп. уведомлений) находит форму, указанную ей в Параметре №1 и открывает указанную ей в «Параметре №2» запись этой формы. После чего, находит указанное ей в «Параметре №3» поле и меняет его значение на значение поля, указанное в «Параметре №4». Если параметры № 1, 2, 3 или 4 не указаны, или указаны не верно, то есть имя не соответствует имени компонента (формы, поля) или ID-записи, то функция оповещает пользователя об ошибке. В случае верного указания параметров, функция пытается произвести замену значения поля, указанного в «Параметре №3» на значение поля, указанного в «Параметре №4». При успешной замене функция сохраняет сделанные изменения и прекращает свою работу. Если замена произведена не была, то функция возвращает сообщение об ошибке. Перед тем как произвести замену функция проверяет: не являются ли значения изменяемого и замещающего полей равными, то есть идентичными (одинаковыми). Если функция установит что значения полей равны она не будет производить замены и прекратит свою работу без вывода какого-либо сообщения или ошибки. Замена будет происходить, только если значения полей не равны, то есть в замене есть практический смысл.

Функцию рекомендуется использовать с кнопкой.

EditingRec ('ИмяФормы', 123(идентификатор записи), 'Имя изменяемого поля', [поле формы] или любое значение)

Параметры

  1. имя формы - текст (не может быть пустым)
  2. идентификатор записи - число или функция, возвращающая число
  3. имя изменяемого поля (т.е. поля той формы значение которого должно быть изменено) - текст (обязательное, не может быть пустым)
  4. любое значение (текст, число, дата и т.д.) или ссылка на замещающее поле (т.е. поле формы в котором работает сама функция и содержащее значение, которое заменит значение изменяемого поля) - любое (обязательное)

Результат

ничего не возвращает

Пример

EditingRec ('ИмяФормы', 123, 'Имя изменяемого поля', [Замещающее поле])
EditingRec ('ИмяФормы', 123, 'Имя изменяемого поля', 'Какой-то текст')
EditingRec ('ИмяФормы', 123, 'Имя изменяемого поля', 4567)

Как указано в примерах выше Праметр №4 может содержать любое значение как то «Текст» (указывается в кавычках), 456 (число, указывается без кавычек, иначе это будет текст), или ссылку на поле текущей формы [Замещающее поле] (указывается в квадратных скобках)

EditingRec ('ИмяФормы', 123, 'Имя изменяемого поля', DBGET (...))

Показан более сложный случай, когда параметр № 4 - это другая функция, которая в свою очередь вернёт какое-то значение для функции EditingRec и именно оно будет использоваться для замещения.

EditingRec ('ИмяФормы', 123, 'Имя изменяемого поля', null)

В Параметре № 4 - указана функция null, то есть функция очистит изменяемое поле.