Независимый форум, посвященный системе БОСС-Кадровик и всему, что с ней связано
|
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Аленка
Зарегистрирован: 08.04.2011 Сообщения: 64 Откуда: Оттуда
|
Добавлено: Пт Апр 08, 2011 12:31 Заголовок сообщения: Постороение фильтра.Прошу помощи |
|
|
Добрый день всем!
БОССОМ занимаюсь совсем недавно, дали задание переработать стандартное окно "Построение фильтра и порядок сортировки" (меню Построение ограничения(фильтра)), дополнив его выпадающим списком с изменяемым ресурсом по выбранному полю. Как и где найти это окно в дизайнере? |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пт Апр 08, 2011 13:25 Заголовок сообщения: |
|
|
Это часть Дизайнера (объект на С++).
Данный объект недоступен для редактирования. |
|
Вернуться к началу |
|
 |
Аленка
Зарегистрирован: 08.04.2011 Сообщения: 64 Откуда: Оттуда
|
Добавлено: Пт Апр 08, 2011 13:58 Заголовок сообщения: |
|
|
RVV, спасибо за ответ, а еще вопрос, почему запрос, отрабатывающий в мс студии за 3 минуты без заданных ограничений в Боссе отрабатывает за 15 минут с ограничением по периоду, куда копать? |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пт Апр 08, 2011 14:23 Заголовок сообщения: |
|
|
Приведите пример кода |
|
Вернуться к началу |
|
 |
Аленка
Зарегистрирован: 08.04.2011 Сообщения: 64 Откуда: Оттуда
|
Добавлено: Пт Апр 08, 2011 14:30 Заголовок сообщения: |
|
|
В БОССЕ Select по View.
Код View ниже
Код: | SELECT s.id_firm,
f.name_firm,
plosh.num_ploshadka,
LTRIM(RTRIM(ts.obozn_type_OS)) AS obozn_type_OS,
s.reg_number,
sobl.name_srt_obsl,
s.name_file_USR,
s.date_create_user_files,
REPLACE(s.time_create_user_files, '.', ':') time_create_user_files,
std.name_sotrudn,
s.papka_sotrudn,
s.XML_document,
s.date_popolnenie_1,
REPLACE(s.time_1_popolnenie, '.', ':') AS time1,
s.date_popolnenie_2,
REPLACE(s.time_2_popolnenie, '.', ':') AS time2,
s.date_popolnenie_3,
REPLACE(s.time_3_popolnenie, '.', ':') AS time3,
s.date_popolnenie_4,
REPLACE(s.time_4_popolnenie, '.', ':') AS time4,
s.date_popolnenie_5,
REPLACE(s.time_5_popolnenie, '.', ':') AS time5,
s.date_popolnenie_6,
REPLACE(s.time_6_popolnenie, '.', ':') AS time6,
s.date_popolnenie_7,
REPLACE(s.time_7_popolnenie, '.', ':') AS time7,
s.date_popolnenie_8,
REPLACE(s.time_8_popolnenie, '.', ':') AS time8,
s.date_popolnenie_9,
REPLACE(s.time_9_popolnenie, '.', ':') AS time9,
s.date_popolnenie_10,
REPLACE(s.time_10_popolnenie, '.', ':') AS time10,
s.kol_document_1,
( CASE WHEN s.id_sootv_IB_RIC = 1 THEN ''
ELSE ( SELECT name_sootv_IB_RIC
FROM dbo.sootv_IB_RIC (NOLOCK)
WHERE id_sootv_IB_RIC = s.id_sootv_IB_RIC
)
END ) AS sootv_IB_RIC,
kd.kol_dokum,
ISNULL(vkd.rdate, ( SELECT TOP 1
r.wdate
FROM ( SELECT DISTINCT
wdate,
texts_r,
name_file_usr
FROM dbo.RECEIVE_INF
) r
WHERE r.name_file_usr = s.name_file_USR
AND r.texts_r = s.kol_document_1
ORDER BY r.wdate DESC
)) AS rdate,
s.sposob_create_files_user,
s.num_week,
strd.name_sotrudn AS name_soprov,
s.upf_time,
s.uf_tordate,
s.date_reg_BD,
( CASE ISNULL(chobsl.is_zapret_zapisi, 0)
WHEN 0 THEN ''
ELSE ' Да'
END ) AS ZapretZapisi,
s.id_type_OS
FROM dbo.sost_IB_firm s ( NOLOCK )
INNER JOIN dbo.sposob_create_files_user scf ( NOLOCK ) ON s.sposob_create_files_user = scf.name_sposob_create_files_user
AND scf.is_user_files <> '-'
LEFT OUTER JOIN dbo.firma f ( NOLOCK ) ON f.id_firm = s.id_firm
LEFT OUTER JOIN dbo.sotrudn std ( NOLOCK ) ON std.id_sotrudn = s.id_sotrudn
LEFT OUTER JOIN dbo.type_OS ts ( NOLOCK ) ON ts.id_type_OS = s.id_type_OS
LEFT OUTER JOIN dbo.copy_type_cl_OS cpy ( NOLOCK ) ON s.id_type_OS = cpy.id_type_OS
AND s.reg_number = cpy.reg_number
LEFT OUTER JOIN dbo.sotrudn strd ( NOLOCK ) ON strd.id_sotrudn = cpy.id_soprov
LEFT OUTER JOIN dbo.srt_obsl sobl ( NOLOCK ) ON sobl.id_srt_obsl = cpy.id_srt_obsl
LEFT OUTER JOIN ( SELECT DISTINCT
af.id_ploshadka,
v.id_type_OS AS id_type_OS,
ct.reg_number
FROM dbo.adress_firm af ( NOLOCK )
LEFT JOIN dbo.copy_type_cl_OS ct ( NOLOCK ) ON ct.id_adress_firm = af.id_adress
AND af.id_firm = ct.id_firm
LEFT JOIN dbo.V_TYPE_OS_REG v ( NOLOCK ) ON ct.id_type_OS = v.id_type_OS2
WHERE ct.reg_number IS NOT NULL
) pl ON pl.id_type_OS = s.id_type_OS
AND pl.reg_number = s.reg_number
LEFT OUTER JOIN dbo.ploshadka plosh ( NOLOCK ) ON plosh.id_ploshadka = pl.id_ploshadka
LEFT OUTER JOIN dbo.CHARACTER_OBSL chobsl ( NOLOCK ) ON chobsl.id_prices = s.id_prices
AND chobsl.id_firm = s.id_firm
AND chobsl.id_ploshadka = pl.id_ploshadka
LEFT OUTER JOIN dbo.V_kol_document_IB kd ( NOLOCK ) ON kd.name_user_files = s.name_file_USR
AND s.date_1_popolnenie >= kd.bdate
AND s.date_1_popolnenie < kd.edate
LEFT OUTER JOIN dbo.V_kol_doc_IB_RIF vkd ( NOLOCK ) ON vkd.name_file_usr = s.name_file_USR
AND s.date_popolnenie_1 >= vkd.bdate
AND s.date_popolnenie_1 < vkd.edate
AND s.kol_document_1 = vkd.texts_r |
|
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пт Апр 08, 2011 14:57 Заголовок сообщения: |
|
|
Аленка писал(а): | RVV, спасибо за ответ, а еще вопрос, почему запрос, отрабатывающий в мс студии за 3 минуты без заданных ограничений в Боссе отрабатывает за 15 минут с ограничением по периоду, куда копать? |
Ограничение по датам - обычно сильно замедляет работу, особенно, если нет индексов.
Что касается Вашего текста VIEW, то это Ваши таблицы и что и как там строится - Вам виднее. |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пт Апр 08, 2011 15:02 Заголовок сообщения: |
|
|
Но даже по тексту VIEW видно:
не жедательно писать подселекты в секции списка полей
( CASE WHEN s.id_sootv_IB_RIC = 1 THEN ''
ELSE ( SELECT name_sootv_IB_RIC
FROM dbo.sootv_IB_RIC (NOLOCK)
WHERE id_sootv_IB_RIC = s.id_sootv_IB_RIC
)
END ) AS sootv_IB_RIC,
kd.kol_dokum,
ISNULL(vkd.rdate, ( SELECT TOP 1
r.wdate
FROM ( SELECT DISTINCT
wdate,
texts_r,
name_file_usr
FROM dbo.RECEIVE_INF
) r
WHERE r.name_file_usr = s.name_file_USR
AND r.texts_r = s.kol_document_1
ORDER BY r.wdate DESC
)) AS rdate, |
|
Вернуться к началу |
|
 |
Аленка
Зарегистрирован: 08.04.2011 Сообщения: 64 Откуда: Оттуда
|
Добавлено: Пт Апр 08, 2011 15:19 Заголовок сообщения: |
|
|
Согласна, не желательно, избегаю этого по-возможности. Вопрос в другом, Select * from view в дизайнере и студии отрабатывают за несопостовимое время, поскольку я в Боссе начинающий, прошу подсказать, где порыться. Возможно у меня какой-то косяк в Боссе. |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пт Апр 08, 2011 15:38 Заголовок сообщения: |
|
|
Кадровик работает через ODBC |
|
Вернуться к началу |
|
 |
Аленка
Зарегистрирован: 08.04.2011 Сообщения: 64 Откуда: Оттуда
|
Добавлено: Пт Апр 08, 2011 17:42 Заголовок сообщения: |
|
|
RVV,это значит копать в сторону версии драйвара SQL?
У меня
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
Какую версия драйвера скуля порекомендуете? |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|