Календарь

JohnLemon

Well-known member
20.08.2014
274
2
#1
Здравствуйте, необходимо на xPages реализовать календарь (все месяца и числа на экране), что бы пользователь мог выделять дни для планирования своего отпуска, и как то реализовать что бы у каждого пользователя отдельно сохранялся он, есть идеи, подскажите хоть куда капать ???
 

ty3uk

Well-known member
31.03.2008
170
0
#2
интересно, тут за оскорбление банят?
копайте в сторону почтовой базы, там есть очаровательный календарь!
Ещё велосипеды?
 

JohnLemon

Well-known member
20.08.2014
274
2
#3
интересно, тут за оскорбление банят?
копайте в сторону почтовой базы, там есть очаровательный календарь!
Ещё велосипеды?
Почтовая база то базой, мне бы понять хотя бы как отобразить его на xpages, что бы все месяцы были, граблей валом пока разбираюсь но основная проблема это календарь ((( неужели у такого мощного средства нет элементарного
 

ty3uk

Well-known member
31.03.2008
170
0
#4
А зачем вам? Хотите научиться программировать? Может начнёте с основ? По вашим двум топикам понятно что домино вы вообще не знаете. В этом топике, вы ещё и не знаете что такое календарное представление и основы безопасности.
Знаете, уран тоже мощная штука, но если вы не ядерный физик, то кроме рака, у вас, он ничего не вызовет.
Сразу скажу, что вы взялись за слишком сложную часть для начального изучения, это XPages, добавлю, вы взялись за крайне сложную часть это календарное представление.
 

JohnLemon

Well-known member
20.08.2014
274
2
#5
Мне по работе, есть задача, нужно сделать, я же не спрашиваю сложная это часть или легкая, так же как и меня не особо спрашивают надо разобраться, я просто прошу дать совет как это можно сделать, так сказать направление может ссылку какую или книжку но что бы пример был как подобное реализовать, я прочитал примерно около 3 (мельком конечно) книг и нигде на подобное не натыкался
вы ещё и не знаете что такое календарное представление
Если ты так много в курсе про календарное представление, подскажи хотя бы как его в xpages отобразить???
 

alexas1

Lotus team
10.04.2014
723
144
#6
Мне по работе, есть задача, нужно сделать, я же не спрашиваю сложная это часть или легкая, так же как и меня не особо спрашивают надо разобраться, я просто прошу дать совет как это можно сделать, так сказать направление может ссылку какую или книжку но что бы пример был как подобное реализовать, я прочитал примерно около 3 (мельком конечно) книг и нигде на подобное не натыкался

Если ты так много в курсе про календарное представление, подскажи хотя бы как его в xpages отобразить???
Примеры
Тыц 1
Тыц 2
А тут всё разжёвано SnTT: XPages Calendar Control
 

JohnLemon

Well-known member
20.08.2014
274
2
#7

ty3uk

Well-known member
31.03.2008
170
0
#8
Если ты так много в курсе про календарное представление, подскажи хотя бы как его в xpages отобразить???
А никак. Это есть ответ на ваш вопрос? Точнее никак стандартными возможностями XPages (а я предупреждал что календарка в XPages достаточно сложная вещь? Ну и ладно...)
Среди стандртный контролов, нет контролов, которые показывают календарные вьюхи. К примеру, если посмотреть убогий функционал Container control->View, то видно, что он не то что календарные представления, он обычные показывает с трудом (надо привыкать как он это делает, несколько по другому делать колонки, вообще контрол можно расширять, но делать из него календарное представление, ИМХО, слишком трудозатратное дело). Есть другое, это Extention library-> Dynamic view control. Контрол помощней, но, опятьже не понимает что такое календраные вьюхи (кстати не помню, он в стандарте в 9.0 идёт, или, надо ставить ExtLib от OpenNTF). Далее, хоть какую-то возможность показать календарь, предлагает iNotes->Inotes Calendar (я так понимаю он либо в 8.5.3 + Апгрейд пак1 появился, либо в 9.0). Но как мы видим, контрол пустой. Т.е. его применение явно не простое, и требует достаточно нехилые познания работы с фасетами и знание всех параметров данного контрола, что для начинающего, крайне сложно.
Это всё происходит на фоне полного непонимания структуры Доминохи. "там не удобно будет планировать отпуска и потом просматривать их руководителю". Так в чём проблема-то? Xpages-ы от Лотусов отличаются тем, что можно сделать почти всё. К примеру, делайте страничку, в ней поле "год", потом делайте репит-контрол (значения 1,4,7,10), в нём второй контрол, перебор от первого контрола +0+1+2, и получаете "табличку" по месяцам (3х4), далее в каждой ячейке, берёте формулу по календарю и расчитываете даты. Можете это сделать отдельным контролом, у которого, на входе, будут год, месяц (думаю свой контрол в котором будет iNotesCalendar будет достаточно сипотным). И внутри этого месячного контрола, рисовать что и как вам нужно.
"просматривать их руководителю". А вот веселей, а кто это? Вы, сейчас, погруженны всеми мыслями в то как будет выглядеть вьюха, но у вас, ещё, нет схемы данных? Как вы вообще определите что человек является Руководителем? Почмеу вы решили что для руководителя и оычного пользователя интерфейсы обязаны быть одинаковыми? Сделайте, для начала, интерфейс для пользователя, потом будете думать как руководителю делать (если совсем так всё плохо)
"Мне по работе, есть задача, нужно сделать..." а вы кто по должности програамер или дворник? Если вы программер доминохи, то очень странно, что контора взяла нулевого программера по доминохе, и начинает его грузить такими, достаточно сложными, задачами.
Очень не понятно, а почему выбран именно XPages-интерфейс? В лотусовом это решается достаточно просто. Простая календарная вьюха. Если нужен выбор по конретным пользователям, то есть "@SetViewInfo" с помощью которой вы можете достаточно хорошо делать выборку в представлении. Ещё раз поднимаю вопрос о "начальнике отдела". Каким образом вы вычислите его? К примеру, в моей системе, есть нехилая база ОргСтруктура (в других СЭД, зачастую, она тоже есть, т.к. без неё крайне сложно делать нормальный СЭД), из неё, я могу вычислить кто такой начальник, и понять кто для него является подчинёными. И это тупое решение безопасности (чуть ранее вы поднимали этот вопрос), более правильное решение бесопасности, это безопастность на уровне документов (с помощью достаточного мощного функционала ридерсов в Лотусах).
 

susinmn

Well-known member
16.10.2007
529
3
#9
Это все конечно хорошо но не совсем то, там не удобно будет планировать отпуска и потом просматривать их руководителю :D. Они немножко не для этого
У нас графики заполняются в клиенте Notes. Для просмотра для конкретного сотрудника сделал через 12 widget-ов, данные привожу через синхронный ajax вызов. Проверку на некорректность не проверял, т.к. функционалом не пользуются.
 

Вложения

ty3uk

Well-known member
31.03.2008
170
0
#10
Для просмотра для конкретного сотрудника сделал через 12 widget-ов
Во-во, это второй вопрос, как показывать кучу сотрудников, в 365 клеточках (дни). Для одного, можно сделать вот таким способом, а для 20-ти? раскрашивать в разные цвета?
Кстати, вот я подумал малость (и мне понравилось). Даже в каледарном представлении как показал susinmn достаточно сложно показать что твориться, а в обычной каледарке, даже в лотусах, придётся сильнопомучаться чтоб показать каледарное событие не на день, а на неделю,к примеру (в своём календаре попробуйте нарисовать 10-ть задач по 10-20-ть дней на один месяц, и посмотрите как они будут выглядеть).
"JohnLemon" а вы можете нарисовать как хотелось-бы чтоб выглядело? Просто интересно, как у вас в мозгу представляется такой календарь на 365-ть дней по 20-ти человекам.Просто у меня, сейчас, задачка где-то рядом. Мне нужно показывать каледарку по 14-ти комнатам в разрезе постелей (итого около 100-ста постелей. Задачка для Хостела), где меня просят показывать "загрузку" кроватей по броням/проживаниям на год вперёд, с показом занятости в разрезе 24-рёх часов каждый день. Тамже выводить ФИО проживающего и считать сколько он за проживание должен. Задачи, в принципе аналогичные. У меня, в бошке, есть рисунок как я буду показывать данные, но, пока, на неделю (достаточно просто, первой колонкой идёт категория по комнатам, вторая колонка плоская по номерам кроватей, далее, блоки "сутки", 7-мь штук, в сутках, разбивка по часам). Как делать на месяц, пока не думал (но есть идея, то что будет "уменьшаться зум", и самая маленкая разбивка, уже, будет не по часам, а по суткам, как делать год, для меня, пока, является большой загадкой, ибо такой кавардак будет... ууу...)
 

JohnLemon

Well-known member
20.08.2014
274
2
#11
Как вы вообще определите что человек является Руководителем
Планировал через роли, длее кнопка список сотрудников, которая видна только людям принадлежащих этой роли, далее Руководитель заходит по кнопке и видит подчененных ему сотрудников, выбирает одного и попадает на страницу с календарем именно этого сотрудника
 

ty3uk

Well-known member
31.03.2008
170
0
#12
46-ть отделов в 5-ти фирмах (сейчас с смотрю реальную структуру одного из маленьких предприятий), или 132 отдела в одном банке. ;)
Даже при этом, ролями, если я правильно понял, вы разделите только отделы, но не начальников этих отделов. Для начальников у вас будет дополнительная роль? Т.е. ролей на базе будет в два раза больше?
И, вдогоночку, вот у вас 30-ть человек, вы каждого человека, поимённо, будете в АЦЛ базы добавлять чтоб ему роль выдать? :D
 

JohnLemon

Well-known member
20.08.2014
274
2
#13
46-ть отделов в 5-ти фирмах (сейчас с смотрю реальную структуру одного из маленьких предприятий), или 132 отдела в одном банке. ;)
Даже при этом, ролями, если я правильно понял, вы разделите только отделы, но не начальников этих отделов. Для начальников у вас будет дополнительная роль? Т.е. ролей на базе будет в два раза больше?
И, вдогоночку, вот у вас 30-ть человек, вы каждого человека, поимённо, будете в АЦЛ базы добавлять чтоб ему роль выдать? :D
Есть предложения )) ? Можно же добавить поле, руководитель например чекбокс и проверять по нему ?
 

alexas1

Lotus team
10.04.2014
723
144
#14
Это все конечно хорошо но не совсем то, там не удобно будет планировать отпуска и потом просматривать их руководителю :D. Они немножко не для этого
Ну, Вы спрашивали про календарь, я и дал календарь.
А вообще-то, для таких дел, принято использовать диаграмму Гантта, а не календарь.
Раскрытие детализации строк, масштабирование по времени - все дела...
 

ty3uk

Well-known member
31.03.2008
170
0
#15
я не совсем понимаю куда вы собрались добавлять руководителя. Вот сейчас, у меня проектик по базе, там 11-ть форм документов. Один из них это Устав проекта. Что интересно, создать устав проекта имеет право только руководитель проекта! -а где его взять? - Он будет указан в документе который создаётся! Вы тупой чтоли? ;)

мне предлагать сложно, т.к. у меня, центральная база для СЭД, является ОргСтруктура (она у меня формирует кучу групп для доступа, да и выбор пользвоателя, у меня идёт не из адресной книги, а, именно, из ОС. Соответственно, когда я его выбираю, я знаю в какой он фирме/отделе и т.д.). В вашем случае, как минимум, добавлять в АЦЛ не пользователей, а группы (тем самым уменьшете размер ацл, да и легче будет контролировать, зашли в АдреснуюКнигу предприятия и поменяли состав группы, сразу: 1) если добавили/убрали пользователя из группы, то, пользователю, придётся, перезайти в лотуса... Есть такой неприятный прикол 2) с группами тож не стоит злоупотр*цензура*ть. Дело в том, что есть такое понятие как @usernamelist (все имена пользователя + все группы в которых он состоит), так вот, если в данном списке будет более 32к. знакомест, то у пользовоателя будут лаги при работе с чем угодно! (есть такой глюк/фича у доминохи) ).
т.е. на первых порах можете оставить отделы как роли в АЦЛ (но, наверное, придётся добавить ещё и роли для начальников соотвествующих отделов), далее, усложнять на первом шаге не стоит, всётаки делаем одну базу (когда перейдёте более чем к одной, уже, стоит задумать о центральном справочнике ОС).

Как-то мысли закончились... не знаю что дальше рассказывать. Всё осложнено ещё тем, что вы делаете на XPages, а там вариантов работы очень много. Но, всёравно, имеет смысл, всётаки, взяться за основы и понять что такое поле, мультивалюйные поля, поля типа ридерсов. И знать как работают простейшие @-формулы (т.к без них будет сложно работать). Нотак получается, что от вашей задачи, я вас увожу в сторону обучения, и при таком раскладе, вы не скоро сделаете календарь :D :lol:

Возможно, всётаки, вам легче будет воспользоваться встроенными возможностями почты. К примеру уровнем доступа до календаря у каждого пользователя (разрешить доступ к просмотру группе в которой находиться начальник отдела (лучше сразу группой, чтоб потом, не бегать по почтам и не менять в 15-ти ящиках "начальника", когда они будут меняться)) + календарь группы у начальников (в полном клиенте есть такая удобная фича)? ;-) Хотя нет, опятьже, это удобно когда идёт работа с задачами и планами на день, но крайне не удобно при работе с "задачами" длительностью несколько дней...
 

JohnLemon

Well-known member
20.08.2014
274
2
#16
я не совсем понимаю куда вы собрались добавлять руководителя
Во вложении скрин
Пойду застрелюсь наверно ). А можно где нибудь достать исходники какие нибудь ??? ))
 

Вложения

JohnLemon

Well-known member
20.08.2014
274
2
#17
У нас графики заполняются в клиенте Notes. Для просмотра для конкретного сотрудника сделал через 12 widget-ов, данные привожу через синхронный ajax вызов. Проверку на некорректность не проверял, т.к. функционалом не пользуются.
Есть ссылка как это реализовать для лотуса, и что за 12 widget-ов )) ?
 

Baneslaer

Well-known member
25.01.2011
123
0
#20
>>Просто у меня, сейчас, задачка где-то рядом. Мне нужно показывать каледарку по 14-ти комнатам в разрезе постелей (итого около 100-ста постелей. Задачка для Хостела), где меня просят показывать "загрузку" кроватей по броням/проживаниям на год вперёд, с показом занятости в разрезе 24-рёх часов каждый день. Тамже выводить ФИО проживающего и считать сколько он за проживание должен.

Тузик, это довольно просто реализовать.
Берешь стандартный шаблон базы Resource Reservation и немного его допиливаешь.
Твоя кровать с комнатой это Помещение или Ресурс в этой базе. К примеру, назовем помещение так "Комната №1, Кровать №1".
Если человек оплатил койку, то делаем резервирование кровати "с"... "по"... за таким-то человеком.
Вьюхи в базе позволят отображать 90% твоих потребностей. Еще несколько вьюх нужно будет дорисовать.
Время там тоже считается, как $BusyTime, но для зарегистрированных пользователей (придется докрутить кнопку для "упрощенной" регистрации пользователей).
Ну и еще цену номера за час проживания добавить и дату, с которой эта цена действует. Ну и логику расчета цены, которую должен клиент.


p.s.
>>1) если добавили/убрали пользователя из группы, то, пользователю, придётся, перезайти в лотуса... Есть такой неприятный прикол
Можно скриптом почистить локальный cache.ndk пользователя и дропнуть его сессию на серверах и перезаходить не понадобиться, но это может быть чревато другими приколами(потеря данных и т.д.)