Добрый день!

Модуль Advanced excel reports for Creatio он же Reports generator

Настройки по коду BpmReport

  • При отправке в Excel отчет получается битым

Путем экспериментов установил, что ошибка возникает при добавлении в отчет дробных чисел

  • Нашел в инструкции на модуль, что в настройках колонки есть возможность указать “Формат колонки”, пробовал туда указывать [Формат колонки с типом "Дробное число"] и просто [Дробное число], но ничего не получилось и результат тот же

 

Нравится

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

Добрый день.

 

Сделайте скриншот настроек для этой колонки.

 

Подтверждаю наличие проблемы. Попытки указать в формате ячеек Числовой или 0,00 ни к чему не привели.

вот что пишет Excel

 

Алексей С.,

 

проверьте, что в системной настройке "Формат колонки с типом "Дробное число" установлен корректный разделитель целой и дробной части согласно настроек excel.

 

Ирина Лазоренко,

Алла Савельева,

Настроил как в эксель, 0,00 но почему-то не применился формат колонки вообще, может в настройках отчета, что-то не правильно делаю?

Может у кого есть идеи?

Алексей,

 

изменения в системных настройках применяются после перезахода в приложение. Проверяли сразу после внесения изменений или после перезахода в приложение?

Ирина Лазоренко,

Проверял остается ошибка в excel

https://prnt.sc/srpqmg - настойки excel

https://prnt.sc/srppad - настройки отчета

https://prnt.sc/srpq2o - настройки переменной

Может что нибудь не так настроено ?

Алексей, добрый день!

 

разработчик решения воспроизвел ошибку. В планах выпустить обновление с исправлением до 15 июля. По результатам выпуска обновления напишу здесь.

Добрый день!

Имею подобные ошибки и проблему с бизнес-заказчиком.

https://community.terrasoft.ua/questions/dev-labskonstruktor-otchetovbpmreportoshibka-excel

Уточните, пожалуйста, обновление уже выпущено?

Спасибо!

Добрый день!

 

да, обновленный пакет уже опубликован на маркетплейс. Установите дополнение повторно из маркетплейс.

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

Здравствуйте. Есть вопрос: какой отчёт подойдёт под следующие требования:

1) Визуальный отчёт (график, не список), который отражает прогресс выполнения плана по продажам (есть поле с планируемой величиной и фактическим выполнением плана), с возможностью углубиться в фактический план (увидеть какие счета в него вошли)

Был перенастроен базовый раздел "Планирование" - туда тянется не продажа, а кастомное поле "Маржа" из объекта "Счёт". Попытались сделать гистограмму, но не смогли настроить шкалу (шкала должна отражать плановое значение).

Может есть какие-нибудь советы?

Спасибо.

Нравится

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

Вообще, по описанию чем-то похоже на воронку продаж или сквозную воронку.

specs_dashboards_sales_pipeline.png 

Возможно, удастся решить с её помощью? Также у блока итогов «график» есть разные режимы, в том числе и воронка.

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

Зверев Александр,

Спасибо. Попробую Ваши варианты.
Появился ещё один вопрос:
Имеем график с типом "Гистограмма" где по оси Х - ответственный, а по оси Y - Сумма всех продаж ответственного за текущий квартал. Если нажать на столбец гистограммы и выбрать пункт "Показать данные" то откроется подробный список со всеми продажами для ответственного, НО этот список не отфильтрован по текущему кварталу. В нём содержатся вообще все продажи данного ответственного.
Есть какая-то возможность, чтобы этот список был отфильтрован по текущему кварталу? Спасибо.

Странно, проверил на 7.15.2, создал динамическую группу по дате создания равной текущему кварталу, стандартная диаграмма «Количество активных продаж по менеджерам» при заходе в неё фильтруется, как целиком, так и список по каждому ответственному.

Зверев Александр,

Забыл уточнить, график с типом "Гистограмма", о котором я писал, создан в разделе "Итоги", откуда нет доступа к динамическим группам.

А вы настраивали в графике две серии? Одну - по счетам (факт), другую по другому объекту (план)?

Владимир Соколов,

Да, две серии, где одна серия - План это фиксированное число, связанное с контактом - ответственным через таблицу, а вторая серия - Факт это сумма по всем продажам для конкретного ответственного. Группировка по контакту ответственного.

Есть какая-то возможность, чтобы этот список был отфильтрован по текущему кварталу?

В комментариях на этом сайте в любых непонятных случаях предлагают создать view и работать с ней.wink Для построения графика по всем за квартал и с возможностью проваливания в список для каждого тоже за кавртал может подойти как раз этот способ.

Зверев Александр,

Окей, принято. Спасибо за советы и помощь

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

Добрый день.

Есть используемые разделы Лиды, Тендеры, Продажи. Для того чтобы посмотреть количество завершенных или не завершенных проектов по ответственному, необходимо заходить в каждый раздел и смотреть там. А необходима вся картина целиком: Ответственный и все продажи, тендеры и лиды по нему с определённым фильтром - как это можно сделать?

Был другой вариант, вести все записи в одном разделе (например Продажи) с присвоением типа продажа/лид/тендер - но тогда другая проблема: отображение колонок в разделе строго определенное. Есть возможность сохранять разные варианты отображения колонок?

Нравится

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

Попробуйте построить диаграмму "Список" в разделе "Контакты". Сделайте фильтр по текущему контакту. Добавьте в диаграмму колонку, нажмите "+", выберите интересующий объект, в котором контакт является ответственным, и постройте по нему показатель. Например, "+" -> "Продажа (по колонке Ответственный)" -> "Количество". Настройте фильтры для объекта.
В диаграмме отобразятся показатели по отфильтрованным в разделе "Контакт" контактам.

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

А настраивать колонки для разных фильтров можно с помощью дополнения https://marketplace.creatio.com/app/list-setup-folder-creatio

Или сделать схему по view, выбирающему при помощи union из интересующих таблиц нужные колонки в единообразном виде, создать раздел или справочник по ней. А потом смотреть в реестре или строить аналитику по ней.

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

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

Возможности:

  • удобный интерфейс настройки шаблонов в вашем браузере;
  • математические и логические выражения, тернарные, арифметические, побитовые операторы, операторы сравнения, функции для суммирования, объединения;
  • возможность применять различные стили в зависимости от типа данных;
  • применение фильтров к данным перед процессом выгрузки отчета;
  • объединение и связывание данных из разнородных источников, слияние, сводные таблицы, группировка данных;
  • программировать пользовательские макросы;
  • любые форматы дат и цифр;
  • генерация отчетов и выгрузка в формате Excel, PDF, HTML;
  • простая и понятная настройка печатных форм и таблиц;
  • возможность добавления графиков, диаграмм, гистограмм и т.д.;
  • возможность добавления изображений из базы данных;

 

Установить и попробовать можно по ссылке на маркетплейс

Более детально ознакомиться с возможностями можно по ссылке

Нравится

Поделиться

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

Добрый день!

Есть Террасофт 3.3.2

Не понятно как вывести стандартную форму фильтрации для отчета FastReport и как указать в это форме по каким поля фильтровать

Нравится

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

См., как сделано в стандартном отчёте «Взаиморасчеты», используемом в разделах «Контрагенты» и «Операции». Там есть карточка wnd_MutualSettlements, в её скрипте wnd_MutualSettlementsScript при нажатии «ОК» срабатывает код, где налагаются фильтры и запускается отчёт:

function btnOkOnClick(Control) {
	if (edtStartDate.IsNull || edtDueDate.IsNull) {
		ShowWarningDialog("Поле \"Дата с\" и \"дата по\" являются обязательным для заполнения");
		return false;
	}
	var StartDate = new Date(edtStartDate.Value);
	var DueDate = new Date(edtDueDate.Value);
	if (StartDate.getTime() > DueDate.getTime()) {
		ShowWarningDialog("Поле \"Дата с\" не может быть дольше поля \"дата по\"");
		return false;
	}
	StartDate.setHours(0, 0, 1);
	DueDate.setHours(23, 59, 59);
	edtMultiSelectOnChange(edtDebtorCreditor);
	var ds_AccountInMutualSettlements = 
		MutualSettlementsScript.ReportPreviewer.DatasetByUSI('ds_AccountInMutualSettlements');
	ds_AccountInMutualSettlements.Close();
	var ds_MutualSettlements = 
		MutualSettlementsScript.ReportPreviewer.DatasetByUSI('ds_MutualSettlements');
	ds_MutualSettlements.Close();
	EnableDatasetFilters(ds_AccountInMutualSettlements, false);
	EnableDatasetFilters(ds_AccountInMutualSettlements, true, 'IsActual');
	EnableDatasetFilters(ds_MutualSettlements, false);
	EnableDatasetFilters(ds_MutualSettlements, true, 'IsActual', 'DebtorCreditorID');
	MutualSettlementsScript.Report.Attributes('StartDate') = DateToStr(StartDate);
	MutualSettlementsScript.Report.Attributes('DueDate') = DateToStr(DueDate);
	ApplyDatasetFilter(ds_AccountInMutualSettlements, 'StartDate', 
		StartDate.getVarDate(), true);
	ApplyDatasetFilter(ds_AccountInMutualSettlements, 'DueDate', 
		DueDate.getVarDate(), true);
	ApplyDatasetFilter(ds_MutualSettlements, 'StartDate', 
		StartDate.getVarDate(), true);
	ApplyDatasetFilter(ds_MutualSettlements, 'DueDate', 
		DueDate.getVarDate(), true);
	if ((!!MutualSettlementsScript.DebtorCreditorIDs) &&
		('length' in MutualSettlementsScript.DebtorCreditorIDs) &&
		(MutualSettlementsScript.DebtorCreditorIDs.length > 0)) {
		ApplyDatasetIncludeFilter(ds_AccountInMutualSettlements, 
			'DebtorCreditorIDs', MutualSettlementsScript.DebtorCreditorIDs, true);
	}
	SendNotify(Self, MSG_OK);
}

Карточка указана в настройках записи в разделе «Отчёты».

На сколько я понял тут описана доработанная форма фильтрации,а имел ввиду стандартная которая формируется кнопкой "Установить фильтр" в окне FastReport. Форма с набором фильтров у меня сейчас формируется, отчет работает, но единственное что не работает это фильтрация записей отчета по выбранным фильтрам. Как передать в отчет параметры фильтрации?

Стандартно в 3.3.2 в окне FastReport нет такой кнопки «Установить фильтр»:

Это может быть доработка, без её анализа сложно сказать, что делаете не так.

Я имел ввиду кнопку "Установить фильтры" в меню редактора FastReport

Кнопка между Обновить и Выберите родительский отчет

 

Вот еще скриншоты и исходники

Посмотрите, как сделана фильтрация для обычных отчётов, вроде «Адресной книги контрагентов». Там в sq, по которой строится ds отчёта, предусмотрены соответствующие фильтры.

Добавил фильтр в запросе не помогло.Не понятно как привязать параметры из формы фильтрации как запросу

есть идеи в чем проблема?

 

На скриншоте окна фильтров их видно намного больше, чем Вы настроили в запросе.

Я настроил пока то что пытался фильтровать. Зачем настраивать дальше если даже то что настроено не работает?

Посмотрите в профайлере, какой запрос идёт в базу. Может, в sq не добавлено или добавлено не так это поле.

WHERE(NOT (([tbl_Task].[OwnerID] IN (@P1)))

что такое @P1?

проблема в NOT

буду смотреть как она появляется

 

Зверев Александр спасибо за Profiler

@P1 — параметр, там в конце запроса передают через запятую их значения.

не пойму передается NOT хотя в фильтре стоит "="

Возможно, закешировалось, попробуйте изменить туда-сюда и пересохранить схему.

помогло. спасибо

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

Добрый день!

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

 

Нравится

1 комментарий
Лучший ответ

Вариантов много например так: создайте объект (по которой в дальнейшем можно и деталь сделать прикрепленную к обращению и отчет построить ) в которой будут колонки:

1) Id обращения (или сразу номер обращения для отчета)

2) код статуса (или сразу название статуса для отчета)

2) время установки статуса

3) время закрытия статуса

Создайте БП который по смене статуса будет вносить корректировки в выше созданый объект. А по созданию обращения делать первую запись. Таким образом при переходе в согласование например смотрите какой статус был раньше (в обращениях была колонка - приведущий статус) и для объекта меняете время закрытия преведущего статуса для текущего обращения. И вносите время установки для текущего статуса. Как то так.

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

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

И как вариант можно настроить журнал изменения на отслеживание изменения статуса обращения и оттуда дергать данные для отчета. Вместо журнала изменений можно использовать вариант с тригером в БД для тех же целей (логирование изминения статуса обращения).

 

 

 

 

Вариантов много например так: создайте объект (по которой в дальнейшем можно и деталь сделать прикрепленную к обращению и отчет построить ) в которой будут колонки:

1) Id обращения (или сразу номер обращения для отчета)

2) код статуса (или сразу название статуса для отчета)

2) время установки статуса

3) время закрытия статуса

Создайте БП который по смене статуса будет вносить корректировки в выше созданый объект. А по созданию обращения делать первую запись. Таким образом при переходе в согласование например смотрите какой статус был раньше (в обращениях была колонка - приведущий статус) и для объекта меняете время закрытия преведущего статуса для текущего обращения. И вносите время установки для текущего статуса. Как то так.

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

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

И как вариант можно настроить журнал изменения на отслеживание изменения статуса обращения и оттуда дергать данные для отчета. Вместо журнала изменений можно использовать вариант с тригером в БД для тех же целей (логирование изминения статуса обращения).

 

 

 

 

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

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

Имеется TerrasoftCRM 3.3.2.245.

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

 

Нравится

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

См. тут (у вопроса юбилей!cheeky) и тут.

Спасибо.

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

Здравствуйте!
Подскажите пожалуйста как реализовать возможность экспорта отчета 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?

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