...

Создание отсутствия из сценария

Тема в разделе "Разработчикам", создана пользователем sanches, 29 май 2017.

  1. sanches

    sanches New Member

    Всем доброго времени. Подскажите пожалуйста такую вещь. Есть отличный модуль график отпусков и отсутствий, в нем есть процесс согласования отпуска и отгула. Хочу его доделать, чтоб автоматически в систему добавлялось отсутствие пользователя. Есть ли возможность добавить отсутствие из сценария?

    И еще один вопрос: надо сделать отчет графика отпусков. У меня PostgreSQL. Как сделать запрос в базу что-бы она отдала мне имена пользователей? Смотрю по примерам, например тут: https://www.elma-bpm.ru/KB/article-392.html используется запрос к [User] но у меня он ругается. Если делать запрос просто select * from User то отдается только одно поле: CurrentUser

    Заранее спасибо.
     
    Последнее редактирование: 29 май 2017
  2. arkarimov

    arkarimov Member

    1. Делал когда то себе, вот код.
    Код:
    Absence ab = PublicAPI.Portal.Objects.Security.Absence.Create();
    ab.Description=//Описание отсутствия
    ab.EndDate=//Дата окончания
    ab.StartDate=//Дата начала
    ab.Status=AbsenceStatus.Active;
    ab.User=//Кто отсутствует
    ab.Save();
    2. User зарезервированное слово поэтому его приходится экранировать каждая система может это делать по своему, mssql через квадратные скобки, postgresql через кавычки. Попробуйте select * from "User"
     
  3. sanches

    sanches New Member

    Спасибо. Все работает. Только вот не пойму как вывести основание для отпуска (AbsenceBasis.Name):

    Код:
    SELECT Absence.StartDate, Absence.EndDate, Absence.Description, "User".FullName, AbsenceBasis.Name FROM Absence
    LEFT JOIN "User" on Absence."User"="User".Id
    LEFT JOIN AbsenceBasis on Absence.BasisOfAbsence=AbsenceBasis.Id
    ORDER BY "User".FullName ASC
     
    Последнее редактирование: 30 май 2017
  4. arkarimov

    arkarimov Member

    Запрос правильный, а что не получается? Запрос не отрабатывает или в поле AbsenceBasis.Name пустое? Если второе, то может вы не пишете основание отпуска, т.к. в моем примере оно не прописывается.
     
  5. sanches

    sanches New Member

    Основание для отпуска везде стоит. Говорит
    Код:
    столбец absencebasis.name не существует
     
    Последнее редактирование: 30 май 2017
  6. arkarimov

    arkarimov Member

    У меня mssql там этот запрос отрабатывает на ура. Может в postqres Name тоже зарезервированное слово и надо в кавычки его оборачивать?
     
  7. sanches

    sanches New Member

    И вправду, обернул кавычками, заработало =) Спасибо =) К сожалению лайк поставить не могу, форум работает через место одно.
     

Поделиться: