1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Прверка на уникальность

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

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

    Ogion7 Гость

    Репутация:
    0
    Усем привет. Такая проблемка: в поле Name висит формула валидации
    Код:
    x:= @DbLookup("Notes":"Nocache";@DbName;"groups"; Name;1;[FailSilent]);
    
    @If(
    @ThisValue="";@Failure("Название - обязательное поле");
    
    (@IsNewDoc & @Elements(x)>=1);@Failure("Обнаружен дубликат группы");
    
    @Elements(x)>1;@Failure("Обнаружен дубликат группы");
    
    @Success
    )
    при создании дока все нормально. Открываю уже существующий, и меняю поле Name на неуникальное(т.е есть документ с таким значением в поле Name). Жму кнтрл+с -- молчание, жму второй раз -- сообщение об дубликации названия поля.
    Заковыка по моему в строке перед @Success -- в представлении еще нет данных о новом значении(одно есть), полсе первого сохранения вьюха обновилась и их уже два. Если поставить >= то будет плеваться при сохранении. Есть идея сделать поле в котором хранить старое имя, и если оно не совпадает с новым, а элементов нашло 1 -- то ошибка. Но может можно как то проще?
     
  2. Ogion7

    Ogion7 Гость

    Репутация:
    0
    Решил с помощью представления (Duplicate_groups) из двух столбцов: первый категория по Name, второй--унид документа. В валидации след-й код:
    :)
     
Загрузка...
Статус темы:
Закрыта.

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