CrossTab System.OutOfMemory

Обсуждение Stimulsoft Reports.Net
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

Re: CrossTab System.OutOfMemory

Сообщение Леонид » 18 июл 2017, 12:14

Добрый день!

Ясно. Тогда ждём. На счёт ключа, где нам его взять? Мы просто оплатили лицензию, как обычно и скачивали новые версии.
Сейчас внезапно поменялся механизм, и теперь нужен ключ. Где его взять?

Всё что было в письме:
Здравствуйте, (имя вырезано)!
Мы рады, что качество нашего продукта удовлетворяет Вашим требованиям
и сообщаем Вам, что регистрация Stimulsoft Reports.Net успешно завершена.
Для того, чтобы получать доступ к полной версии нашего продукта,
зайдите на наш сайт http://www.stimulsoft.com, выберите секцию Пользователи
(http://www.stimulsoft.com/ru/registered-users) и введите Ваши
Регистрационные Данные - Имя пользователя и Пароль.

Ваши регистрационные данные
Пользователь: (вырезано)@saks.ru (т.к. это данные для личного кабинета)
Пароль: (вырезано)
Не уточните о какой именно кнопке "Закрыть" идёт речь?
Конечно, это кнопка "Закрыть" в меню стимула, скрин ниже.
Сразу оговорюсь, что мы используем тот же код, что и ранее. Коротко:

Код: Выделить всё

      // hide show "Data file" menu item
      // note: we've makin' this for stupid users who try to export dbf, xml, etc. from Stimul instead of doin' it from vouchers list
      StiOptions.Viewer.Windows.Exports.ShowData = false;
      StiOptions.Viewer.Windows.ShowPageDesignButton = true; // enable page editor (since 2016.1.0.0)
      StiOptions.Dictionary.UseNullableDateTime = true; // enable nullable dates (since 2016.1.0.0)

      // note: options doesn't disables cleartype, it could avoid bug that drops cleartype flag in Windows
      StiOptions.Export.DisableClearTypeDuringExport = false;

      ....

      stiPreview = new Stimulsoft.Report.Viewer.StiViewerControl() // create preview object
      {
        Dock = DockStyle.Fill,
        Visible = false, // don't show it, first show params form

        // set options flags
        ShowOpen = false,
        ShowEditor = true,
        ShowPageNew = false,
        ShowPageDesign = true,        
        ShowSendEMail = false,
        ShowThumbsPanel = false,
        ShowSaveDocumentFile = false // disable saving to .mdc, .mdx, .mdz
      };
....

      // set preview setting (since version 2014.2)
      // note: it's important to set it before assigning report to preview object
      stiReport.CompiledReport.PreviewSettings = (int)stiPreview.PreviewSettings;

      // assign report object to preview control //
      stiPreview.Report = stiReport; // set report object for preview control (each time to refresh the view)
      stiPreview.Visible = true; // make preview control visible
      stiPreview.FirstPage(); // set report to the first page
      stiPreview.SetZoom(100); // set it 100 percent
Ещё какой-то флаг появился, который отключён по умолчанию?
Вложения
Clipboard01.png
Clipboard01.png (242.24 КБ) 3315 просмотров
HighAley
Сообщения: 1975
Зарегистрирован: 08 июн 2011, 07:36

Re: CrossTab System.OutOfMemory

Сообщение HighAley » 19 июл 2017, 09:44

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

Да, эту кнопку мы убрали по умолчанию.
Включить её вы можете с помощью опции
StiOptions.Viewer.Windows.ShowCloseButton

По лицензированию. Вам надо зайти к кабинет пользователя и нажать на кнопку "Как активировать".
Там вы найдёте варианты активации продукта.

Спасибо.
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

Re: CrossTab System.OutOfMemory

Сообщение Леонид » 19 июл 2017, 10:54

Добрый день!
Да, эту кнопку мы убрали по умолчанию.
Включить её вы можете с помощью опции
StiOptions.Viewer.Windows.ShowCloseButton
Этот код помог, кнопка появилась!
По лицензированию. Вам надо зайти к кабинет пользователя и нажать на кнопку "Как активировать".
Там вы найдёте варианты активации продукта.
С лицензией тоже всё получилось элементарно.

Спасибо за помощь!

P.S. Но мы ждём решения по нашему вопросу по CrossTab'у по выборке большого объёма данных (хотя обычно это за год, который можно проверить на нашем примере в предыдущих постах этой темы).
HighAley
Сообщения: 1975
Зарегистрирован: 08 июн 2011, 07:36

Re: CrossTab System.OutOfMemory

Сообщение HighAley » 19 июл 2017, 11:12

Здравствуйте, Леонид.

Мы были рады вам помочь.
Про вопрос по CrossTab мы помним.
Как только получим какой результат, то сообщим.

Спасибо.

Ticket reference: #3146242
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

Re: CrossTab System.OutOfMemory

Сообщение Леонид » 22 янв 2018, 08:34

Коллеги, добрый день!

Снова вопрос по поводу System.OutOfMemory.
Проверил только что на самом свежем релизе - 2018.1.5.0. Результат такой же.
Как обычно, проверял на нескольких компьютерах, и c 18Gb RAM и с 4GB и 8GB, - результат одинаковый.
HighAley
Сообщения: 1975
Зарегистрирован: 08 июн 2011, 07:36

Re: CrossTab System.OutOfMemory

Сообщение HighAley » 26 янв 2018, 14:01

Здравствуйте, Леонид.

Мы ещё работаем над этим вопросом.
Проблема оказалась сложнее, чем мы думали.
Мы вам сообщим, как только будут результаты.

Спасибо.

Ticket reference: #3146242
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

Re: CrossTab System.OutOfMemory

Сообщение Леонид » 14 фев 2018, 07:00

Коллеги, доброе утро!

Мы всё понимаем, но при всём уважении, мы подняли эту тему 22.04.2015, а сегодня уже 14.02.2018.
Пользователи всё время жалуются на эту проблему и склеивают отчёты вручную в Excel, выводя кросс-таб отчёты за несколько месяцев, т.к. не могут вывести данные за год сразу, что создаёт большие неудобства в работе.
Проблема усугубляется тем, что далеко не все люди могут и готовы понять, что отчётная система это сторонняя разработка и не наш IT-отдел виноват в этом.
Поэтому просьба обозначить хотя бы примерные сроки решения данной проблемы.
Ivan
Сообщения: 619
Зарегистрирован: 10 авг 2006, 01:40

Re: CrossTab System.OutOfMemory

Сообщение Ivan » 15 фев 2018, 14:13

Здравствуйте.
Леонид писал(а):Мы всё понимаем, но при всём уважении, мы подняли эту тему 22.04.2015, а сегодня уже 14.02.2018.
Пользователи всё время жалуются на эту проблему и склеивают отчёты вручную в Excel, выводя кросс-таб отчёты за несколько месяцев, т.к. не могут вывести данные за год сразу, что создаёт большие неудобства в работе.
Проблема усугубляется тем, что далеко не все люди могут и готовы понять, что отчётная система это сторонняя разработка и не наш IT-отдел виноват в этом.
Поэтому просьба обозначить хотя бы примерные сроки решения данной проблемы.
Последние два года проводится крупный рефакторинг нашего кода.
Конкретно за последние полгода было исправлено много багов в кросстабах.
Ведущий специалист говорит, что из крупных задач по кросстабу осталась только оптимизация, которую он планирует провести в ближайшие два месяца.
Леонид писал(а):Как обычно, проверял на нескольких компьютерах, и c 18Gb RAM и с 4GB и 8GB, - результат одинаковый.
Как мы выяснили ещё 3 года назад, ваше приложение скомпилировано под 32-бита, и оно физически не может использовать больше чем 2Gb памяти.
Поэтому увеличение памяти компьютера в вашем случае ничего не даёт.

Также повторимся, что много памяти могут занимают сами данные (при выборке например за год).
И даже если мы успешно оптимизируем кросс-таб по памяти, расход памяти может уменьшиться в несколько раз, но из-за ограничения в 2Gb всё-равно возможны проблемы при больших выборках данных.
Особенно это заметно если данные "разрежены", т.е. в кросс-табе получается очень много пустых ячеек, т.к. под пустые ячейки память всё равно резервируется.

Спасибо.
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

Re: CrossTab System.OutOfMemory

Сообщение Леонид » 15 фев 2018, 14:40

ваше приложение скомпилировано под 32-бита, и оно физически не может использовать больше чем 2Gb памяти.
С одной стороны да, с другой, с тех пор, как мы стали использовать флаг LARGEADDRESSAWARE после компиляции EXE'шника:

Код: Выделить всё

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\editbin.exe" /LARGEADDRESSAWARE C:\PROJECTS\Merchant3\bin\x86\Release\Merchant3.exe
стало лучше, некоторые отчёты даже удалось выводит без ошибки нехватки памяти. Но в целом вы правы. Однако, пока мы не можем скомпилировать под x64 в силу определённых технических ограничений, а именно у нас ещё порядка 40 компов с WinXP и здесь, пока не мы не перейдём на Win7/8 хотя бы, мы ограничены и используем .Net 4.0 + x32 вместо .Net 4.5 + x64.
Да, есть WinXP x64, но это не решение проблемы.

Попробую на последнем релизе под x64, по результатам отпишусь.
Aleksey
Сообщения: 2128
Зарегистрирован: 22 апр 2010, 02:57

Re: CrossTab System.OutOfMemory

Сообщение Aleksey » 19 фев 2018, 19:10

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

Отлично. Сообщите, если будет какая-либо дополнительная информация.

Спасибо.
Ответить