Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/214: Рейтинг темы: голосов - 214, средняя оценка - 4.57
kor

Возможен ли такой Picklist?

13.07.2006, 07:55. Показов 39779. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Опишу ситуацию. Есть документ в котором есть поля табельный номер и ФИО. А необходимо реализовать следующее: нужно отсылать письма пользователям из Actiona на вьюхе. Причём нужен некий своеобразный Picklist (для списка из выбранных пользователей). Не стандартный в котором в левой части отображаются пользователи почтовой системы и при нажатии двойного щелчка мышки или кнопки добавить переносит пользователя в правое окошко при выборе ещё одного пользоваателя из левой части добавление уже идёт в существующий список ранее выбранных пользователей (адресная книга), а хотелось бы сделать так чтобы в левой части отображались табельные номера и при предположим нажатия кнопки добавить в правую часть добавлялась бы уже ФИО (причём именно добавлялась по аналогу адресной к уже выбранным записям)? Возможно ли это вообще реализовать и хотя какие могут здесь быть пути решения? Заранее спасибо за ответы
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.07.2006, 07:55
Ответы с готовыми решениями:

Возможен ли такой Union
Здравствуйте, ребята! Помогите, пожалуйста, справиться с таким запросом declare @t_all table(a varchar(10), b varchar(10), Summ int) ...

Возможен ли такой вариант ?
Есть у нас свой радио сервер , на нём можно открыть свою радиостанцию , и есть так назывываемое Demo радио (радио непосредственно нашего...

Возможен ли такой запрос?
Доброго времени суток. У меня такой вопрос, возможно ли в запросе узнать по тексту из ячейки уникальный номер хранящийся в другом поле......

24
0 / 0 / 0
Регистрация: 12.05.2006
Сообщений: 329
13.07.2006, 13:08
Цитата Сообщение от Gor
а хотелось бы сделать так чтобы в левой части отображались табельные номера и при предположим нажатия кнопки добавить в правую часть добавлялась бы уже ФИО (причём именно добавлялась по аналогу адресной к уже выбранным записям)? Возможно ли это вообще реализовать и хотя какие могут здесь быть пути решения?
1) В форму встроить вьюху с документами персон - их номера табельные и все, что нужно; у внедренной вьюхи должны стоять флаги "show selection bar" и "show view action"
2) Во вьюху добавить Action: @Command([RunAgent];...
3) Для св-ва Target в агенте установить None
В этом случае мы, с одной стороны, можем получить агентом все выделенные документы во вьюхе

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Function get_unprocessed_ui(sess As NotesSession, wsp As NotesUIWorkspace) As NotesDocumentCollection
Created by Elena Nefedova, Fors-Banking Systems
If sess Is Nothyng Then Set sess = New NotesSession
If wsp Is Nothyng Then Set wsp = New NotesUIWorkspace
Dim uiview As NotesUIView, caret As NotesDocument
Dim db As NotesDatabase, col As NotesDocumentCollection
Dim s_caret_note_id$
Set db = sess.CurrentDatabase
Set uiview = wsp.CurrentView
Получение коллекции для обработки
Set col = uiview.Documents
If col.Count = 0 Then
s_caret_note_id = uiview.CaretNoteID
If s_caret_note_id <> "" And s_caret_note_id <> "0" Then
Set caret = db.GetDocumentByID(s_caret_note_id)
End If
If caret Is Nothyng Then
Msgbox "Необходимо выделить документы явным образом!"
Goto EndLab
Else
Call col.AddDocument(caret)
End If
End If
EndLab:
Set get_unprocessed_ui = col
Exit Function
ErrLab:
Goto EndLab
Set col = Nothyng
End Function
с другой же стороны, можем получить доступ к текущему открытому документу

Code
1
2
3
    Dim ws As New NotesUIWorkspace
Dim uid As NotesUIDocument
Set uid = ws.CurrentDocument  не забудем проверить, существует uid или Nothyng
Добавление списка в конец поля осуществляется при помощи ArrayAppend, ArrayUnique, ReplaceItemValue
Для UI-документа есть FieldAppendText, но надо следить, какие используем разделители значений, а также, используются ли в поле списки выбора с подстановкой

Можно делать это и в обычном режиме, и в диалоге.
0
kor
13.07.2006, 15:44
спасибо за развёрнутый ответ! действительно это вариант. ещё небольшой вопрос есть! что то я туплю повесил на сабформу Layout и на Layoutе кнопку. На кнопке скриптовый код, когда в дебагер захожу
он реагирует когда вызываю сабформу, а вот когда нажимаю на кнопку на Layoutе дебаггер почему то не срабатывает( ? хотя если на кнопку мессагу кинуть мессагу показывает, а вот в дебагер не заходит?
0 / 0 / 0
Регистрация: 12.05.2006
Сообщений: 329
13.07.2006, 16:02
Цитата Сообщение от Gor
повесил на сабформу Layout и на Layoutе кнопку. На кнопке скриптовый код, когда в дебагер захожу
он реагирует когда вызываю сабформу, а вот когда нажимаю на кнопку на Layoutе дебаггер почему то не срабатывает( ? хотя если на кнопку мессагу кинуть мессагу показывает, а вот в дебагер не заходит?
Да нет, должно все работать.
Надо поставить Stop в коде этой кнопки и посмотреть.
Может, еще дебаггер не в том контексте включается.
0
0 / 0 / 0
Регистрация: 26.08.2005
Сообщений: 70
17.07.2006, 19:31
Еще вариант: более простой на мой взгляд (если надо с левой стороны отображать только табельные номера).

Опять же форма, на нее кладешь одно поле нескрытое, которое проинициализировано табельными номерами, а другое скрытое с соответствующими ФИО (оба поля мультивэлью). Рисуешь кнопучку как в стандартном выборе адресатов ( -> ) а на нее пишешь "поместить значение(я) с соответствующим(и) индексом(и)". То есть индексы берешь из нескрытого поля, а значения из скрытого.

Если заинтересовался, и есть непонятки, пиши, более полдробно опишу. <_<
0
kor
18.07.2006, 17:19
Для: Axel
не совсем понял
Ну предположим поля оба мультивэлью...
А как же ты из скрытого поля возьмёшь значения?? На этом же скрытом поле @DbColumn(откуда он фио и берёт) и к примеру ели ты его попробуешь с инициализировать GetText ом к примеруето поле то он в значении Value ничего не покажет? Значения наверно из поля не возьмёшь на котором лукап или колумн висит если бы оно текстовое было бы и уже заполненное то другое дело...
Или как то по другому? может я чего не понял?...
Сам сейчас стал делать несколько по другому... Сделал поле обычное текстовое которое бы с клавы вводилось(под инвентарные номера), сделал кнопочку добавить, по нажатию на кнопку создаю коллекцию нужной вьюхи с нужными доками
под табельные номера и оттуда же хочу и вытащить соответствующему табельному соответствующую фамилию, предварительно считав табельный который пользователь с клавы ввёл. ну может проще можно?
0 / 0 / 0
Регистрация: 26.05.2006
Сообщений: 1,313
18.07.2006, 17:38
Невидимые поля скрыты только в интерфейсе, т.е. не видны на экране и недоступны через фореГраунд методы. Через BG они доступны
0
kor
18.07.2006, 18:12
чёто туплю наверно опять....может конец рабочего дня сказывается....
вот я создал скрытое поле(proba3) на нём формула выбора по колонке @dbcolumn
Сейчас по кнопке пытаюсь вытащить оттуда значения таким образом

Code
1
2
3
4
5
Set uidoc = ws.CurrentDocument
 
Dim doc3 As NotesDocument
Set doc3 = uidoc.Document
q = doc3.GetItemValue("proba3")(0)
И значение пустое в поле proba3 после getitemvalue в переменной точнее
ну чего не так ? это ж bg уже? иди млин не знаю)


надо наверно домой уже идти
0 / 0 / 0
Регистрация: 26.08.2005
Сообщений: 70
19.07.2006, 15:12
Для: Gor
Ну я немного неполно описал метод. Я сварганил пример. Куда тебе послать?

Забирай отсюда http://www.meetfile.com/files/11905/1.rar.html

Для теста: Create->dialog
0
kor
19.07.2006, 19:59
Для: Axel
Да всё достаточно просто оказалось! не ожидал)
вчера уже доки перебирал, сравнивал табельный считанный с реальным табельным вытаскивал оттуда
потом фамилию)) итд итп) получилось очень коряво 3000 доков перебрать и вытащить нужное) отрабатывалось секунд 20)
Спасиб большое за пример!
kor
19.07.2006, 20:16
Для: Axel
Поторопился! Не всё видимо так просто оказадось((
Столкнулся со следующей проблемкой видимо поле очень маленькое для всех моих записей

ошибка - Field is too large (32k) or Views column & selection formulas are too large

У меня доков с фамилиями и табельными около 3000
Ну что видимо придётся оставлять прошлый мой вариант доки перебирать вытаскивать всё нужное оттуда(( итд итп
вот так (
это код на кнопке --> (Add)

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Dim session As New NotesSession
Dim db As NotesDatabase
Dim idb As NotesDatabase
Dim id As Variant
Dim doc, doc1 As NotesDocument
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim view As NotesView
Dim p As String
 
Set ws = New NotesUIWorkspace
Set idb = session.GetDatabase("SRVCLST1", "INFO.nsf", False)
 
Set db = session.CurrentDatabase
Set uidoc = ws.CurrentDocument
 
p = uidoc.FieldGetText( "proba1" )
 
Set view = idb.GetView("TabNOM")
Set doc = view.GetFirstDocument()
While Not (doc Is Nothyng)
If doc.IDN(0) = p Then
s = doc.FIO
Goto Loopyt
End If
 
Set doc = view.GetNextDocument(doc)
Wend
Loopyt:
Dim q As String
q = uidoc.FieldGetText( "proba2" )
Call uidoc.FieldSetText( "proba2",q + Chr(10) + s(0))
а под ФИО придётся наверно массив делать...
чтобы один раз он подгрузился а потом уже в нём работу вёл чтобы к бд на сервер другой не обращаться... :( УЖОС!
Хотя мож и есть проще решение....
0 / 0 / 0
Регистрация: 26.08.2005
Сообщений: 70
20.07.2006, 15:23
Для: Gor
Да, если значений много, то через поля с дблукапами не пройдет.
Это ограничение Лотуса на 64к уже порядком поднадоело....

Так что придется тебе твоим методом...

<!--QuoteBegin-Gor+20:07:2006, 18:03 -->
<span class="vbquote">(Gor @ 20:07:2006, 18:03 )</span><!--QuoteEBegin-->While Not (doc Is Nothyng)
If doc.IDN(0) = p Then
s = doc.FIO
Goto Loopyt
End If

Set doc = view.GetNextDocument(doc)
Wend
[snapback]40501" rel="nofollow" target="_blank[/snapback]?[/quote]

Тока цикл убери а вместо него поставь получение документа через view.GetDocumentByKey(таб.номер, True)..... :D
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
20.07.2006, 16:03
А чем @PickList( [CUSTOM] : [SINGLE] ; server : file ; view ; title ; prompt ; column ; categoryname ) не подходит ? Имхо, самое то. И никаких ограничений.
0
0 / 0 / 0
Регистрация: 26.08.2005
Сообщений: 70
20.07.2006, 16:12
Для: Medevic

<!--QuoteBegin-Gor+14:07:2006, 05:42 -->
<span class="vbquote">(Gor @ 14:07:2006, 05:42 )</span><!--QuoteEBegin-->а хотелось бы сделать так чтобы в левой части отображались табельные номера и при предположим нажатия кнопки добавить в правую часть добавлялась бы уже ФИО (причём именно добавлялась по аналогу адресной к уже выбранным записям)
[snapback]40112" rel="nofollow" target="_blank[/snapback]?[/quote]

Вот собственно из-за этого и сыр-бор. А так @PickList на самом деле хорошее решение (тока Gor-у скорее скриптовый аналог пиклиста нужен будет
stringArray = notesUIWorkspace.PickListStrings( type% [, multipleSelection ], server$, databaseFileName$, viewName$, title$, prompt$, column% [, categoryname$ ] ) :D
0
kor
20.07.2006, 17:23
Для: Axel
view.GetDocumentByKey(таб.номер, True) чего то я им никогда не пользовался...хотя странно это
Вот блин))
И я до этого недогнал))))))))))))
Самое смешное что я уже написал массив под табельные и фамилии чтобы он под это дело грузился при инициализации PickLista)))))))))) :P ржунимагу)
Пасиб!
Ещё маленький вопросик!!
Возможно ли вообще как нибудь проверить имея в наличии в поле имя и фамилию
есть ли у него почтовый ящик в лотусе или нет?
Проверка по адресной книге какая нибудь или чёто ещё есть?
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
20.07.2006, 17:30
@NameLookup ?
0
kor
20.07.2006, 17:37
Для: Medevic
Ну в принципе да... а аналог Скриптовый есть?
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
20.07.2006, 17:41
Evaluate ?
0
kor
20.07.2006, 18:11
ну в общем да))) пойдёт "АНАЛОГ"))
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
20.07.2006, 18:18
Аналога нет.
Можно поиск в адресной книге через NotesView.GetDocumentByKey или NotesDatabase.Search. Но это, имхо, хуже.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.07.2006, 18:18
Помогаю со студенческими работами здесь

Возможен ли такой макрос?
Доброго времени суток форумчане. Подскажите пожалуйста, существует ли такой макрос, который из определенных ячеек одной таблицы, перенесет...

Возможен ли такой видеозахват(с ноута на ПК)?
Здравствуйте. Подскажите пожалуйста, возможно ли транслировать рабочий стол Ноутбука на монитор стационарного ПК?? ПК стоит рядом. ...

Возможен ли такой оператор присваивания?
Здравствуйте. Задали такой вот вопрос по языку Паскаль. Возможно ли это присваивание: x:=y mod 6*x+x/13; Тип переменных x и y...

Обновление PickList при выборе ячейки с PickList
Здравствуйте. Есть таблица в БД MySQL, которая может в любой момент обновляться (из другого источника). Значение из этой таблицы должны...

Возможен ли такой вариант раздачи интернета?
Есть локальная сеть, из 4 компов. Можно ли раздать интернет способом описанным на рисунке во вложении? 1.jpg - есть на данным момент. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru