Текущее время: Вс, авг 03 2025, 23:28

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Adobe form - формат даты и locale
СообщениеДобавлено: Ср, авг 20 2008, 22:15 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Я с Adobe forms пока не работала, но может кто-нибудь объяснит, как там работает форматирование дат?

Канадские юзеры пожаловались, что в одной форме формат даты разный - в одном месте MM/DD/YY, а в другом DD/MM/YY. С моим user ID (US) все работает нормально.

Посмотрела форму - там, где MM/DD, стоит просто текстовое поле и дата форматируется заранее программой обработки. А там, где появляется DD/MM, стоит поле (клетка таблицы) Date/Time, с Display Pattern = date.short{} и Locale = Default. Поменяла Locale на 'Viewer's System Locale' - формат везде стал MM/DD/YY. Полезла в Form Properties, а там написано Default Locale = ... 'Viewer's System Locale'.

В настройках юзера (SU01) стоит default date format MM/DD/YYYY, в настройках для Канады - тоже самое. Откуда при таком раскладе в форме появляется формат DD/MM/YY? :? Ни в хелпе (на редкость голимый, кстати), ни на SDN, ни поиском ничего по этому поводу не нашла.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Adobe form - формат даты и locale
СообщениеДобавлено: Чт, авг 21 2008, 01:04 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Jelena написала:
Откуда при таком раскладе в форме появляется формат DD/MM/YY? :? Ни в хелпе (на редкость голимый, кстати), ни на SDN, ни поиском ничего по этому поводу не нашла.


Вполне возможно что с клиентской машины берется, либо с ADS сервера. SU01 тут скорее всего не причем т.к. ADS по отношению к САПу вещь всё же внешняя


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 21 2008, 10:44 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
А если display patern просто прописать так как Вам надо MM/DD/YYYY.

Для LCD, на сколько я понимаю, ISO-шные локальные идентификаторы страны.
Для Канады, например, есть французский и английский идентификаторы.

Французский это:
fr_CA
YY-MM-DD (Medium)
95-12-03

Не знаю, честно говоря, как выглядит английский для Канады, но английский для UK выглядит так:
en_GB
DD/MM/YY (Short)
01/12/03

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 21 2008, 18:13 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
DKiyanov написал:
Вполне возможно что с клиентской машины берется, либо с ADS сервера.


Совершенно точно не с клиентской машины, т.к. я сама заходила под канадским логином и наблюдала этот бардак в форме. А кто такой ADS server? :?

Lars написал:
А если display patern просто прописать так как Вам надо MM/DD/YYYY.


Да, к сожалению, этой формой будут пользоваться еще и немцы, а им надо DD/MM/YY.

Lars написал:
Французский это:
fr_CA
YY-MM-DD (Medium)
95-12-03


Ой, а где вы взяли эту информацию? Продебажила FPCOMP_FORM_START, там выставляется locale = en_CA. Что интересно, в XML source формы такая locale вообще не предусмотрена - там упомянуты только US и DE:

Code:
   <locale desc="German (Germany)" name="de_DE">
[...]
         <datePattern name="full">EEEE, D. MMMM YYYY</datePattern>
         <datePattern name="long">D. MMMM YYYY</datePattern>
         <datePattern name="med">DD.MM.YYYY</datePattern>
         <datePattern name="short">D.M.YY</datePattern>
[...]
   <locale desc="English (United States)" name="en_US">
[...]
         <datePattern name="full">EEEE, MMMM D, YYYY</datePattern>
         <datePattern name="long">MMMM D, YYYY</datePattern>
         <datePattern name="med">MMM D, YYYY</datePattern>
         <datePattern name="short">M/D/YY</datePattern>


Может надо вручную добавить? :?

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 22 2008, 09:03 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Jelena написала:
Lars написал:
А если display patern просто прописать так как Вам надо MM/DD/YYYY.


Да, к сожалению, этой формой будут пользоваться еще и немцы, а им надо DD/MM/YY.


Тогда, действительно, можно воспользоваться текстовым полем, а в скрипре воспользоваться функцией format с нужными параметрами в зависимости от какой нибудь галки переданной.

Jelena написала:
Lars написал:
Французский это:
fr_CA
YY-MM-DD (Medium)
95-12-03


Ой, а где вы взяли эту информацию? Продебажила FPCOMP_FORM_START, там выставляется locale = en_CA. Что интересно, в XML source формы такая locale вообще не предусмотрена - там упомянуты только US и DE:


Да вроде как из хелпа. Видимо, зависит от того для каких языков разарбатывалась форма и в каком локале(стране) она используется. У меня это тупо RU_RU. Можно попробовать прописать руками, но не понятно сохранится ли это после перегенераций.

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 22 2008, 19:11 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Lars написал:
Да вроде как из хелпа. Видимо, зависит от того для каких языков разарбатывалась форма и в каком локале(стране) она используется.


А, нашла - это у них там пара примерчиков. Я уж надеялась, что полный лист где-то есть. :( В интернете нашла пару упоминаний в каких-то документах по Java, что для en_CA формат даты DD/MM/YY. В Wikipedia сказано, что в Канаде используются как DD/MM/YY, так и MM/DD/YY.

Кончилось тем, что залезла в XML код и скопировала все для en_US как en_CA. Начальство приняло решение, что в Канаде будет MM/DD/YY, как в США, и неча тут. :)

Чисто настройками, как я понимаю, невозможно сделать так, чтобы формат даты брался из default для конкретного юзера. Можно было бы, конечно, навесить на поле скрипт какой-нибудь, но сейчас просто некогда этим заниматься.

Спасибо всем!

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 28 2008, 18:52 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, июн 01 2005, 19:32
Сообщения: 253
Откуда: Москва
Вообще-то для каждого поля Date/Time в форме есть на закладке Object -> Field поле Locale. Если вы в нем установите Default Locale, то для этого поля будет использоваться локаль присвоенная всему документу.
Ее можно менять (статически) через меню Edit -> Form Properties (на закладе Defaults).
Но важнее то, что ее можно передавать при вызове формы.
Если вы посмотрите на параметры ФМ, который генериться при активации Adobe формы, то обнаружите у него на входе структуру /1BCDWB/DOCPARAMS с полями LANGU и COUNTRY.
Теперь, если вы хотите, чтобы формат соответствовал локали en_US, то вы передаете LANGU=EN, а COUNTRY=US, а если Канада нужна, то передаете LANGU=EN, а COUNTRY=CA. Ну а если никакие не передавать, но поставить в Form Properties "Viewer System Locale", то используются параметры с машины, на которой Adobe Reader стоит.

Успехов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 28 2008, 19:06 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
peper- написал(а):
Вообще-то для каждого поля Date/Time в форме есть на закладке Object -> Field поле Locale. Если вы в нем установите Default Locale, то для этого поля будет использоваться локаль присвоенная всему документу.


Я в курсе - спасибо. Только на деле это оказалось не совсем так (cобственно из-за этого и возник вопрос).

Если в locale всей формы стоит Viewer's system, то логично предположить, что если я для самого поля я выберу Default или Viewer's system, то они должны работать одинаково, не так ли? Ведут-то они к одному и тому же значению - Viewer's system! А на деле оказалось, что, независимо от locale формы, для Канады 'default' печатало DD/MM/YY, а "viewer's system locale' печатало MM/DD/YY (американский формат - как вы заметили, определяется по серверу).

Честно говоря, сакральный смысл Default locale для всей формы так и остался не ясен. Возможно эта locale используется, если в параметрах ничего не было передано (не уверена, что такое технически возможно). Вообще как-то очень мало информации по этому поводу, к сожалению... :(

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 28 2008, 22:14 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, июн 01 2005, 19:32
Сообщения: 253
Откуда: Москва
Jelena написала:
Честно говоря, сакральный смысл Default locale для всей формы так и остался не ясен. Возможно эта locale используется, если в параметрах ничего не было передано (не уверена, что такое технически возможно). :(

ИМХО, должно быть именно так, как вы пишете. Т.е. если в описанных мною выше входных параметрах ФМ ничего не было, то используется локаль, установленная для формы в Form Properties. Другое дело, что если там стоит Viewer Default, то вы вроде как закладываетесь на локаль Adobe Reader, в котором просматравается форма при печати. Но это не есть гут, т.к. во-первых, форма может напрямую печататься без просмотра в Adobe Reader, т.е. Viewer Locale просто как класс отсутствует, а во-вторых кто знает что у юзверя за локаль и как у него работает Adobe Reader.

Думал, что вам более интересным будет именно тот момент, что параметры локали можно передавать в форму при вызове ФМ. И вот они-то точно влияют на то, какая локаль будет использоваться для полей, у который установлено Default Locale (это я проверил в системе перед тем, как предыдущий пост писать).

А это, как мне кажется, значит (исходя из вашей задачи), что можно считать из адресных данных пользователя его язык и страну и интерпретировав их передать в качестве параметров LANGU/COUNTRY в ФМ формы. Разве это не то, что вы хотели?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 29 2008, 17:41 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
peper- написал(а):
Разве это не то, что вы хотели?


Вообще хотелось бы, чтобы форма телепатическим путем считывала формат даты из глубин мозгов юзеров. :D Да с параметрами все было в порядке - в форму правильно передавалось en_CA для Канады. Просто было совершенно не понятно, откуда для en_CA взялся формат DD/MM/YY. Т.к. абсолютно нигде в форме и в user profile он не фигурировал. :?

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB