Сегодня немного расскажу о новой версии Terrasoft 3.4.0, некоторых ее особенностях по сравнению с предыдущей версией (3.3.2) и о методах перехода с 3.3.2 на 3.4.0.
Новое ядро Terrasoft 3.4.0
Было сделано очень много работы. Некоторые задачи давно уже планировали, некоторые появились по ходу работы. Обо всем рассказать не смогу, остановлюсь только на крупных, наиболее значимых вещах.
Ядро Terrasoft. Все началось с того, что в Delphi 2009 наконец-то появился полноценный, «нативный» юникод. Поэтому было решено перейти с Delphi 7 на последнюю версию, на тот момент это был Delphi 2010. А в процессе перехода появилась следующая версия: Delphi XE, переход на который уже занял несколько дней. И вот релиз Terrasoft 3.4.0 вышел при использовании самой новой версии Delphi. Таким образом значительно упростится переход на следующую версию (Delphi XE2), которая уже поддерживает компиляцию приложений под х64. А с этим уже не за горами и Terrasoft x64.
Главной целью перехода была полная поддержка юникода. Автоматически исправились все ошибки с юникодом в Terrasoft. Теперь при работе с русским языком не обязательно использовать русские региональные настройки, что раньше было обязательным условием. Можно использовать несколько языков для ввода, хранения и отображения информации. Полноценным стало использование юникода в отчетах Fast Report. Появилась возможность запускать Terrasoft используя юникодный логин.
Так как теперь все «родные» компоненты Delphi полностью поддерживают юникод, то стало возможным не использовать промежуточные компоненты, которые приходилось писать поверх стандартных (чтобы обеспечить ввод и отображение юникода). Вследствие этого уменьшилось почти в два раза использование GDI Objects: значение после запуска у 3.3.2 – 1564, 3.4.0 – 881. Также на 30% уменьшилось потребление памяти.
При переходе на новую Delphi решили полностью переписать компонент Layout. В конфигурации он представлен в виде Frame и FrameGroup, а также всех других компонентов, которые его поддерживают: DataGrid, WindowContainer, PageControl и т.д. Именно он управляет автоматическим размещением и выравниванием компонентов на формах. И вместе с этим заново реализована отрисовка ScrollBar в компонентах Terrasoft. Таким образом, исправили большое количество старых ошибок и, благодаря этому, значительно улучшилась отрисовка интерфейса. Лучше всего это можно увидеть при изменении размеров окон, сворачивании/разворачивании главного окна.
В новой версии была произведена оптимизация и переработка библиотек. В библиотеку TSWindowLibrary.dll включена часть TSDskObjectLibrary.dll, полностью вся TSDskWindowLibrary.dll и TSReportLibrary.dll. Пакеты компонентов теперь представлены с помощью: TSCoreComponents.bpl, TSComponentsExtra.bpl, TSComponents.bpl и Terrasoft.bpl. Благодаря этому при работе с не визуальными COM-объектами Terrasoft, подгружается только необходимый минимум: TSObjectLibrary.dll и TSCoreComponents.bpl. Как следствие уменьшилось потребление памяти при работе Service Desk Web-формы.
Переход с Terrasoft 3.3.2
Главным требованием при разработке 3.4.0 было обеспечить полную обратную совместимость с 3.3.2. Поэтому если у вас есть 3.3.2 и вы хотите использовать новое ядро 3.4.0, то это можно сделать максимально быстро. Например, у вас продукт Terrasoft XRM и вы хотите перейти на бинарные файлы 3.4.0.53.
План действия таков:
В таблице tbl_DatabaseInfo меняете используемую версию:
Чтобы перенести все новые конфигурационные функции нужно делать полноценный переход. А это уже нужно делать с помощью пакетов перехода. Новые пакеты перехода всегда делаем по требованию, для этого вам нужно обратиться в техническую поддержку и указать вашу текущую версию, используемый продукт и СУБД. Уже с октября мы начинаем отгружать первые пакеты перехода.
При экспорте отчета в PDF все символы языка, не установленного как 'language for non-unicode program', отображаются некорректно.
Экспорт в RFT проходит нормально.
Тестируем на 3.2.0.11, Windows Server 2003 "R2" Server
Terrasoft Support Team
Владимир, наиболее вероятной причиной возникновения подобной проблемы является особенность версии FastReport, с которой интегрирован программный продукт Terrasoft CRM для генерации отчетов. Данная проблема не воспроизводится на новой версии генератора отчета FastReport, интеграция с которой используется при разработке программного продукта Terrasoft CRM 3.3, официальный выход которого запланирован на ближайшее будущее. О выходе нового программного продукта с исправленной проблемой FastReport Вы сможете узнать на сайте Terrasoft.
Продолжая тему Unicode (а конкретно, русских букв на машине с другим языком по умолчанию), заметил еще 2 вещи (в той же 3.2.0.11):
1. При создании письма из шаблона, поле Subject в MS Outlook показывается знаками вопроса вместо русского названия
2. В Rich Text (например Контрагенты-Описание) невозможно ввести русский текст.
К сожалению, поле Subject в теме создаваемого письма не является юникодным, и повлиять на это из TerrasoftCRM не удается, т.к. это элемент MS Outlook.
Насчет RichText - из конфигурации также повлиять не удастся, компонент реализован в ядре. В качестве варианта можно попробовать изменять шрифт.
Видимо, единственный путь - установить в "Пуск - Панель управления - Язык и региональные настройки" Русский язык.
Попробую для себя прояснить ситуацию:
1. Ведь мы задаем кодировку в шаблоне сообщения. Допускаю, что можно перекодировать из Unicode (которые в TS) в формат, понятный для Subject MS Outlook. Ведь, написать вручную в Subject русскими буквами потом можно
2. Смена шрифтов не помогла. Но зато при копировании из Word'a, например, текст виден нормально. Насколько я знаю, RichText умеет отображать Unicode, но не умеет его воспринимать при вводе. Было бы здорово добавить какой-то другой контрол для ввода Unicode-описаний.