Проверка поля при сохранении

  • Автор темы Автор темы Ruska132
  • Дата начала Дата начала
R

Ruska132

Добрый день. Подскажите ПЖ новичку.
При создании ответного документа на форму, поле ответного заполняется автоматически. необходимо чтоб при сохранении производилась проверка: заполненое поле с UserName.
пример:
Документ1 - поле адресат (Иванов И.И.) Пользователь Сидоров создает резолюцию поле автор прописывается автоматически т.е. Иванов И.И. необходимо чтоб при сохранении документа резолюция была проверка (сравнить Иванов с Сидоров ), если лож то выводить сообщение.

если я правильно понимаю это дело необходимо организовать в событии Querysave.
подскажите ПЖ.
 
проверка для чего нужна?
Сама првоерка не задача, это один из шагов.
Задача сама для чего? Чтобы автор не был получателем?
 
проверка для чего нужна?
Сама првоерка не задача, это один из шагов.
Задача сама для чего? Чтобы автор не был получателем?

суть в том что участились случаи что от имени другого создают ответные документы.
 
Правильно понимаете, событие делать на Querysave.
Определить текущего пользователя курите класс NotesSession (конктерно UserName),
сравнивайте с указанным значением в поле, курите класс NotesDocument (конкретно GetItemValue).
если нужно остановить сохранение используйте Continue = false
 
  • Нравится
Реакции: Ruska132
Правильно понимаете, событие делать на Querysave.
Определить текущего пользователя курите класс NotesSession (конктерно UserName),
сравнивайте с указанным значением в поле, курите класс NotesDocument (конкретно GetItemValue).
если нужно остановить сохранение используйте Continue = false


да, если можно то ПЖ на примере.
 
суть в том что участились случаи что от имени другого создают ответные документы.
Решение в корне не верное, не проверять надо что именно тот пользователь создал ответный документ, а сделать так, чтобы не у того пользователя не было возможности это сделать. Поля Authors/Readers, сокрытие кнопок "Создать" (или как там они у вас называются) и т.п.
 
Код:
 If Source.Document.ParentDatabase.Parent.UserName <> Source.Document.GetItemValue("имя поля в котором юзверь")(0) Then
Messagebox "Кто то хитрит!", 16, "не надо так"
Continue = False
End If
[DOUBLEPOST=1447145284,1447145198][/DOUBLEPOST]А вообще выше пишут правильные вещи, если пользователь не должен создавать документы по чужим - то блокировать нужно до создания, а не при сохранении.
 
Код:
 If Source.Document.ParentDatabase.Parent.UserName <> Source.Document.GetItemValue("имя поля в котором юзверь")(0) Then
Messagebox "Кто то хитрит!", 16, "не надо так"
Continue = False
End If
[DOUBLEPOST=1447145284,1447145198][/DOUBLEPOST]А вообще выше пишут правильные вещи, если пользователь не должен создавать документы по чужим - то блокировать нужно до создания, а не при сохранении.

Можно закрыть возможность создания, но есть нюансы, если замещающие сотрудники и им должна быть доступна кнопка.
 
суть в том что участились случаи что от имени другого создают ответные документы.
Коллеги, в ошибка в авторе ответа, Иванов создает, а прописывается Сидоров, @Ruska132 так и есть?
Это наследование полей скорее всего, форма ответа - response, там наследование полей от родителя.
Поле, которое содержит имя автора наследуется, а должно изменяться.
Надо найти поле, сделать его вычисляемым и проставить туда формулу @userName, если оно лотусовое имя содержит.
А если ФИО из справочника сотрудников, то надо смотреть йункцию формирования ответа и менять этот момент уже там.
 
Коллеги, в ошибка в авторе ответа, Иванов создает, а прописывается Сидоров, @Ruska132 так и есть?
Это наследование полей скорее всего, форма ответа - response, там наследование полей от родителя.
Поле, которое содержит имя автора наследуется, а должно изменяться.
Надо найти поле, сделать его вычисляемым и проставить туда формулу @userName, если оно лотусовое имя содержит.
А если ФИО из справочника сотрудников, то надо смотреть йункцию формирования ответа и менять этот момент уже там.

Функция формирования ответа скрыта.
есть поле где содержатся данные автора вида (CN=////////;CN=////) вот и хотелось бы проверить в этом списке текущего пользователя.
 
если лож то выводить сообщение.
- и дальше что?
Не сохранять? - Тогда разумно делать проверку на компетентность ДО создания респонза и никаких проблем не будет.

есть поле где содержатся данные автора вида (CN=////////;CN=////) вот и хотелось бы проверить
- если это хочется использовать "влоб" - делать проверку на postopen и сразу закрывать при геморе (с месагой) без сохранения.

Если надо что-то сохранять - проверять на querysave c соотв. действиями (нулить поля, устанавливать флаг и т.п. ...)
 
вот мне всегда "нравятся" вопросы..
я хочу что-то сделать вот так-то, при объяснения и уточнениях выползают всякие нюансы, причем "внезапно"
что казалось бы проще - описать процесс полностью (без "своего" - я хочу вот так решить) и детали реализации (кот. существенны)
из-за отсутствия выше перечисленного - 11 ответов, 2-а дня - решения так и нет
 
Мы в соцсетях:

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