Календарь

Тема в разделе "Lotus - Программирование", создана пользователем JohnLemon, 30 авг 2014.

  1. JohnLemon

    JohnLemon Well-Known Member

    Регистрация:
    20 авг 2014
    Сообщения:
    274
    Симпатии:
    5
    Здравствуйте, необходимо на xPages реализовать календарь (все месяца и числа на экране), что бы пользователь мог выделять дни для планирования своего отпуска, и как то реализовать что бы у каждого пользователя отдельно сохранялся он, есть идеи, подскажите хоть куда капать ???
     
  2. ty3uk

    ty3uk Well-Known Member

    Регистрация:
    31 мар 2008
    Сообщения:
    169
    Симпатии:
    0
    интересно, тут за оскорбление банят?
    копайте в сторону почтовой базы, там есть очаровательный календарь!
    Ещё велосипеды?
     
  3. JohnLemon

    JohnLemon Well-Known Member

    Регистрация:
    20 авг 2014
    Сообщения:
    274
    Симпатии:
    5
    Почтовая база то базой, мне бы понять хотя бы как отобразить его на xpages, что бы все месяцы были, граблей валом пока разбираюсь но основная проблема это календарь ((( неужели у такого мощного средства нет элементарного
     
  4. ty3uk

    ty3uk Well-Known Member

    Регистрация:
    31 мар 2008
    Сообщения:
    169
    Симпатии:
    0
    А зачем вам? Хотите научиться программировать? Может начнёте с основ? По вашим двум топикам понятно что домино вы вообще не знаете. В этом топике, вы ещё и не знаете что такое календарное представление и основы безопасности.
    Знаете, уран тоже мощная штука, но если вы не ядерный физик, то кроме рака, у вас, он ничего не вызовет.
    Сразу скажу, что вы взялись за слишком сложную часть для начального изучения, это XPages, добавлю, вы взялись за крайне сложную часть это календарное представление.
     
  5. JohnLemon

    JohnLemon Well-Known Member

    Регистрация:
    20 авг 2014
    Сообщения:
    274
    Симпатии:
    5
    Мне по работе, есть задача, нужно сделать, я же не спрашиваю сложная это часть или легкая, так же как и меня не особо спрашивают надо разобраться, я просто прошу дать совет как это можно сделать, так сказать направление может ссылку какую или книжку но что бы пример был как подобное реализовать, я прочитал примерно около 3 (мельком конечно) книг и нигде на подобное не натыкался
    Если ты так много в курсе про календарное представление, подскажи хотя бы как его в xpages отобразить???
     
  6. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    Примеры
    Тыц 1
    Тыц 2
    А тут всё разжёвано SnTT: XPages Calendar Control
     
  7. JohnLemon

    JohnLemon Well-Known Member

    Регистрация:
    20 авг 2014
    Сообщения:
    274
    Симпатии:
    5
    Это все конечно хорошо но не совсем то, там не удобно будет планировать отпуска и потом просматривать их руководителю :D. Они немножко не для этого
     
  8. ty3uk

    ty3uk Well-Known Member

    Регистрация:
    31 мар 2008
    Сообщения:
    169
    Симпатии:
    0
    А никак. Это есть ответ на ваш вопрос? Точнее никак стандартными возможностями 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" с помощью которой вы можете достаточно хорошо делать выборку в представлении. Ещё раз поднимаю вопрос о "начальнике отдела". Каким образом вы вычислите его? К примеру, в моей системе, есть нехилая база ОргСтруктура (в других СЭД, зачастую, она тоже есть, т.к. без неё крайне сложно делать нормальный СЭД), из неё, я могу вычислить кто такой начальник, и понять кто для него является подчинёными. И это тупое решение безопасности (чуть ранее вы поднимали этот вопрос), более правильное решение бесопасности, это безопастность на уровне документов (с помощью достаточного мощного функционала ридерсов в Лотусах).
     
  9. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    У нас графики заполняются в клиенте Notes. Для просмотра для конкретного сотрудника сделал через 12 widget-ов, данные привожу через синхронный ajax вызов. Проверку на некорректность не проверял, т.к. функционалом не пользуются.
     

    Вложения:

    • image.jpg
      image.jpg
      Размер файла:
      45,3 КБ
      Просмотров:
      192
    • image.jpg
      image.jpg
      Размер файла:
      180,1 КБ
      Просмотров:
      201
  10. ty3uk

    ty3uk Well-Known Member

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

    JohnLemon Well-Known Member

    Регистрация:
    20 авг 2014
    Сообщения:
    274
    Симпатии:
    5
    Планировал через роли, длее кнопка список сотрудников, которая видна только людям принадлежащих этой роли, далее Руководитель заходит по кнопке и видит подчененных ему сотрудников, выбирает одного и попадает на страницу с календарем именно этого сотрудника
     
  12. ty3uk

    ty3uk Well-Known Member

    Регистрация:
    31 мар 2008
    Сообщения:
    169
    Симпатии:
    0
    46-ть отделов в 5-ти фирмах (сейчас с смотрю реальную структуру одного из маленьких предприятий), или 132 отдела в одном банке. ;)
    Даже при этом, ролями, если я правильно понял, вы разделите только отделы, но не начальников этих отделов. Для начальников у вас будет дополнительная роль? Т.е. ролей на базе будет в два раза больше?
    И, вдогоночку, вот у вас 30-ть человек, вы каждого человека, поимённо, будете в АЦЛ базы добавлять чтоб ему роль выдать? :D
     
  13. JohnLemon

    JohnLemon Well-Known Member

    Регистрация:
    20 авг 2014
    Сообщения:
    274
    Симпатии:
    5
    Есть предложения )) ? Можно же добавить поле, руководитель например чекбокс и проверять по нему ?
     
  14. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    Ну, Вы спрашивали про календарь, я и дал календарь.
    А вообще-то, для таких дел, принято использовать диаграмму Гантта, а не календарь.
    Раскрытие детализации строк, масштабирование по времени - все дела...
     
  15. ty3uk

    ty3uk Well-Known Member

    Регистрация:
    31 мар 2008
    Сообщения:
    169
    Симпатии:
    0
    я не совсем понимаю куда вы собрались добавлять руководителя. Вот сейчас, у меня проектик по базе, там 11-ть форм документов. Один из них это Устав проекта. Что интересно, создать устав проекта имеет право только руководитель проекта! -а где его взять? - Он будет указан в документе который создаётся! Вы тупой чтоли? ;)

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

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

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

    JohnLemon Well-Known Member

    Регистрация:
    20 авг 2014
    Сообщения:
    274
    Симпатии:
    5
    Во вложении скрин
    Пойду застрелюсь наверно ). А можно где нибудь достать исходники какие нибудь ??? ))
     

    Вложения:

    • 111111111.png
      111111111.png
      Размер файла:
      14,1 КБ
      Просмотров:
      177
  17. JohnLemon

    JohnLemon Well-Known Member

    Регистрация:
    20 авг 2014
    Сообщения:
    274
    Симпатии:
    5
    Есть ссылка как это реализовать для лотуса, и что за 12 widget-ов )) ?
     
  18. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    dijit.Calendar
     
  19. JohnLemon

    JohnLemon Well-Known Member

    Регистрация:
    20 авг 2014
    Сообщения:
    274
    Симпатии:
    5
    Можешь ссылку кинуть где его скачать и как поставить и использовать запарился уже :D плзззз. На год вообще не могу найти (
     
  20. Baneslaer

    Baneslaer Well-Known Member

    Регистрация:
    25 янв 2011
    Сообщения:
    121
    Симпатии:
    0
    >>Просто у меня, сейчас, задачка где-то рядом. Мне нужно показывать каледарку по 14-ти комнатам в разрезе постелей (итого около 100-ста постелей. Задачка для Хостела), где меня просят показывать "загрузку" кроватей по броням/проживаниям на год вперёд, с показом занятости в разрезе 24-рёх часов каждый день. Тамже выводить ФИО проживающего и считать сколько он за проживание должен.

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


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

Поделиться этой страницей