|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
Добрый день. Есть таблица pricecards в ней есть поле Price (цена) и вот этот pricecards.price типа string. Мне нужно вывести это поле разделенное пополам Как это сделать? Извините за глупый вопрос, я в этом еще совсем не разбираюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 11:58 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 17:50 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
buzztekk, Данные в отчет обычно попадают из запроса => в запросе можно сделать cast к нужному типу и поделить. Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 15:59 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
buzztekk, ... Или в скрипте. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 16:00 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
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) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2016, 15:25 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
buzztekkДобрый день. Есть таблица pricecards в ней есть поле Price (цена) и вот этот pricecards.price типа string. Мне нужно вывести это поле разделенное пополам Как это сделать? Извините за глупый вопрос, я в этом еще совсем не разбираюсь "...Есть таблица pricecards .... pricecards.price типа string..." гарантируете что там только числа? произвольного текста нет? разделитель дробной части точка (если у Вас MSSQL) ---- ближе к делу: выполните запрос Код: sql 1.
если вернет NULL то все хорошо, ищите ошибку в формулах самого отчета, иначе показывайте результат запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2016, 15:41 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
СТУДЕНТ123, Спасибо за подсказку, натолкнул меня на мысль. Короче я понял почему, у меня в стоковом поле Priceshort строки вида "120.00" То есть все через точку, поэтому и cast(t.PriceShort as numeric(18,2))/2 не помогает, ему видимо запятая нужна ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2016, 17:23 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
buzztekk, кто вас вообще надоумил так цифири хранить? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2016, 17:32 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
Если ПО самописное, то меняйте типы данных в строгом соответствии самим данным, кучу проблем решите. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2016, 17:40 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
buser, Студент123 Я только начал осваивать все эти премудрости, отчеты, поэтому продираюсь через терни) В итоге решил вообще посмотреть какие есть поля в таблице и обнаружил что есть нормальный Price типа Decimal!! Аллилуя Но возник новый вопрос Как сделать так, чтобы он выводил 00 копеек, так просто он их не выводит, только если цена 60,50 он выведет их, а если 60 то будет просто 60 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 09:45 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
Я не знаком с самим Fastreport, но Вам нужно копать в сторону форматирования ячейки в самом отчете, посмотрите в свойствах там наверняка должно быть. картинку выдрал из гугла, наверное это что Вам нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 09:57 |
|
Fastreport, как поделить значение колонки пополам
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 10:01 |
|
|
start [/forum/topic.php?fid=31&msg=39230713&tid=1533229]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 264ms |
total: | 390ms |
0 / 0 |