SAPфорум.RU https://sapboard.ru/forum/ |
|
SAPUI5\FIORI: SmartFilterBar+поле типа дата+OData https://sapboard.ru/forum/viewtopic.php?f=133&t=96007 |
Страница 1 из 1 |
Автор: | Кодер [ Вт, янв 30 2018, 21:26 ] |
Заголовок сообщения: | SAPUI5\FIORI: SmartFilterBar+поле типа дата+OData |
В приложении используется SmartFilterBar на основе oData-сервиса. В сущности есть поле типа дата, которое используется в фильтре. При обработке фильтра получаю его значения и передаю в качестве фильтра в oData-сервис. Т.к. поле дата преобразуется в тип javascript Date, то в фильтре будут именно значения именно этого типа (год-день-месяц-время). В значение попадет Time Zone фронтенда (ну допустим GMT+3). А сам oData выполнит запрос к бэкэнду уже с приведенным временем. Т.е., например, юзер выбрал в фильтре 30.01.2018, в значениях фильтра будет 30.01.2018 00:00:00GMT+3. Но в запросе к сервису SAPUI5 преобразует это все в 29.01.2018 21:00:00 (без тайм зоны). Я конечно могу вручную сконвертить время в фильтре, но м.б. есть какой-то более правильный способ? Опять же, интересно: я вот использовал перекидывание фильтра в сервис вручную, т.к. обошелся без SmartTable. А что будет если и SmartFilterBar и SmartTable будут использоваться вместе? |
Автор: | Besa [ Вт, мар 13 2018, 12:48 ] |
Заголовок сообщения: | Re: SAPUI5\FIORI: SmartFilterBar+поле типа дата+OData |
oData сервис на основе CDS? В общем из опыта создания приложений на базе CDS все решается через анотации, там можно и задавать тип интервальный, и календарь там будет, и передаваться значения будут конкретно на бэк. И что касается таймзоны, также выставляется через анотации. В этом случае по-моему это смартфильтры так отработают. Если все в ручную делаете, точно не подскажу, но там вроде есть другим тип со смещением. В целом, в данный момент у меня понимание создания приложений таково(опыта не много) - создается CDS, максимально описывается все через анотации (в комбинации с ассоциациями) + dpc/mpc классы для расширения, далее на фронте, по smarttemplate генерится приложение по odata сервису + файлу с анотациями. |
Автор: | Кодер [ Вт, мар 13 2018, 15:32 ] |
Заголовок сообщения: | Re: SAPUI5\FIORI: SmartFilterBar+поле типа дата+OData |
Besa написал: oData сервис на основе CDS? Да Besa написал: И что касается таймзоны, также выставляется через анотации. Можно пример? что-то курил я доки по аннотациям и не нашел подходящей. Besa написал: В целом, в данный момент у меня понимание создания приложений таково(опыта не много) - Если верить статьям, то все больше пропагандируется отказ от написания своего кода в классах сервисов. Теперь рекламируют вариант: CDS->BOPF->Sservice->Template application (Fiori Element). |
Автор: | Besa [ Ср, мар 14 2018, 09:21 ] |
Заголовок сообщения: | Re: SAPUI5\FIORI: SmartFilterBar+поле типа дата+OData |
Возможно я перепутал с функциями конвертации и получения timezone в CDS. Анотациями выставляется интервальность и мультибор. https://help.sap.com/viewer/cc0c305d2fab47bd808adcad3ca7ee9d/7.5.6/en-US/d60c0bf6798a481fb7412bc89934cb8a.html И все таки не понятно, у Вас поле в таблице какого типа DATS или TIMESTAMP? oData сервис какой edm тип выставил? |
Автор: | Кодер [ Ср, мар 14 2018, 09:54 ] |
Заголовок сообщения: | Re: SAPUI5\FIORI: SmartFilterBar+поле типа дата+OData |
Besa написал: все таки не понятно, у Вас поле в таблице какого типа DATS или TIMESTAMP? DATS Besa написал: Data сервис какой edm тип выставил? Edm.DateTime Т.к. создавал entity через CDS-reference, то вручную изменить тип в проекте сервиса система не дает |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |