поле, вычислыемое один раз

Тема в разделе "Lotus - Программирование", создана пользователем Wiky, 5 фев 2007.

Статус темы:
Закрыта.
  1. Wiky

    Wiky Гость

    Здраствуйте!
    Помогите, плиз! При изменении значения поля типа список необходимо в другое поле занести дату когда оно(это изменение) произошло и больше не менять значение этого поля.
     
  2. K-Fire

    K-Fire Гость

    скриптом на exit field списочного поля можно. Или на postopen запоминать старое значение списка, на postsave проверять, если изменилось - запоминать дату-время в другом поле.
     
  3. Elena Nefedova

    Elena Nefedova Гость

    Или отслеживать - если дата во втором поле имеется, то скрывать первое поле, а на его месте выводить Computed for Display с нужными данными.

    Другой хороший вариант - использовать свойство поля Input Enabled.
    В семерке работает и для Notes Syle, и для OS Style.
     
  4. Fossil Code

    Fossil Code Гость

    Прошу прощения, постановка задачи представляется недостаточно логичной и полной. Как это понимать: поле списка может быть отредактировано однократно после первоначального заполнения? А первоначальное заполнение списка редактированием считается? Или можно редактировать список многократно, но запоминать дату только первого изменения? Думаю, что пока проблема скорее в постановке, чем в реализации.
     
  5. IsAvailable

    IsAvailable Гость

    onChange, может, использовать?

    Для: Fossil Code
    Согласен. Фраза "и больше не менять значение этого поля." неоднозначна и поэтому не понять, что именно требуется (
     
  6. Wiky

    Wiky Гость

    Прошу прощения! действительно непонятно объснил! список можно редактировать несколько раз и только при первом редактировании и при определенном выбранном значении вычислять поле (заносить дату) только один раз, при последующих изменениях списка изменений в это вычисляемое поле не вносить.
     
  7. IsAvailable

    IsAvailable Гость

    Ну можно на форме скрытое поле завести. И по дефолту писать туда "0".
    при редактировании, если это поле = "0", то произвести соответствующие изменения и значение поля изменить на "1". Если значение поля = "1", то никаких дополнительных записей не делать.
     
  8. Fossil Code

    Fossil Code Гость

    Ну, тогда так:

    1) делаем скрытое поле old_list (размещаем его _внизу_ формы)
    2) при каждом открытии документа для редактирования (соотв. событие формы) в коде для события заносим туда значение исх. списка @Setfield("old_list";my_list)
    3) полагаем, что поле даты изменения первоначально инициализировано в ничто, т.е. list_change_date = ""
    4) в событие сохранения документа пишем код:

    @Setfield("list_change_date";@If((my_list!=old_list)&(list_change_date="");@Now;list_change_date))

    И наслаждаемся...
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей