Доброго времени суток, коллеги.

Имеется TerrasoftCRM 3.3.2.245.

В отчетах FastReport я новичок, поэтому вопрос может показаться глупым: как настроить связь между двумя наборами данных? Свойство MasterDataset в наборе данных я нашел, а как указать состав полей по которым будет выполнятся связывание? По одинаковым именам полей в родительском и дочернем наборах данных связь по всей видимости тоже не устанавливается...

 

Нравится

2 комментария

Здравствуйте!
Подскажите пожалуйста как реализовать возможность экспорта отчета FR в xlsx. Доступно только xls, хоть в программе и прописаны все версии офиса. По большей части нужно для автоматического формирования и сохранения отчета. Если указывать в названии файла расширение xlsx - файл создается, но не открывается (((( На скрине - пользовательский экспорт отчета в Microsoft Excel.
Версия ТС - 3.4.0.38.
Спасибо!

Нравится

7 комментариев

Светлана, используемый в Terrasoft движок FastReport является сторонним компонентом, влиять извне на его работу не всегда есть возможность. Если он не поддерживает сохранение в XLSX, то нельзя.

Можно попробовать следующие обходные решения:

  • Сохранять файл в XLS, потом отдельно конвертировать файлы с помощью Microsoft OFC.
  • Полностью переписать построение отчёта, вместо FastReport использовать чисто программное формирование при помощи COM-объекта Excel, там можно и XLSX.

"Зверев Александр" написал: Если он не поддерживает сохранение в XLSX, то нельзя.

Судя по форумам, вполне поддерживает. Возможно, вопрос в используемой версии в TS

Печально(( движок FR тоже ведь не заменить?
Спасибо!

В Terrasoft встроена конкретная версия движка. Возможно, по ссылке более новая.

Версия FR 4.10.18

А Владимир привёл ссылку на 5.5.9.

Менять встроенный движок нельзя.

Показать все комментарии

добрый день!
"досталась" мне в наследство данная платформа, соглашалась на техническую поддрержку, но появилась потребность немного "усовершенствовать" работу коллег. Т.к. опыта работы с такими программами у меня нет - прошу помось и отвечать подробно, т.к. полный чайник я))))
Хотелось бы "залить" шаблон дилерского договора, и чтобы в нем при выборе клиента автоматически проставлялись данные занесенные в базу: нименования и реквизиты(инн, адрес и т.д.)
1. как прописать я более менее понимаю, что тут может быть строка - #Контрагент.контрагент>, #Контрагент.ИНН>...Но как ее записать в добавляемые поля после соединения с ТерраСофтом,чтоб каждый раз руками не вводить (как в скриншоте)? или данные запросы не так делаются?
2. один такой созданный шаблон запроса у меня был,он связан с продажами. Т.е. клиент запрашивает КП,заполняем окно продажи,переходим к продаже продукта и он заполняет все строки(тот же скрин из программы). Как мне в данном случае тоже сделать такой переход к моему шаблону договора? Т.е. все данные у меня занесены в контакты - я нажимаю на фирму Василий Пупкин - перехожу к заполнить договор и у меня выгружается заполненный его реквизитами договор?

Спасибо,надеюсь на вашу помощь

Нравится

2 комментария

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

На все Ваши вопросы есть ответ в этом видео: Интеграция с пакетом приложений MS Office

Павел,спасибо огромное!!! очень познавательно,а лучше наглядно видно. Пока остался один вопрос как связать отчет непосредственно с дилером, но думаю может пока буду реализовать запрос и отображение отчета сама приду к решению...будем пробовать

Показать все комментарии

Подскажите пожалуйста, как можно добавить опцию "Перейти к" в контекстное меню отчета?

Нравится

5 комментариев

Здравствуйте, Юрий!

Если мы говорим об отчетах Fast Report, то о такой возможности нам не известно. Попробуйте уточнить о ней у разработчиков Fast Report.

Возможно, для реализации Вашей задачи Вам подойдет использование гиперссылок в Fast Report.
Якорь (anchor) – один из элементов системы гиперссылок, которая позволяет при щелчке на объекте готового отчета (в окне предварительного просмотра) перейти на элемент, связанный с этим объектом.
Якорь – это специальная метка, которая устанавливается методом Engine.AddAnchor. Якорь имеет имя, и ему соответствует номер страницы и позиция на странице. Перейти на якорь с указанным именем можно, поместив в свойство URL любого объекта отчета строку вида:
#ИмяЯкоря
или
#[ИмяЯкоря]
В последнем случае, при построении отчета FastReport раскроет выражение, находящееся в квадратных скобках.
При щелчке на этом объекте произойдет переход на то место отчета, где был добавлен якорь.
Якоря удобно использовать при построении раздела "Содержание" со ссылками на соответствующие разделы.

Если такой вариант решения Вам не подойдет, тогда опишите более подробно задачу, которую хотите реализовать, мы попробуем предложить подходящее решение.

Нет, речь не идет об отчетах Fast Report. Речь идет об отчете, который унаследован из wnd_BaseReportWindow.

Уточните, пожалуйста, точное название используемой версии Terrasoft (можно посмотреть в свойствах файла TSClient.exe)?

Terrasoft 3.4.0.130

К сожалению, не могу найти в базовой конфигурации окно wnd_BaseReportWindow.

Возможно, Вы имели ввиду wnd_BaseReport?

Показать все комментарии

Добрый день, коллеги! Подскажите, пожалуйста, есть ли в стандартных возможностях системы адаптировать выгрузку древовидного грида в Excel. Сейчас формат выгрузки представляет собой перечисление в строку всех записей грида по порядку независимо от уровня, а хотелось бы увидеть эту иерархию также в Excel. Если нет полноценной адаптации, то возможно вы можете подсказать, какие есть варианты выгрузки с сохранением структуры состоящей из 3-х уровней:
1 уровень (главный)-менеджер
2 уровень-клиент
3 уровень-направление

Нравится

5 комментариев

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

Базовой реализации подобного решения нет.
Для того, чтобы реализовать подобную выгрузку, необходимо создавать свой отчет с помочью кода.

А в User query можно же задать подчиненные детали, а потом на их базе сделать Excel-отчет. И будут нужные вам уровни

Можно сделать через пользовательские запросы, но это будет не так просто.
Если бы был пример детали (скриншот), можно было более глубоко понять задачу и предложить оптимальный вариант решения.

Нам также подойдет вариант с разделением этих 3-х уровней на столбцы в Excel
но вопрос в том, как написать это кодом, исправив формат стандартной выгрузки лишь в одном разделе

менеджер клиент направление

"Кочев Антон Сергеевич" написал:с разделением этих 3-х уровней на столбцы

Из данного описания совсем непонятно, как у вас реализованы эти уровни.

На обучении разработке TS 3.x давали пример, как из TS создавать Excel-файл.

Показать все комментарии

Добрый день,
по умолчанию fast report выводит данные в мастер дата бесконечно сверху вниз, как сделать чтобы он выводил бесконечно слева-направо ?

Нравится

2 комментария

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

Это можно реализовать с помощью элемента управления Cross-tab object.

спасибо, попробую

Показать все комментарии

Скажите, где в диаграмме fastreport в pie, сделать так, что бы не было наложение текста
график

Нравится

0 комментариев
Показать все комментарии

Приветствую Вас!

у нас есть отчет "Звонки за период" типа Excel
Проблема в том что он выгружает разные данные за один и тот же период, если загружать отчет подряд несколько раз (все разы разные данные)

Посмотрели в профайлере какие запросы выполняются в момент создания отчета, картинку прикладываю

какая то не понятная логика там, начала top 10000 потом top 20000 и т.д. Зачем это делается?
есть предположение что данные где то кэшируется, поэтому результат в итоге не верный каждый раз.

Вопрос 1 : почему так происходит, и как этого избежать? (может быть отключить кеширование?)
Вопрос 2: можно ли как то поменять сам sql текст запроса который генерируется для отчета Excel. ?

Нравится

3 комментария

Андрей, информации недостаточно, чтобы сказать что-то конкретное.

Что это за отчёт, по каким данным строится, стандартный он или самодельный?
Откуда в системе взялась таблица «tbl_Call_9ABFB7C1»? На стандартную не очень похожа.
В чём различие данных в разных запусках отчёта?

Да, и какая у Вас версия системы?

был лайт-переход с версии 3.3.2 на 3.4.1

"tbl_Call_9ABFB7C1" это псевдоним "[dbo].[tbl_Call]"

часть первого запроса из профайлера:
exec sp_executesql N'SELECT TOP 10000
[tbl_Call_9ABFB7C1].[CallNumber] AS [Col_0D6C9245],
[tbl_Call_9ABFB7C1].[PhoneNumber] AS [Col_8C1120A7],
[J0_tbl_ITService_CEE4647D].[Name] AS [Col_8497D798],
[J0_tbl_ITService_CEE4647D].[ID] AS [Col_8497D798ID],
[J1_tbl_Contact_C44A0EC8].[Name] AS [Col_3713C6C7],
[J1_tbl_Contact_C44A0EC8].[ID] AS [Col_3713C6C7ID],
[J3_tbl_ITService_CEE4647D].[Name] AS [Col_8C0C09B4],
[J3_tbl_ITService_CEE4647D].[ID] AS [Col_8C0C09B4ID],
[J2_tbl_ITServiceI_D7DD168A].[ID] AS [Col_D59DDC1B],
[J4_tbl_ITServiceC_8912228E].[Name] AS [Col_2BD3F2E3],
[J4_tbl_ITServiceC_8912228E].[ID] AS [Col_2BD3F2E3ID],
[J5_tbl_ITServiceP_26DC7F2F].[Name] AS [Col_36E2E264],
[J5_tbl_ITServiceP_26DC7F2F].[ID] AS [Col_36E2E264ID]
FROM
[dbo].[tbl_Call] AS [tbl_Call_9ABFB7C1] ....
.... и далее куча join'ов

Остальные такие же, отличается только количество TOP

Отчет этот самодельный, выгружает звонки за период, создан в конструкторе запросов для отчета типа Excel, на клиенте.

Данные отличаются по количеству записей
например выгружаем звонки за прошлый месяц, получается 1360 записей,
сразу же делаем следующую выгрузку, получается 1425. И так каждый раз.

Причем если напрямую на сервере сделать последний запрос из профайлера (который select top 40000)
данные получаются корректные, т.е. как есть.

подозреваю, что именно из за того что делается несколько одинаковых запросов подряд (отличается только количество TOP), данные считаются неправильно, но может быть причина в другом.

Если это самостоятельно разработанный отчёт, то что-то определённое сказать сложно. Проверяйте его настройки, всё ли верно там заполнено. Проверьте свойства и отчёта, и запроса, по которому он строится. Вот инструкция, об Excel-отчётах на стр. 166, о запросах на стр. 182.

Показать все комментарии

Имеем Windows 8.1, а потом и 10ка, TS 3.4.1.171 и Exel 2010 32разряда. Все лицензионное.
До какого-то момента все отчеты Exel работали, вот не помню когда это началось. И вот теперь отчет как-бы генерится, выводится на экран строка заполнения данных в Exel, причем на это время даже появляется Exel в панели задач, но по окончанию генерации отчета, из панели Exel пропадает и оего окно не открывается. Открыв диспетчер задач, вижу Exel среди фоновых процессов, причем столько копий, сколько раз запустил данный отчет.
Помогите исправить ситуацию. Повторю, что до какого-то момента все замечательно работало, после этого никаких переинсталляций данных пакетов не было.

Нравится

22 комментария

Здравствуйте.
Если, как Вы сообщаете, версия Террасофт осталась та же, конфигурация не изменялась, то логично предположить, что проблема в чём-то ином. Возможно Windows "затянула" какие-то обновления, возможно установились обновления на пакет MS Office, если есть антивирус, возможно он обновил базы и распознаёт интеграцию Террасофт с Excel, как угрозу. Второй аспект этой ситуации - это то, что если посмотреть документацию, то среди официально декларируемых операционных систем для работы Террасофт, Windows 8 и Windows 10 не фигурируют.

Спасибо конечно за комментарий, но так и не понял его какой-то полезности для меня ) что нужно сделать, чтобы исправить?

Попробуйте сгенерировать отчёт на другом компьютере, где используются предыдущие версии Windows и Office, поддерживаемые Террасофтом официально. Если там работает, то дело в конкретном компьютере и установленном там софте.

То есть моя ситуация никому не известна и полезных советов "что делать?" не ждать? Менять новый компьютер на старый и переход на новый заоблачный срм - не предлагать )

Весь софт работает под администратором?
Если и там проблемы, можно попробовать запустить отладчик и понять, где именно сваливается. Может, в новом Excel убрали какое-то свойство, к которому обращается.

весь софт с правами администратора, ранее все работало, с тех пор софт не менялся. На других компьютерах под ХР и более ранним Офисом отчет работает. В меню Екселе есть надстройка подключения Террасофта. Отладчик чего? Попробую переустановить Ексель, напишу результат.

Здравствуйте. Конечно переустановить можно, если проблема в "апдейтах" MS Office. Но, это далеко, не факт. В данной ситуации рекомендую, ещё, посмотреть в сторону ОС.

Мария, вы, как настоящая женщина, все загадками ) можно конкретнее - нажать туда и сделать то-то? посмотреть, подмигнуть конечно можно, и что дальше? )

Сергей, я как настоящая женщина, очень загадочна :smile: Но по существу, конкретнее не сообщу. Если Вы проанализируете ход общения, то сможете заметить, что проблема не в приложении. Единственное, что могла бы предложить - это попробовать "откатить" обновления ОС или MS Office.

несмотря на отсутствие официальной совместимости вроде работает оно под 10кой :)
а что за отчет то? как экспорт вызывается?
штатно попробовал из fastreport кнопкой экспорт в xls - ок
экспорт реестра в xls - ok

экспорт в Exel работает нормально,
Word отчеты генерятся и выводятся нормально
не выводит Инструменты/Отчеты/Отчет Exel, что-то с ним перестал дружить, ранее выводил

Снес и Переустановил Офис 2010, ничего не поменялось к сожалению, но вот еще что заметил - если Отчет ексель работает с шаблоном, то он выводится и работает, как должен работать - нет вопросов, а если без шаблона, то, как писал ранее - ексель висит в фоновом режиме и ничего не выводит. На другом компьютере работает и этот ) Кто что подскажет, как исправить?

Как вариант исправления - сделать на все запросы ексель шаблоны )

Смотрели логи приложения, что они говорят?

где их смотреть?

Путь где находятся логи приложения:
C:\Users\[ТекущееИмяПользователя]\AppData\Roaming\Terrasoft\[ВерсияTS]\Logs
где, C:\Users\[ТекущееИмяПользователя]\AppData\Roaming это команда %AppData%

В этой папке Вас интересует файл с именем: TSClient_[НумерацияПоВозрастанию].log

Добрый день, Там есть только старые логи. Сегодня запустил отчет, как обычно он повис в фоновом режиме и никаких логов от сегодня нет.

Включаем JITDebug (прикрепил архив).
Открываете сервис scr_UserReportCommon, в нем находите функцию PrepareExcelReport. Устанавливаете точку остановки (breakpoint):

Сохраняем сервис, перезапускаем Terrasoft, выполняем кейс. Отлаживаемся (проходим по коду с заходом в каждую функцию). Во время отладки у Вас возникнет исключение на определенной строке, необходимо проанализировать код вызвавший исключение, посмотреть какие данные содержат переменные. Возможно в переменных содержатся не корректные данные или нет доступа к COM объекта Excel.

Если нет программного доступа к Excel, необходимо проверить параметры безопасности: Файл -> Параметры -> Центр управления безопасности -> Параметры центра управления безопасности -> Внешнее содержимое:

После применения новых настроек безопасности, перезапускаем Terrasoft и заново выполняем кейс.
Если проблема воспроизводится, тогда перезапускаем Terrasoft от имени администратора. Выполняем кейс, если проблема ушла, значит проблему нужно устранять в окружении системы.

Спасибо. С отладкой наверно для меня сложно, а вот управление безопасностью - наверно оно. По-моему проблема началась, когда ексель вдруг стал открывать таблицы в защищенном режиме, ранее открывал сразу для редакторования. Вы указали параметры безопасности для нормальной работы? они у меня такие же, как и указанные Вами. Или их нужно поменять?

Вы уже сами дали ответ"По-моему проблема началась, когда ексель вдруг стал открывать таблицы в защищенном режиме, ранее открывал сразу для редакторования." на свой вопрос, пройдитесь по элементам центра безопасности и попробуйте понизить безопасность.
И на всякий случай убедитесь, что антивирус не блокирует доступ к excel во время создания отчета.

Еще попробуйте выполнить рекомендации предоставленные на сайте support.office.com

Да по видимому так и есть. Не подскажете путь, где открываются временные ексель файлы при работе отчета Террасофта? Чтобы указать его, как надежное расположение.

По умолчанию, это временная системная папка (%Temp%)

Показать все комментарии

Добрый день! Довольно плохо работает с Office 2013. В админской части удалось найти массив-переменную с поддерживаемыми версиями Office и дописать туда 15.0. но беды не кончились. При формировании почти любого отчёта Excel вываливается ошибка "OLE error 80020102".
Как быть в такой ситуации?

Нравится

1 комментарий