• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

kilcher

Все добрый день!Помогите, пожалуйста разобраться. Опишу проблему как можно подробней.
Имеется несколько шаблонов документов(список визирующих лиц). В них должности выбираются из базы кадров.
Один из шаблонов выбирается при создании договора. Автоматически список должностей переносится в отведенные поля в листе согласования. Возможо ли сделать следующее(и как):после автоматического заполнения полей-должностей поля с фамилия также заполняются автоматически из базы кадров. Т.е. я так представляю, что нужна кнопка, при нажатии которой будет сверяться значение поля-должности и документов в базе кадры. При совпадении полей с должностью берется значение из поля с фамилией(в документе из базы кадры) и заполняется поле фамилия в листе согласования. Вроде все просто, но как осуществить это сравнение и выборку?
 
M

morpheus

kilcher
ну можно поле с фио зделать вычисляемым и использовать формулу @DBLookup / @DBColumn
 
A

Archi2001

kilcher
Если есть кнопка, то ИМХО, лучше ЛС... соотв, через категоризированную вью (по должности) из базы кадров через GetDocumentByKey получаем документ и берём из него фамилию....
 
M

morpheus

Archi2001
если кнопка - тут куча вариантов начиная от того же лукапа ... ( что собственно ещё проверить надо что будет быстрее лукап или гетдобайкей )
 
A

Archi2001

Archi2001
если кнопка - тут куча вариантов начиная от того же лукапа ... ( что собственно ещё проверить надо что будет быстрее лукап или гетдобайкей )
не, понятно что куча вариантов есть... Просто если на скрипте - то как вариант через вью, если собаки - лукап :(
а скорость лукапа и гетдокс во вью - это да, отдельная тема... :rolleyes:
 
M

morpheus

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

kilcher

Фишка в том что пользователь не выбирает значение поля должность.Оно заполняется автоматически при выборе шаблона договора. Кажись ч нне верно записала параметы :(
pc:=@DbLookup( "":"" ; "Phantom":"SalesKSkadry.nsf" ; "(Иерархия)" ; "pos1_1" ; "p1" );
@SetField( "LastName1" ; pc)


pos1_1-поле в листе согласования,которое уже имеет значение.

p1-поле с именем сотрудника из вью "(Иерархия)"
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Кавычки лишние.
pc:=@DbLookup( "":"" ; "Phantom":"SalesKSkadry.nsf" ; "(Иерархия)" ; pos1_1 ; "p1" );
 
K

kilcher

И так пробовала. Пишет ошибка сервера.Файл не существует :(
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
kilcher
База не найдена на сервере. Путь точно указан? SalesKSkadry.nsf?

Если в пути есть обратные слэши, то их надо заменить на двойные обратные слэши.
 
K

kilcher

все проверила. теперь выдает ошибку Ehtry not found in index. Не находится значение в поле?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
все проверила. теперь выдает ошибку Ehtry not found in index. Не находится значение в поле?
В представлении не найдена запись соответствующая ключу. Можно добавить ключ [FailSilent], чтобы ошибка не выводилась. Это если записи действительно нет. А если есть, то смотреть где ошибка.
 
K

kilcher

а проблема не может быть по тому,что поле pos1_1 Dialog list и там я выбираю из вью
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Нет. Покажи формулу.
Колонка в представлении отсортирована? Запись такая есть?
 
O

Oksana

При совпадении полей с должностью берется значение из поля с фамилией(в документе из базы кадры) и заполняется поле фамилия в листе согласования. Вроде все просто, но как осуществить это сравнение и выборку?
А Вы можете быть уверены, что должность является уникальной и по ней можно искать ФИО. Я очень в этом сомневаюсь.
 
G

Guest

Цитата(kilcher @ 31:03:2008, 16:11 ) *
При совпадении полей с должностью берется значение из поля с фамилией(в документе из базы кадры) и заполняется поле фамилия в листе согласования. Вроде все просто, но как осуществить это сравнение и выборку?

А Вы можете быть уверены, что должность является уникальной и по ней можно искать ФИО. Я очень в этом сомневаюсь.

Да уж, а в какой-нибудь крупной организации вполнемогут попасться и однофамильцы, может быть даже на одной должности
 
K

kilcher

да,но ведь можно в поле вносить не только должность о и отдел или управление. Например: Начальник отдела закупок.Или тогда вобще ничего не получится?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
kilcher
По должности можно составить список людей с такой должностью.
И дать пользователю возможность выбрать из них. Делается через тот же @DbLookup и поля типа Dialog list (с вычисляемым списком).
Или с помощью кнопки и notesUIWorkspace.PickListCollection/notesUIWorkspace.PickListString с указанием последнего параметра SingleCategory (указать должность).
 
O

Oksana

Имеется несколько шаблонов документов(список визирующих лиц). В них должности выбираются из базы кадров.
Один из шаблонов выбирается при создании договора. Автоматически список должностей переносится в отведенные поля в листе согласования.
Предалгаю уже в шаблон занести ФИО согласующих, а из шаблона в лист согласования заносить в один поля должности, в другие готовые ФИО соответсвенно.
Как у вас реализовано "Имеется несколько шаблонов документов(список визирующих лиц). В них должности выбираются из базы кадров"? Хорошо бы в момент занесения должности, в другое поле заносить бы и ФИО.
 
K

kilcher

Первоначально я так и хотела сделать. Это намного проще. Но к сожалению наши юристы не ссогласились вот теперь и приходится голову ломать :)
 
Мы в соцсетях:

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