Идея

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

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

строки 1544-1558:

        private string FormatDecimalValue(decimal value) {
            string formattedValue = string.Empty;
            string separator = SysSettings.GetValue<string>(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 комментарий

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

Войдите или зарегистрируйтесь, чтобы комментировать