Текущее время: Пн, авг 04 2025, 02:07

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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