Требуется передать значения фильтров в отчет. Хотелось не перебирать операторы сравнения с помощью отладчика. В SDK нашел перечисление, вроде подходящее - Перечисление _DateTimeOperatorTypeEnum. Дай думаю проверю на нескольких данных. Поставил оператор сравнения в фильтре «Прошлый год». Получил в отладчике fbcMain.DataFieldsList.Items(0).CompareOperator = 17. И что имеем в SDK dotLastYear = 17, и dotLastYear = «В течение года до текущей даты». В связи с этим вопрос – а можно ли доверять так рекламируемому SDK. Кстати точный перевод Last Year это Прошлый год. Остальные значения можно определить только тупым перебором? (типы поля сравнения и к нему операторы сравнения).
Дальше оказалось еще интереснее. При исследовании (тупым перебором) установки для поля типа Справочник выяснилось, что при установке «Пусто», «Не пусто» и «Текущий контакт» окно выбора фильтров само сбрасывает установку на «Пусто» после формирования отчета и выяснить CompareOperator не представляется возможным! Уже боюсь копать дальше.
Пытаемся Строить отчет:
После нажатия ОК имеем:
Это нормально?
Нравится
Владимир, как устанавливаете значения для условий фильтрации окна?
Щелкаю левой кнопкой мышки по знаку и в низпадающем списке по "Не пусто". Поле этого по кнопке ОК. Есть другие варианты?
Другие варианты есть - на уровне скриптовой логики.
Проверяла на версиях 3.3.2 - 3.4.1, работает корректно.
На какой версии и сборке у Вас воспроизводится такое поведение (и уточните, пожалуйста, доп. информацию для воспроизведения)?
Уважаемая, Наталия, поделитесь как можно "на уровне скриптовой логики" узнать какой оператор установлен пользователем в фильтре. Буду очень признателен. (и конечно очень хочется узнать как можно этот самый оператор установить)
Попробовал на версии 3.4.0.50
fbcMain.DataFieldsList.Items(i).CompareOperator кроме "<>" все остальные ноль. Но хоть не сбрасывает. Хотя это мне не поможет, так как работаем на старой версии.
"Прищепа Владимир" написал:Уважаемая, Наталия, поделитесь как можно "на уровне скриптовой логики" узнать какой оператор установлен пользователем в фильтре. Буду очень признателен. (и конечно очень хочется узнать как можно этот самый оператор установить)
Владимир, смотрите в сторону скрипта wnd_ReportFiltersScript, функция LoadFilters (может быть полезной статья http://www.community.terrasoft.ru/forum/topic/7477)
Воспроизвела на версии 3.2.0 сбрасывание оператора сравнения - вопрос передан в департамент разработки.
Уважаемая, Наталия, а департамент разработки не может поделиться информацией как "на уровне скриптовой логики" узнать какой оператор установлен пользователем в фильтре. Буду очень признателен и Вам и департаменту разработки. (и, как обычно, очень хочется узнать как можно этот самый оператор установить)
Владимир, а Наталья дала вам ссылку с примером
А я добавлю ссылку на SDK
http://terrasoft.ru/sdk/index.html?frmname=topic&frmfile=MEMBEROVERVIEW…
"Бондарь Наталия" написал:Воспроизвела на версии 3.2.0 сбрасывание оператора сравнения - вопрос передан в департамент разработки.
Владимир, исправления внесены в сборку 3.2.0.89, обратитесь, пожалуйста, в техническую поддержку для ее получения.