Отображение задачи в календаре

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

oleg7

Создаю документ в бд1, нажимаю на кнопку Отправить и запрос отправляется пользователю в почту в виде Задачи. Все поля формы Task заполнены, заполнены даты, но при этом в календаре задача не отображается, только после того как в почте повторно (вручную ) даты были изменены задача будет у пользователя в календаре. Почему так?
 
A

Akupaka

посмотри условия отбора, вероятно чего-то не хватает для отображения в календаре
 
O

oleg7

а никто не делал чтобы при заполнении документа в базе создавалась задача (отображаемая в календаре) в почтовой базе? Очень надо. Уже все нормально работает, а вот с этой частью просто ступор какой-то.
Помогите, если кто-то знает
 
A

Akupaka

Помогите, если кто-то знает
занудка ;) ты условие отбора смотрел в представление календаря?
Код:
SELECT @IsAvailable(CalendarDateTime)
поле CalendarDateTime (дата) в твоем документе есть?
а еще поля: AppointmentType, StartDateTime, EndDateTime

изучи вид ($Calendar) в почтовой базе.
 
N

nvyush

а никто не делал чтобы при заполнении документа в базе создавалась задача (отображаемая в календаре) в почтовой базе? Очень надо. Уже все нормально работает, а вот с этой частью просто ступор какой-то.
Помогите, если кто-то знает
Попробуй создать нужную задачу "вручную" и внимательно изучи все её поля. При генерации задачи создавай все нужные поля кодом.
Когда-то добавлял в календарь отпуск. Чтобы понять, какие поля и чем заполнять, действовал так: создал отпуск, написал агента, который перебирал все его итемы и сохранял в документе их названия и типы, док отправлял себе по почте.
 
O

oleg7

занудка :) ты условие отбора смотрел в представление календаря?
Код:
SELECT @IsAvailable(CalendarDateTime)
поле CalendarDateTime (дата) в твоем документе есть?
а еще поля: AppointmentType, StartDateTime, EndDateTime

изучи вид ($Calendar) в почтовой базе.
СПАСИБО!!!!!!!!! Получилось! ;) может и зануда, не спорю... но получилось
 
O

oleg7

теперь не могу понять, как задачи становятся Завершенными, если в документе нажать кнопку Завершить....
И вот еще вопрос, если документ был делеширован другому пользователю, то задачу надо как-то удалять из почты первого исполнителя. Не подскажите как это делать?
 
A

Akupaka

Не подскажите как это делать?
надо изучить приложение "Почтовая БД" ;)
там вообще много-много всего интересного.

для удаления дока из базы см справку дизайнера, метод flag = notesDocument.Remove( force )
 
O

oleg7

вот так я делаю изменения в почтовой бд в Task, например:
Код:
	Dim memo As New NotesDocument( db )
memo.Form = "Task"
memo.Subject = db.Title
а как сделать, чтобы при получении сообщения и открытии задачи ее нельзя было редактировать?
 
A

Akupaka

а как сделать, чтобы при получении сообщения и открытии задачи ее нельзя было редактировать?
есть несколько вариантов, если дизайн поддерживает, то сделать по условию дизайна, если нет, то либо изменить дизайн шаблона, либо контролируя доступ пользователя к базе и к полям.

зы: посмотри форму (Notice) | Notice, может быть ее лучше использовать для твоей задачи
 
O

oleg7

нет, говорят, что именно Task хотят :D

и с Завершением не получилось. При нажатии кнопки в документе, заполняются поля DueDateTime, DueState, вроде это и есть условие отображения в TodoCompleted (Задачи\Завершенные) ;)
 
A

Akupaka

ну посмотри (TaskNotice) | TaskNotice
млин, поройся по формам, покрути, поверти...
 
N

nadezdaMP

[topic="0"]посмотри здесь[/topic]

 
O

oleg7

добрый день. Появился такой вопрос. Я все заполняю в документе, отправляю пользователю, он получает сообщение как задачу, но после делает изменения , например в дате завершения. Правильно будет, если эта дата будет и в задаче меняться, но не могу понять как этого добиться. Если может кто-то, то подскажите
 
A

Akupaka

Я все заполняю в документе, отправляю пользователю, он получает сообщение как задачу, но после делает изменения , например в дате завершения. Правильно будет, если эта дата будет и в задаче меняться, но не могу понять как этого добиться
ничего не понятно...
т.е. есть какое-то приложение (А), в котором создается документ (Б), на основании которого строится задача (В) в почтовом приложении (Г) пользователя?
как варинат, при создании задачи (В) в почтовике (Г) записывать в ней, к примеру, унид документа (Б), а в документе (Б) писать унид задачи (В) и адрес почтовика, - сервер-файл, (Г).
потом, если пользователь меняет дату в задаче (В) и почтовый шаблон изменить можно, то дописать там код, который будет менять документ (Б), если же менять шаблон почтовика (Г) нельзя, то сделать в приложении (А) агент, который будет с достаточной частотой опрашивать задачи на исполнении и синхронизировать по необходимости данные.
 
O

oleg7

Akupaka
спасибо за ответ. Правда вообще ничего не понял. Буду разбираться завтра на свежуу голову
 
O

oleg7

Извеняюсь, что поднимаю опять задачу... Опять вернулся просто к данной задаче :(
Нашел на сайте пример. Пытаюсь использовать этот пример для себя.
Код:
Dim directory As NotesDbDirectory
Dim db As NotesDatabase 
server$ = "ServerName"
Dim ProcessDb As New NotesDatabase("", "")
Dim doc As NotesDocument

Set directory = New NotesDbDirectory( server$ )
dbType% = DATABASE	  
Set db = directory.GetFirstDatabase( dbType% )

counter% = 0
While Not ( db Is Nothing )
counter% = counter% + 1
Call Db.Open("", "")
If Db.IsOpen Then
If Cstr(Lcase(Left(db.Filepath, 4))) = "mail" Then 
Set ProcessDb = New NotesDatabase("", "")
If ProcessDb.IsOpen Then
Dim collection As NotesDocumentCollection
Set doc = collection.GetFirstDocument
Set collection = db.Search(ХХХХХХХ) ' здесь надо чтобы проверяло поле из документа с полем, которое находитсяв задаче в почтовой базе
If collection.Count > 0 Then
Print "Ok" ' 
End If 
End If
End If 
End If
Set Db = directory.GetNextDatabase
Wend
Но после строки If ProcesDb.IsOpen Then вообще переходит сразу на следующий документ
Помогите :newconfus: пожалуйста еще и разобраться в том, как проверять поля из документа и поля из почтовой базы
 
H

hosm

имхо, так должно быть?

Set collection = db.Search(ХХХХХХХ) ' здесь надо чтобы проверяло поле из документа с полем, которое находитсяв задаче в почтовой базе
Set doc = collection.GetFirstDocument
 
O

oleg7

я вначале хотел просто посмотреть продвинется туда или нет:
Set collection = db.Search({Subject = "Test"} , Nothing,0)
для этого хотел искать просто по названию
 
H

hosm

в общем, что-то тут пропущено...
ProcessDb база не открывается-то...
Set ProcessDb = New NotesDatabase("", "")
NotesDatabase The path and file name of the database within the Notes or Domino data directory. Use empty strings for both dbfile$ and server$ if you want to open the database later.

ProcessDb - это что за база?
И дальше
суть в том, что коллекция описана, но не инициализирована:
Dim collection As NotesDocumentCollection
А дальше сразу у нее док берут - даст ошибку:
Set doc = collection.GetFirstDocument
 
Мы в соцсетях:

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