Идея
Одобрена

Локальное форматирование в отчетах MS Word

Всем известно, что мы можем делать отчеты в MS Word. Но вот незадача - у дат и сумм отсутствует как таковое локальное форматирование. Перспектива что-то корячить на макросах не совсем правильная, поэтому, коллеги, я бы рекомендовал подправить схему ReportService следующим образом:

строки 1544-1558:

        private string FormatDecimalValue(decimal value) {

            string formattedValue = string.Empty;

            string separator = SysSettings.GetValue(userConnection, "ReportDecimalSeparator", string.Empty);

            if (!string.IsNullOrEmpty(separator)) {

                NumberFormatInfo numberFormatInfo = new NumberFormatInfo() {

                    NumberDecimalSeparator = separator,

                    NumberGroupSeparator = string.Empty

                };

               formattedValue = value.ToString("N", numberFormatInfo);

             } else {

                formattedValue = value.ToString();

            }

            return formattedValue;

        }

 

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

// formattedValue = value.ToString("N", numberFormatInfo);

formattedValue = value.ToString("N", CultureInfo.CreateSpecificCulture("cs-CZ"));

с датами тоже самое, строки 1528-1532

Теперь идея: создать системную настройку, позволяющую отображать даты и числа в вордовых отчетах в соответствии с культурой пользователя. 

1 комментарий

Здравствуйте!

Спасибо за проявленный интерес. Зарегистрировали ваше пожелание по развитию приложения.

Показать все комментарии