1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

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

Повторяющиеся данные?

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

Наш партнер Genesis Hackspace
Статус темы:
Закрыта.
  1. Renegat

    Renegat Гость

    Подскажите новичку
    как вводить данные и проверять не повторяются ли они, если да то выводить сообщение и не сохранять. примерный код я уже нашел

    tmp:=@If(@IsError(@DbLookup("":"NoCache";"";"vDolgn"; cDolgn; "UNID"));"";@DbLookup("":"NoCache";"";"vDolgn"; cDolgn; "UNID"));
    @If(cDolgn=""; @Failure("Введите наименование должности"); @Length(cDolgn)>254; @Failure("Количество символов в поле не должно превышать числа 254"); tmp=""|tmp=UNID; @Success; @Failure("Данная должность уже есть в справочнике"))

    cDolgn-поле, vDolgn-представление, UNID-скрытое поле в форме (значение - @Text(@DocumentUniqueID))
    но зачем UNID нужен не понял?
    обясните как все работает?
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.920
    Симпатии:
    1
    Откуда Вы выдрали этот текст?
    Он ищет в виде документ с введённой такой же должностью и проверяет -одинаковые у тек. документа и у найденного UNID ( Это зделано для того что бы документ как таковой можно было сохранять более одного раза, а то как найдёт сам себя - вот надо проверять тот же унид или нет )

    надеюсь понятно выразился
     
  3. Renegat

    Renegat Гость

    из одной базы там проверка введенных данных!
    я попробовал ее написать на другую но ошибку на повторный ввод он не выводит. почему? что нужно еще сделать?
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.920
    Симпатии:
    1
    ...okup("":"NoCache";"ИМЯ_СЕРВЕРА":"ПУТЬ_К_БАЗЕ.nsf";"vDol....

    Вот так, а вообще посмотрите хэлп по поводу @DbLookup - там примеры есть
     
  5. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-Renegat+4:07:2007, 12:28 -->
    <span class="vbquote">(Renegat @ 4:07:2007, 12:28 )</span><!--QuoteEBegin-->как вводить данные и проверять не повторяются ли они, если да то выводить сообщение и не сохранять
    [snapback]71279" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Сделать в Input Translation @Unique(@Trim(@ThisValue)) и ничего проверять не надо.
     
  6. Renegat

    Renegat Гость

    <!--QuoteBegin-Morpheus+4:07:2007, 15:10 -->
    <span class="vbquote">(Morpheus @ 4:07:2007, 15:10 )</span><!--QuoteEBegin-->...okup("":"NoCache";"ИМЯ_СЕРВЕРА":"ПУТЬ_К_БАЗЕ.nsf";"vDol....

    Вот так, а вообще посмотрите хэлп по поводу @DbLookup - там примеры есть
    [snapback]71296" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    там все в одной и той же базе (поэтому я думаю путь к базе не требуется), а код я взял совсем из другой базы


    <!--QuoteBegin-Medevic+4:07:2007, 15:13 -->
    <span class="vbquote">(Medevic @ 4:07:2007, 15:13 )</span><!--QuoteEBegin-->Сделать в Input Translation @Unique(@Trim(@ThisValue)) и ничего проверять не надо.
    [snapback]71297" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    а куда это вставлять надо?
     
  7. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Если поле редактируемое, то в Input Translation.
     
  8. Renegat

    Renegat Гость

    поле редактирумое, но лотус у меня на русском версии 6.5
     
  9. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.920
    Симпатии:
    1
    <!--QuoteBegin-Renegat+4:07:2007, 12:18 -->
    <span class="vbquote">(Renegat @ 4:07:2007, 12:18 )</span><!--QuoteEBegin-->там все в одной и той же базе (поэтому я думаю путь к базе не требуется), а код я взял совсем из другой базы
    [snapback]71299" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    тьфу, я не правильно понял

    2Medevic
    А при чем тут уникью - реч идёть о том что бы значение не повторялось в другом документе в тек. базе( это насколько понял )
     
  10. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-Morpheus+4:07:2007, 13:28 -->
    <span class="vbquote">(Morpheus @ 4:07:2007, 13:28 )</span><!--QuoteEBegin-->А при чем тут уникью - реч идёть о том что бы значение не повторялось в другом документе в тек. базе( это насколько понял )

    [snapback]71303" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Тогда не причем. Неправильно понял. :D
     
  11. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Один из вариантов. Вставляется в Input Validation поля. По-русски не знаю как называется.
    Код (Text):
    @If(@IsNull(@ThisValue); @Failure("Пустое значение"); @If(@IsNull(@Trim(@Replace(@Transform(@ThisValue; "x"; @DbLookup("":"NoCache"; ""; "vDolgn"; x; "UNID"; [FailSilent])); @Text(@DocumentUniqueID); @Nothing))); @Success; @Failure("Есть такая буква!")))
     
  12. Renegat

    Renegat Гость

    разкажу так! есть форма где надо вводить должности и если ввести должность которая имеется в базе то выводить ошибку!

    и в проложенным вверху коде я не понял как тут идет сравнение (т.е. поиск уже имеющихся данных и сравнение с вводимой должностью)?
     
  13. Renegat

    Renegat Гость

    спасибо!
    но я все не понял? что такое "х"? это символ?
    зачем использовать UNID?
     
  14. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-Renegat+4:07:2007, 14:45 -->
    <span class="vbquote">(Renegat @ 4:07:2007, 14:45 )</span><!--QuoteEBegin-->но я все не понял? что такое "х"? это символ?
    [snapback]71320" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    "x" - переменная. Глянь хелп по @Transform.

    <!--QuoteBegin-Renegat+4:07:2007, 14:45 -->
    <span class="vbquote">(Renegat @ 4:07:2007, 14:45 )</span><!--QuoteEBegin-->зачем использовать UNID?
    [snapback]71320" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Уже ответили выше. Чтобы исключить из проверки текущий документ.
    Или что значит использовать?
     
  15. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.920
    Симпатии:
    1
    Для: Renegat
    Вот - таже пробьлема что и у Вас
     
Загрузка...
Похожие Темы - Повторяющиеся данные
  1. Петручо
    Ответов:
    3
    Просмотров:
    168
  2. drno-reg
    Ответов:
    1
    Просмотров:
    255
  3. Bafomet
    Ответов:
    3
    Просмотров:
    169
  4. maliy
    Ответов:
    37
    Просмотров:
    867
  5. Anatoly
    Ответов:
    24
    Просмотров:
    796
Статус темы:
Закрыта.

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