Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Постороение фильтра.Прошу помощи

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> Общие вопросы
Предыдущая тема :: Следующая тема  
Автор Сообщение
Аленка



Зарегистрирован: 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)

Какую версия драйвера скуля порекомендуете?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> Общие вопросы Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU