Независимый форум, посвященный системе БОСС-Кадровик и всему, что с ней связано
|
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
ssv1977 Внедряю Босс
Зарегистрирован: 13.05.2008 Сообщения: 47
|
Добавлено: Ср Май 14, 2008 12:15 Заголовок сообщения: Как сделать простой отчет выводящий данные в табличном виде? |
|
|
Это пример вопроса, который возможно будет интересен начинающим
администратором системы, перед которыми пользователь поставил задачу по созданию простого отчета, которым мы бы он (пользователь) в любой момент мог бы воспользоватся, и который бы представлял из себя стандартную табличную форму программы.
Для решения данной задачи на самом деле требуеться не многое:
1) Знание структуры БД, хотябы основных таблиц
2) Знание команды x-языка BROWSER
ВСЕ.
Теперь задача, пусть наш отчет во многом повторяет стандартную форму списка сотрудников, но ведь это только пример, и так:
Необходимо отображать список сотрудников, работающих на текущую дату в компании. Список должен содержать следующие колонки: Таб №, ФИО, Должность, Подразделение, род. подразделение, Дату приема, Дату последнего назначения.
Вот и код отчета, его просто достаточно поместить в новый произвольный отчет или операцию по списку.
Код: |
BROWSER
{
SELECT
P.NUM_TAB[]"ТАБ. НОМЕ",
C.FULL_NAME[]"ФИО",
A.NAME_APPOINT[]"ДОЛЖНОСТЬ",
S.STRUCT_NAME[]"ПОДРАЗДЕЛЕНИЕ",
SPARENT.STRUCT_NAME[]"РОД. ПОДРАЗДЕЛЕНИЕ",
P.IN_DATE[dd.mm.yyyy]"ДАТА ПРИЕМА",
PR.DATE_TRANS[dd.mm.yyyy]"ДАТА НАЗНАЧЕНИЯ"
FROM PEOPLE P, CARD C, PR_CURRENT PR, STRUCTS S,
STRUCTS SPARENT,APPOINTMENTS A
WHERE P.ID_FIRM = @@ID_FIRM -- ГЛОБАЛЬНАЯ СИСТЕМНАЯ ПЕРЕМЕННАЯ ВОЗВРАЩАЕТ КОДА ФИРМЫ С КОТОРОЙ ОТКРЫЛИ МОДУЛЬ
AND P.AUTO_CARD=C.AUTO_CARD
AND PR.PID=P.PID
AND PR.FLAG_LAST='*' -- ПОСЛЕДНЕЕ НАЗНАЧЕНИЕ
AND S.STRUCT_CODE=PR.CODE_STRUCT_NAME
AND S.STRUCT_PARENT=SPARENT.STRUCT_CODE
AND A.CODE_APPOINT=PR.CODE_APPOINT
AND C.AUTO_CARD=P.AUTO_CARD
AND P.IN_DATE<=GETDATE()
AND P.OUT_DATE>GETDATE()
ORDER BY 2;
},,'~Отчет по сотрудникам';
|
Вот пожалуй и все.
Можно запускать отчет.
Последний раз редактировалось: ssv1977 (Ср Май 14, 2008 12:27), всего редактировалось 1 раз |
|
Вернуться к началу |
|
 |
Николай Тараскин
Зарегистрирован: 13.05.2008 Сообщения: 9 Откуда: Моршанск
|
Добавлено: Ср Май 14, 2008 12:26 Заголовок сообщения: |
|
|
Уважаемый, а не проще воспользоваться стандартным функционалом - Произвольными списками? |
|
Вернуться к началу |
|
 |
Дима Костиков Знаю Босс
Зарегистрирован: 14.05.2008 Сообщения: 12 Откуда: UK
|
Добавлено: Ср Май 14, 2008 12:34 Заголовок сообщения: |
|
|
Николай Тараскин писал(а): | Уважаемый, а не проще воспользоваться стандартным функционалом - Произвольными списками? |
в данном конкретном случае товарищ хотел всего лишь привести пример отчета, построенном на абсолютно произвольном запросе, который мог бы быть построен и для получения данных по зарплате. |
|
Вернуться к началу |
|
 |
Николай Тараскин
Зарегистрирован: 13.05.2008 Сообщения: 9 Откуда: Моршанск
|
Добавлено: Ср Май 14, 2008 12:41 Заголовок сообщения: |
|
|
Дима Костиков писал(а): | Николай Тараскин писал(а): | Уважаемый, а не проще воспользоваться стандартным функционалом - Произвольными списками? |
в данном конкретном случае товарищ хотел всего лишь привести пример отчета, построенном на абсолютно произвольном запросе, который мог бы быть построен и для получения данных по зарплате. |
ОК. Как пример - прокатит. |
|
Вернуться к началу |
|
 |
ssv1977 Внедряю Босс
Зарегистрирован: 13.05.2008 Сообщения: 47
|
Добавлено: Ср Май 14, 2008 13:26 Заголовок сообщения: |
|
|
Именно для примера данная темка и создавалась.
Она для людей, которые находятся в начале изучения средств доступных в БОСС-кадровике.
И соответсвенно простой запрос приведенный в примере, может быть заменен на сколь угодно сложный, который не построишь с помощью произвольных списков.
Спасибо за комментарии. |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|