Здравствуйте! Поймали необъяснимый баг.
Есть C# в котором замещается метод CreateReport из ReportHelper
Приведу пример:
using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text.RegularExpressions;
using System.Web;
using Terrasoft.Common;
using Terrasoft.Core;
using Terrasoft.Core.Factories;
using Terrasoft.Reports;
using System.Web.Script.Serialization;
using Terrasoft.Core.Entities;
namespace Terrasoft.Configuration.ReportService
{
[Terrasoft.Core.Factories.Override]
class OnellectReportHelper : ReportHelper
{
public override string CreateReport(string entitySchemaUId, string reportSchemaUId, string templateId,
string recordId, string reportParameters, bool convertInPDF) {
string key = base.CreateReport(entitySchemaUId, reportSchemaUId, templateId, recordId, reportParameters, convertInPDF);
string reportName = "Метод генерации названия файла";
if (!reportName.IsNullOrEmpty())
{
object reportObj = UserConnection.SessionData[key];
var report = (ReportData)reportObj;
report.Caption = Uri.EscapeDataString(reportName);
UserConnection.SessionData[key] = report;
}
return key;
}
}
}
Так вот под Windows проблем нет, все отрабатывает корректно, но некоторые клиенты стали жаловаться, что именование файлов работает как в коробке. Выяснилось, что они используют Safari. Если запустить генерацию печатных форм в Chrome, то название формируется согласно замещающему методы.
Не могу понять, куда копать. Mac-а для отладки под рукой нет. По идее код можно вставить на любой среде и тогда все печатные формы должны выгружаться с названием из переменной reportName. Может кто-то проверит под маком и Safari, повторится ли баг?