powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Fastreport, как поделить значение колонки пополам
13 сообщений из 13, страница 1 из 1
Fastreport, как поделить значение колонки пополам
    #39230713
buzztekk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Есть таблица pricecards в ней есть поле Price (цена)
и вот этот pricecards.price типа string.
Мне нужно вывести это поле разделенное пополам
Как это сделать?
Извините за глупый вопрос, я в этом еще совсем не разбираюсь
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39231046
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buzztekk,

по FastReport ещё можно здесь спросить http://www.sql.ru/forum/delphi
Там часто помогают.
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39231531
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buzztekk,

Данные в отчет обычно попадают из запроса => в запросе можно сделать cast к нужному типу и поделить.

Код: plsql
1.
Select price, cast(price as numeric(18,2))/2 as pricedivided from my_table
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39231532
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buzztekk,

... Или в скрипте.
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39233478
buzztekk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,
Спасибо за совет
Добавил в запрос следующее:

select t.PriceShort Price,
cast(t.PriceShort as numeric(18,2))/2 as Pricedivided,
from supermag.SVPriceCard t
order by 1

Появилось новое поле pricedivided типа decimal
но при вызове отчета возникает какая то ошибка(


----- Прерывание работы программы -----
сообщение: "Неправильный результат из-за исключения, возникшего во время операции. См. описание исключения в InnerException."
исключение: System.Reflection.TargetInvocationException
источник: System
метод: Void RaiseExceptionIfNecessary()
в System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
в Sm.Core.RunWorkerCompletedEventArgs`1.get_Result()
в Sm.FastReports.Domain.FastReportDomainPanel.<>c__DisplayClass2.<RunSingleReport>b__0(Object sender, RunWorkerCompletedEventArgs`1 e)
----- Причина исключения, уровень вложения 1 -----
сообщение: "ORA-01722: неверное число"
исключение: System.Data.OracleClient.OracleException
источник: Sm.BusinessServer
данные: соединено с: База даных=TESTDB; Пользователь=adm
текст команды: select t.Article, t.Name, t.Country, t.PriceShort Price,
cast(t.PriceShort as numeric(18,2))/2 as Pricedivided,
t.RubName,
t.UnitName, t.QtyPrint, t.BarCode,
decode(t.PLU,null,'','Весы: '||t.PLU) PLU
from supermag.SVPriceCard t
order by 1
тип команды: Text
метод: Boolean ReadBuffer(System.Collections.ObjectModel.ReadOnlyCollection`1[TRecord] ByRef)
в Sm.BusinessServer.BackgroundReaderBase`1.ReadBuffer(ReadOnlyCollection`1& result)
в Sm.FastReports.Server.FastReportBO.Sm.FastReports.Link.IFastReportBO.FillTableDataNext(BusinessOperation businessOperation, ReadOnlyCollection`1& dataTable)
в Sm.FastReports.SupermagFastReportConnection.<>c__DisplayClass8.<FillTableData>b__5(IFastReportBO bo)
в Sm.BusinessServer.LocalServer.LocalClient`1.Do(Action`1 action)
в Sm.FastReports.SupermagFastReportConnection.TransactedBusinessObject.Do(Action`1 action)
в Sm.FastReports.SupermagFastReportConnection.FillTableData(DataTable table, String selectCommand, CommandParameterCollection parameters)
в FastReport.Data.DataConnectionBase.FillTable(TableDataSource source)
в FastReport.Data.TableDataSource.LoadData(ArrayList rows)
в FastReport.Data.DataSourceBase.Init(Relation relation, String filter, SortCollection sort, Boolean useAllParentRows)
в FastReport.Data.DataSourceBase.Init(DataSourceBase parentData, String filter, SortCollection sort, Boolean useAllParentRows)
в FastReport.DataBand.InitDataSource()
в FastReport.Engine.ReportEngine.RunDataBand(DataBand dataBand)
в FastReport.Engine.ReportEngine.RunBands(BandCollection bands)
в FastReport.Engine.ReportEngine.RunReportPage(ReportPage page)
в FastReport.Engine.ReportEngine.RunReportPages()
в FastReport.Engine.ReportEngine.RunReportPages(ReportPage page)
в FastReport.Engine.ReportEngine.Run(Boolean runDialogs, Boolean append, ReportPage page)
в FastReport.Report.Prepare(Boolean append)
в Sm.FastReports.Domain.FastReportDomainModel.ExecuteReport(Report report, String reportFile, List`1 commonParameters, List`1 objectParameters, Int32 moduleRole, Int32 functionRole)
в Sm.FastReports.Domain.FastReportDomainPanel.Report_DoWork(Object sender, TaskWorkEventArgs`3 e)
в Sm.Core.TaskWorker`3.OnDoWork(DoWorkEventArgs e)
в Sm.Core.TaskWorkerBase.InternalBackgroundWorker.OnDoWork(DoWorkEventArgs e)
в System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39233497
СТУДЕНТ123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buzztekkДобрый день. Есть таблица pricecards в ней есть поле Price (цена)
и вот этот pricecards.price типа string.
Мне нужно вывести это поле разделенное пополам
Как это сделать?
Извините за глупый вопрос, я в этом еще совсем не разбираюсь

"...Есть таблица pricecards .... pricecards.price типа string..." гарантируете что там только числа? произвольного текста нет? разделитель дробной части точка (если у Вас MSSQL)

---- ближе к делу:
выполните запрос
Код: sql
1.
Select Count(*) from supermag.SVPriceCard where isnumeric(PriceShort) = 0

если вернет NULL то все хорошо, ищите ошибку в формулах самого отчета, иначе показывайте результат запроса.
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39233596
buzztekk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СТУДЕНТ123,

Спасибо за подсказку, натолкнул меня на мысль.
Короче я понял почему, у меня в стоковом поле Priceshort строки вида "120.00"
То есть все через точку, поэтому и cast(t.PriceShort as numeric(18,2))/2 не помогает, ему видимо запятая нужна
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39233608
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buzztekk, кто вас вообще надоумил так цифири хранить?
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39233620
СТУДЕНТ123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ПО самописное, то меняйте типы данных в строгом соответствии самим данным, кучу проблем решите.
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39233985
buzztekk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buser, Студент123
Я только начал осваивать все эти премудрости, отчеты, поэтому продираюсь через терни)
В итоге решил вообще посмотреть какие есть поля в таблице и обнаружил
что есть нормальный Price типа Decimal!! Аллилуя
Но возник новый вопрос
Как сделать так, чтобы он выводил 00 копеек, так просто он их не выводит,
только если цена 60,50 он выведет их, а если 60 то будет просто 60
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39233997
СТУДЕНТ123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаком с самим Fastreport, но Вам нужно копать в сторону форматирования ячейки в самом отчете, посмотрите в свойствах там наверняка должно быть.

картинку выдрал из гугла, наверное это что Вам нужно
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39234004
СТУДЕНТ123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Fastreport, как поделить значение колонки пополам
    #39234029
buzztekk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СТУДЕНТ123,
Спасибо больше, нашел)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Fastreport, как поделить значение колонки пополам
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]