Сравнение значений и выборка

  • Автор темы kilcher
  • Дата начала
O

Oksana

Первоначально я так и хотела сделать. Это намного проще. Но к сожалению наши юристы не ссогласились вот теперь и приходится голову ломать :(
А ты эти ФИО в шаблоне сделай в скрытом поле, и потом переноси их спокойненько :)
Чем же юристы обосновали свое несогласие?
 
K

kilcher

Тем что им так неудобно,должности и сотрудники часто меняются. А я их так и не переубедила,что если меняются то и база кадры обновляется! Вобщем как об стенку горох! :)

Если все-таки схитрить и скрыть поля ФИО в шаблоне.То как быть со следующей проблемой? Вдруг сотрудник на должности изменится.В шаблоне то поле запомнило ФИО первоначально выбранного человека.Т.е. получчится что в список согласования занесется стырые ФИО
 
O

Oksana

Тем что им так неудобно,должности и сотрудники часто меняются. А я их так и не переубедила,что если меняются то и база кадры обновляется! Вобщем как об стенку горох! :)

Если все-таки схитрить и скрыть поля ФИО в шаблоне.То как быть со следующей проблемой? Вдруг сотрудник на должности изменится.В шаблоне то поле запомнило ФИО первоначально выбранного человека.Т.е. получчится что в список согласования занесется стырые ФИО
Пока все упирается больше в постановку задачи, а не в техническую реализацию. Могу только сравнить с собственным опытом, правда, мы используем готовую систему, хотя и вносим в нее свои доработки.
Во-первых, согласующие лица, это в большинстве своем начальники, зам.диры, юристы, экономисты. Начальники и замдиры не так часто меняются.
С другой стророны, если уж ваши товарищи утверждают, что постоянно что-то меняется, то может и поменятся список согласующих должностей, в целом каков смысл столь "плавающего" шаблона?
Мы так же используем шаблоны, естественно при увольнении или переводе сотрудника необходимо поправить шаблон, повторюсь у нас это крайне редко бывает.
Но есть другой момент, необходим еще механизм реализации замещающих, вот это бывает часто, то человек в отпуске, то в командировке, но опять же у нас это уже реализовано.
Если вы пишите какую-то систему согласования с нуля, думаю надо по-возможности исходить из простоты реализации для вас, а вашим "заказчикам" просто говорить мол вот так можно, а так нельзя. :)
По темам видела ни раз, парни писали разные согласовалки, думаю на форуме опыт немалый в этом вопросе, пусть подсказывают :)
 
K

kilcher

за информацию большое спасибо :) Вобщето тяжеловато писать с нуля,тем более что в Lotuse я очень недавно да еще и учусь сама методом проб и ошибок. Но ничего надеюсь прорвусь и все получится,не без помощи и поддержки товарищей на форуме :)
 
K

kilcher

kilcher
ну можно поле с фио зделать вычисляемым и использовать формулу @DBLookup / @DBColumn
Что то я уже совсем ничего не понимаю :) Отдельно @DBLookup не работает.
Вот что замудрила
LastName1 := @DbLookup("" : "NoCache"; "Phantom" : "SalesKS\\kadry.nsf"; "(Иерархия)"; pos1; @DbColumn( "" : "NoCache"; "Phantom" : "SalesKS\\kadry.nsf"; "(Иерархия)"; 5 ))

Это полный бред?
 
S

Sandr

LastName1 := @DbLookup("" : "NoCache"; "Phantom" : "SalesKS\\kadry.nsf"; "(Иерархия)"; pos1; 5)

этого должно хватать :)
 
K

kilcher

LastName1 := @DbLookup("" : "NoCache"; "Phantom" : "SalesKS\\kadry.nsf"; "(Иерархия)"; pos1; 5)

этого должно хватать :)
:)

Спасибо! вобщем до меня наконец дошло в чем проблема,но кк ее решить не знаю :( .
В шаблоне должность выбирается в виде:Компания\управление\отдел\должность, а уже в листе согласовния в DbLookup мы же ищем во вью и это там не одна колонка.а структура
 
S

Sandr

если представление у вас в виде Компания\управление\отдел\должность
то ключ БДлукапа передавайте так Компания:управление:отдел:должность, тобишь масив значений...
 
K

kilcher

Решила попробовать написать скрипт. Вот он
Код:
Sub Click(Source As Button)
On Error Goto Errh
Dim session As New NotesSession
Dim db As New NotesDatabase ("Phantom","testsalebase\Kadry.nsf")
Dim view As NotesView
Dim doc As NotesDocument
Dim revNamerus() As String
Dim key As String
Set key=pos1
Set view = db.GetView( "Кадры для договоров")
Set doc = view.GetDocumentByKey( "key", True )

If Not doc.HasItem("p1") Then
revNamerus (max) = "нет визирующих лиц" 
Elseif doc.p1(0) ="" Then
revNamerus (max) = "нет визирующих лиц" 
Else
revNamerus (max) = doc.p1(0) 
End If

reviewDoc.revNameRus = LastName1
errh:
Msgbox Error & | in line | & Erl(), 64, |Lotus Notes (| & Lsi_info(2) & |)|
Exit Sub
End Sub

Но вот беда,теперь он не может окрыть базу. Может сигтаксис неверен? хотя все как в хелпе вроде
 
M

morpheus

Dim db As New NotesDatabase ("Phantom","testsalebase\\Kadry.nsf") - вроде так
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Но вот беда,теперь он не может окрыть базу. Может сигтаксис неверен? хотя все как в хелпе вроде
Смотрю я код. Сразу несколько ошибок:
1) Динамический массив - revNamerus (max) = "нет визирующих лиц". Где определены границы?
2) Set key=pos1. key - переменная типа String. Зачем "Set"? Это только для объектов. Что такое pos1?
3) reviewDoc - это что такое?
4) Set doc = view.GetDocumentByKey( "key", True ). Здесь key в кавычках. Неправильно.
5) Перед меткой "errh:" надо написать Exit Sub.

Короче, используй Option Declare.
 
K

kilcher

:) Куда ж без них то

Ладненько. Всем спасибо сама доковыряю.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!