|
![]() |
#1 |
Участник
|
подтверждаю. Галина сделала абсолютно правильную диагонстику и рекомендации.
Я, правда, на точку десятичный разделитель не меняю, но это к делу не относится. Действительно, во всех известных мне версиях виндуса этот баг (неправильный символ в разделителе групп разрядов, отображаемый как пробел) в российской региональной настройке присутствует. "перепробивание" его на пробел должно входить в регламент установки системы. |
|
![]() |
#2 |
Участник
|
![]() Цитата:
Сообщение от Wizard
Действительно, во всех известных мне версиях виндуса этот баг (неправильный символ в разделителе групп разрядов, отображаемый как пробел) в российской региональной настройке присутствует.
"перепробивание" его на пробел должно входить в регламент установки системы. ![]() |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от johndoe
Хм... Допустим, я на своей машине поставлю нужный мне разделитель (т.е. "пробел" = 0x20). А у клиента что делать? Прописывать в регламент его IT-службе замену стандартного разделителя? А если у него на площадке целый "зоопарк" приложений? А если какая-нибудь... скажем, корпоративная docflow-система тоже "себе на уме" и требует другого разделителя? Не все так просто... К большому нашему сожалению
![]() Я вот тоже задала вопрос из этой области http://www.mibuso.ru/forum/index.php?showt...9506&#entry9506 Ответов нет. ![]() |
|
![]() |
#4 |
Moderator
|
Цитата:
Хм... Допустим, я на своей машине поставлю нужный мне разделитель (т.е. "пробел" = 0x20). А у клиента что делать? Прописывать в регламент его IT-службе замену стандартного разделителя? А если у него на площадке целый "зоопарк" приложений?
<div class='CALtop'>C/AL</div><div class='CAL'> VAR WshShell@1000000000 : Automation "{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B} 1.0:{72C24DD5-D70A-438B-8A42-98424B88AFB8}:'Windows Script Host Object Model'.WshShell"; PROCEDURE GetRegionalDelimiter() : Text[1024]; BEGIN IF ISCLEAR(WshShell) THEN CREATE(WshShell); EXIT(FORMAT(WshShell.RegRead('HKEY_CURRENT_USER\Control Panel\International\sThouansd'))); CLEAR(WshShell); END; PROCEDURE SetRegionalDelimiter(cDelimiter: Char) : Text[1024]; BEGIN IF ISCLEAR(WshShell) THEN CREATE(WshShell); WshShell.RegRead('HKEY_CURRENT_USER\Control Panel\International\sThouansd', cDelimiter, 'REG_SZ'); CLEAR(WshShell); END; PROCEDURE Export2Excel() BEGIN cDelimiter := GetRegionalDelimiter(); SetRegionalDelimiter(' '); ... // export ... SetRegionalDelimiter(cDelimiter); END;</div> |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от Галина
А какое решение вы можете предложить?
Я вот тоже задала вопрос из этой области http://www.mibuso.ru/forum/index.php?showt...9506&#entry9506 Ответов нет. ![]() ![]() ![]() Цитата:
Сообщение от tyrex
Цитата:
Хм... Допустим, я на своей машине поставлю нужный мне разделитель (т.е. "пробел" = 0x20). А у клиента что делать? Прописывать в регламент его IT-службе замену стандартного разделителя? А если у него на площадке целый "зоопарк" приложений?
Но: Есть и стандартные отчеты, про которые говорил wanya. С ними-то как быть? ![]() |
|
![]() |
#6 |
Участник
|
Цитата:
Сообщение от johndoe
Только избегать таких ситуаций. Если уж надо что-нибудь посчитать, то считать в C/AL-коде (или VBA-макросами
![]() ![]() Просто сейчас конкретная ситуация- у пользователей стоят точки - а для загрузки курса валют с ЦБ нужны запятые, а пользователи перейти на точки не могут-во первых привыкли к точкам, во-вторых загружают инф с филиалов - там разделители тоже точки. И получается что чтобы загрузить курсы валют нужно поменять разделители,загрузить,после опять поменять и так каждый день ![]() |
|