Lotus Script

  • Автор темы Автор темы Gor
  • Дата начала Дата начала
Это зачем ты так делаешь ? Если ты хочешь инициализировать вычисляемое поле при создании документа, то использую в нем формулу типа:
Ну да в принципе так даже легче на порядок) просто что то другого сразу способа решения более легкого проблемы не знал и решил так сделать :)
Если я правильно понял, то так и должно быть. Жми F9 для обновления.
Ну в принципе да. Я вот и спрашивал а может быть есть какая нибудь команда позволяющая рефрешить вьюху сразу без нажатия F9?? Например как нить может можно рефреш сделать во вьюхе по условию.????... например
при создании респонса у документа во вьюхе происходит рефреш....вот я только в классах путаюсь....
Должно работать всегда. Проверь дебаггером.
А дебаггер зараза чёта не берёт..... кнопку эту......
с этим я помучаюсь
 
Вот возник вопрос:

Есть база данных с некоторым количеством документов. У этих документов, кроме прочих, есть поле «имя». Это имя вводиться всегда вручную. Проблема в том, что это имя /(название дока) у каждого документа должен быть уникальным. Как, при создании нового документа узнать, не существует ли уже такого дока с таким именем? Конечно, можно каждый раз задавать поиск руками, но это не приемлемо. Нужно, чтобы по нажатии на кнопку выполнялся какой-то скрипт поиска и если такое имя уже есть – выводить сообщение.

Спасибо заранее.
 
Для: Gogan.exe
Есть такая функция @DbColumn (можно и @DbLookup).
Запихиваешь в Validation Formula примерно такой код:
Код:
@If(@IsError(@DbLookup("":"NoCache"; "Сервер":"база"; "Представление"; имя; номер колонки с этим полем));@Success;@Failure("Уже есть"))
Можно через скрипты еще по событию OnChange например.

И лучше создавать отдельный топик для таких вопросов.
 
Опять возник вопрос...
В родительском документе две кнопки. Одна создает документ с описанием поломки, другая его открывает (при возврате из ремонта).
С первой кнопкой всё нормально...
А на вторую кнопку повесил просто формулу
@Command([Compose]; "Faxes_M(имя формы респонса)")

И на неё вылазит ошибка :

Field "snp": Invalid UNID; UNID must be a 32-digit hex string.

Причём поле snp это поле заимствованное из родительского в респонс Computed for display c формулой @GetDocField($Ref; "snp") ???

И ещё не отображаются во вьюхе респонсы(( где отметки о поломках должны быть отражены и снятие с ремонта((
Во вьюхе простой Select = Form "Faxes_M"
Faxes_M - это имя поля респонса который как раз создаётся по кнопке одной и должен открываться по другой(но не открывается)
 
<!--QuoteBegin-Gor+11:08:2005, 12:04 -->
<span class="vbquote">(Gor @ 11:08:2005, 12:04 )</span><!--QuoteEBegin-->С первой кнопкой всё нормально...
А на вторую кнопку повесил просто формулу
@Command([Compose]; "Faxes_M(имя формы респонса)")
[snapback]23320" rel="nofollow" target="_blank[/snapback]​
[/quote]
А что ты хочешь это кнопкой сделать ? Сейчас я вижу, что ты хочешь создать новый документ. Ошибка выскакивает из-за того, что поля $Ref еще не существует (и @GetDocField($Ref; "snp") выдает ошибку). Создавай документ через скрипт. Хотя не понятно, зачем тебе создавать документ когда надо его открывать. Открывать надо через скрипты. У NotesDocument есть свойство Responses. Возвращает все ответы. Тебе надо в цикле перебрать их и открыть на редактирование тот, который со статусом "В ремонте".


<!--QuoteBegin-Gor+11:08:2005, 12:04 -->
<span class="vbquote">(Gor @ 11:08:2005, 12:04 )</span><!--QuoteEBegin-->И ещё не отображаются во вьюхе респонсы(( где отметки о поломках должны быть отражены и снятие с ремонта((
Во вьюхе простой Select = Form "Faxes_M"
[snapback]23320" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ты хочешь отображать просто Response-документы без родительского ? Тогда в свойствах вьюхи сними галку Show response documents in a hierarchy.
 
Вопрос такой.....
каким способом возможно в лотус скрипт описать условие??
Существует какое нибудь событие которое выполняется в форме на поле.....
ну к примеру OnExiting.
Как можно это описать так, чтобы это событие выполнялось только после
того как будет нажата кнопка по открытию этого документа где выполняется это событие?

Или такое: При открытии респонса из родительского по кнопке событие в определённом поле не выполняется. А при создании респонса по форме выполняется.
 
Для: Gor
Смутно понял. Нужно, чтобы событие выполнялось, когда документ создается и не выполнялось, когда окрывается ?
Смотри свойство NotesUIDocument.IsNewDoc.
В событии QueryOpen сразу есть свойство IsNewDoc. Посмотри.
 
Ты хочешь отображать просто Response-документы без родительского ? Тогда в свойствах вьюхи сними галку Show response documents in a hierarchy.
Галку снял респонс документы показывает... Но не показывает значения в колонках которые ссылаются на computed for display поля из респонса, в свою очередь в респонсе эти поля вычисляются по формуле @GetDocField($Ref; "имя computed поля")?
 
<!--QuoteBegin-Gor+12:08:2005, 13:52 -->
<span class="vbquote">(Gor @ 12:08:2005, 13:52 )</span><!--QuoteEBegin-->Но не показывает значения в колонках которые ссылаются на computed for display поля из респонса, в свою очередь в респонсе эти поля вычисляются по формуле @GetDocField($Ref; "имя computed поля")
[snapback]23383" rel="nofollow" target="_blank[/snapback]​
[/quote]
Конечно. Такого же поля у тебя нет в документе. На то оно и "вычисляемое для просмотра".
 
Т.е. вытащить данные из родительского документа в респонс в какие нибудь поля а потом отобразить их во вьюхе вместе с редактируемыми полями этого же респонса невозможно?
А если в респонсе вытаскивать значение полей из родительского в поля Editable новые созданные например Setfield("поле1(родительского документа)"; "поле2(респонс документа)") и эту формулу поставить в Editable поля...??? Он тоже не покажет??
 
аа))) всё уже туплю опять))) всё ок получилось) поменял поля на Computed и всё получилось)
 
Рибят, подскажите функцию создания документа по старой форме(пользователь создает документ в lotus, ставит на этот док. курсор и сверху на нашу кнопочку кликает(в которой прописан как раз lotus script). Скрипт должен создать такой же документ, наследуя поля старого...
 
Dim-ok
Если док создаётся методом Compose, то для наследования полей на 2-й закладке в свойств формы надо взвести галку "Formulas inherit values from selected document".
 
Dim-ok
Если док создаётся методом Compose, то для наследования полей на 2-й закладке в свойств формы надо взвести галку "Formulas inherit values from selected document".
Тут есть нюанс: в редактируемых полях надо прописать значение по умолчанию - имя этого-же поля (т.к. "Formulas inherit..." - "Формулы наследуют...", а не поля).
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab