Есть у меня отчет. Совершенно типичная задача - одноуровневая группировка с итогами под группой и общими итогами под отчетом. Весьма значительная часть отчета заполнена нулями - не хотелось из выводить.
    Поставил соответствующую галку в свойствах "текста" на строках и в итогах. Отчет перестал выводится - подвисает даже на стадии формирования предпросмотра в дизайнере (еще одна проблема, которую хотелось бы разрешить).
    Галку снял. Формулы в тексте дополнил вызовом самописной функции форматирования. Предпросмотр формируется, нули подавляются, итоги выводятся, но частично - где-то суммы есть, а где-то вместо них текст формулы из "текста" группировки с дополнением "#%#" перед формулой. Вообщем, что-то вида #%#{DecimalFix2(Sum(Данные1,dtDetails.StoreSumDeb))
Форматирование осуществляется кодом следюющео вида:
		public static string DecimalFix(decimal arg, int scale, char decSeparator, char grSeparator, string rgSizes)
		{
			System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
			nfi.NumberDecimalDigits = scale;
			nfi.NumberDecimalSeparator = new string(decSeparator, 1);
			nfi.NumberGroupSeparator = new string(grSeparator, 1);
			List<int> grSeps = new List<int>();
			foreach (string sep in rgSizes.Split(new char[] { ',' }))
				if(sep.Trim()!="")
					grSeps.Add(int.Parse(sep.Trim()));
			nfi.NumberGroupSizes = grSeps.ToArray();
			return arg.ToString("N",nfi);
		}
		
		string DecimalFix(decimal arg)
		{
			return DecimalFix(arg, 2, '.', ' ', "");
		}
		string DecimalFix2(decimal arg)
		{
			return arg == 0.0m ? "" : DecimalFix(arg, 2, '.', ' ', "");
		}
В исходных данных ошибки нет. Используется System.Data.DataTable с типизированными колонками. Тип значений перед передачей в отчет я проверил - везде decimal.
			
							Не вызывается самописная функция форматирования в итогах
Не вызывается самописная функция форматирования в итогах
- Вложения
- 
			
		
				- Формула не работает, там где пунктирные полоски в итогах - тот самый текст формулы из "текста". Авторазмер шрифта.
- 2.png (145.41 КБ) 3086 просмотров
 
- 
			
		
				- Нормальное срабатывание формулы и отображение
- 1.png (158.48 КБ) 3086 просмотров
 
Re: Не вызывается самописная функция форматирования в итогах
Оказывается, подобное поведение возникает, когда из пользовательской функции возвращается пустая строка. Если вернуть пробел, то странной строки с формулой не вылезает.
Шесть лет пишу с использованием Reports.NET и каждый раз узнаю что-то новое.
Но вопрос со встроенным в систему подавлением нулевых значений путем зависания на выводе отчета остается открытым.
			
			
									
									
						Шесть лет пишу с использованием Reports.NET и каждый раз узнаю что-то новое.
Но вопрос со встроенным в систему подавлением нулевых значений путем зависания на выводе отчета остается открытым.
Re: Не вызывается самописная функция форматирования в итогах
Здравствуйте.
Пришлите, пожалуйста, шаблон вашего отчёта с тестовыми данными для анализа обоих ваших проблем.
Спасибо.
			
			
									
									
						Пришлите, пожалуйста, шаблон вашего отчёта с тестовыми данными для анализа обоих ваших проблем.
Спасибо.
Re: Не вызывается самописная функция форматирования в итогах
<Зачеркнуто>Куда именно прислать?<Зачеркнуто>
<Зачеркнуто>Отправил в личку.<Зачеркнуто>
Куда именно и как отправлять? В личке запрещены MRT и XML 
 
Там финансовая информация, которую в открытый доступ просто нельзя.
			
			
									
									
						<Зачеркнуто>Отправил в личку.<Зачеркнуто>
Куда именно и как отправлять? В личке запрещены MRT и XML
 
 Там финансовая информация, которую в открытый доступ просто нельзя.
Re: Не вызывается самописная функция форматирования в итогах
Здравствуйте.
Пришлите ваши данные на support@stimulsoft.com, в письме сошлитесь, пожалуйста, на эту тему.
Спасибо.
			
			
									
									
						Пришлите ваши данные на support@stimulsoft.com, в письме сошлитесь, пожалуйста, на эту тему.
Спасибо.