Сначала
Убедитесь, что Вы скачали и установили последнюю версию программы именно с официального сайта: Технологическая карта и Дефектовка. Копии, скачанные с других ресурсов, могут быть устаревшими.
Проблемы с регистрацией
Если с помощью полученных имени пользователя и регистрационного ключа не удаётся произвести регистрацию, проверьте следующее:
— имя пользователя вводится в точности так, как было указано в письме с ключом (регистр важен!)
— регистрационный ключ вводится одной строкой (некоторые почтовые программы могут отобразить слишком длинный ключ в две строки)
— ключ работоспособен только на том компьютере, с которого был взят идентификатор
Если ничего не помогло, то перезагрузите компьютер и сравните идентификатор в программе с отосланным Вами ранее. Редко, но он может измениться. В этом случае сообщите новый идентификатор и Вам будет отправлен рабочий ключ.
Проблемы при работе программ
Ошибки при добавлении или удалении элементов из базы, внесённые в базу изменения не сохраняются, купленная база не появляется в программе, при регистрации не запоминается ключ
Решение:
— Если Вы используете ОС Windows Vista и выше, отключите UAC (контроль учётных записей) или установите программу в папку, отличную от системной (Program Files)
либо
— Всегда запускайте программу с правами администратора:
Для программы Тех. карта: в свойствах файла TechCard.exe (находится в папке, куда установлена программа, обычно это C:Program Files (x86)TechCard) на вкладке Совместимость необходимо поставить галку для запуска программы от имени администратора.
Для программы Дефектовка: в свойствах файла DefectList.exe (находится в папке, куда установлена программа, обычно это C:Program Files (x86)DefectList) на вкладке Совместимость необходимо поставить галку для запуска программы от имени администратора.
Ошибка (при создании документа):
На форме найдено недопустимое поле со следующей ссылкой: [имя_ссылки]. Удалите её для корректного создания документов.
Решение:
Откройте редактирование формы документа и найдите поле с текстом [имя_ссылки]. Потом либо удалите его, либо исправьте на верное.
Ошибка (при создании документа):
«» is not a valid floating point value
Решение:
Данная ошибка может возникнуть при создании документов с длинными списками продуктов или работ/материалов, либо при переходе списка с одной страницы на другую;
Чтобы её исправить, сделайте следующее:
— откройте редактирование формы соответствующего документа
— найдите ту секцию, в которой выводится список (таблица) (обычно она имеет тип «MasterData»)
— щёлкните правой кнопкой мыши по секции и уберите в появившемся меню флажок с опции «Разрываемый» (если он установлен)
Ошибка (при создании документа, число в кавычках может быть любое):
«10,5» is not a valid floating point value
Решение:
В панели управления найдите раздел «Язык и региональные стандарты», на его первой вкладке нажмите кнопку Дополнительно и измените разделитель целой и дробной части на запятую. При работе с программой разделитель всегда должен быть запятой, иначе возможны ошибки при работе с базой и открытии сохранённых файлов.
Ошибка (при открытии блюда, только для программы Тех. карта):
«» is not a valid floating point value
Решение:
Обычно возникает, когда блюда, сохранённые в версии 1.3, пытаются открыть в версии 1.2. Обновите программу до последней версии.
Если это не помогло, откройте файл блюда обычным текстовым редактором, найдите строки, где после = ничего нет и впишите туда 0.
I’m trying to get a Double
from 10,000.00
:
aProductData.BuyPriceHT := 10000;
BuyPriceHTEdit.Text := FormatFloat('#,###.#0', aProductData.BuyPriceHT, FCurrencyFormat);
aProductData.BuyPriceHT := StrToFloat(BuyPriceHTEdit.Text, FCurrencyFormat); <-- error here
where aProductData.BuyPriceHT
is a Double
FCurrencyFormat := TFormatSettings.Create('en-US');
Note: To the good guys that are going to advice using Decimals
or Int64
types to store Currency in db.
I already did it is just that it still buggs me why it does not work.
Remy Lebeau
536k30 gold badges444 silver badges750 bronze badges
asked Dec 16, 2019 at 14:44
5
From the documentation of StrToFloat
:
Thousand separators and currency symbols are not allowed in the string.
Generally speaking, there are so many different ways you can write numbers and dates and times, that you don’t want to convert from strings (textual representations) to such values.
Typically you make sure always to store and transmit such values in numeric form (for instance, as integers, floats, or records of such values), and you only convert such a value to a textual representation when it is to be displayed in a GUI or written to a text file.
If you need to store or transmit it as text, use a strictly defined format. Then you can write your own converter that interprets that particular format without ambiguity.
answered Dec 16, 2019 at 19:34
Andreas RejbrandAndreas Rejbrand
104k8 gold badges274 silver badges378 bronze badges
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 |
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, unit2, unit3, unit4; type TForm1 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; vt1: TMenuItem; N7: TMenuItem; procedure N4Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure vt1Click(Sender: TObject); procedure N7Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var a, b, n, m, i, j: integer; Form1: TForm1; implementation { uses unit2,unit3,unit4; } {$R *.dfm} procedure TForm1.N4Click(Sender: TObject); begin form2.show; end; procedure TForm1.N6Click(Sender: TObject); begin close; end; procedure TForm1.N5Click(Sender: TObject); begin form3.StringGrid1.rowCount := form2.StringGrid1.ColCount; form3.StringGrid1.ColCount := form2.StringGrid2.ColCount; form3.show; end; procedure TForm1.vt1Click(Sender: TObject); var i, j, n, e, f, c: integer; z, z1, z2, fun: real; k: string; begin form4.StringGrid1.rowCount := (form2.StringGrid1.ColCount) + 1; form4.StringGrid1.ColCount := (form2.StringGrid2.ColCount) + 1; for I := 0 to form4.StringGrid1.rowCount - 1 do for j := 0 to form4.StringGrid1.ColCount - 1 do form4.StringGrid1.Cells [i,j]:=''; { Подпись фикс. ячеек } n := form2.StringGrid2.ColCount; for j := 1 to n do begin k := inttostr(j); form4.StringGrid1.cells[j, 0] := 'b[' + k + ']'; end; m := form2.StringGrid1.ColCount; for i := 1 to m do begin k := inttostr(i); form4.StringGrid1.cells[0, i] := 'a[' + k + ']'; end; { Заполнение распределительной таблицы } e := 1; f := 1; c := 0; // z := 0; i := 0; j := 0; repeat z1 := strtofloat(form2.StringGrid1.cells[i, 0]); z2 := strtofloat(form2.StringGrid2.cells[j, 0]); if z1 < z2 then begin form4.StringGrid1.cells[f, e] := floattostr(z1); form2.StringGrid1.cells[i, 0] := '0'; z := (z2 - z1); form2.StringGrid2.cells[j, 0] := floattostr(z); fun := fun + z1 * strtofloat(form3.StringGrid1.cells[f - 1, e - 1]); { Целевая функция } i := i + 1; e := e + 1; c := c + 1; end else begin form4.StringGrid1.cells[f, e] := floattostr(z2); form2.StringGrid2.cells[j, 0] := '0'; z := (z1 - z2); form2.StringGrid1.cells[i, 0] := floattostr(z); fun := fun + z2 * strtofloat(form3.StringGrid1.cells[f - 1, e - 1]); { Целевая функция } j := j + 1; f := f + 1; c := c + 1; end; until n + m - 1 = c; { Целевая функция } form4.label2.caption := floattostr(fun); form4.show; end; procedure TForm1.N7Click(Sender: TObject); var // a: array [1 .. 10, 1 .. 10] of real; n, m, i, j, i0, j0: integer; min, fun, z1, z2, z: real; k: string; x, y: set of byte; begin form4.StringGrid1.rowCount := (form2.StringGrid1.ColCount) + 1; form4.StringGrid1.ColCount := (form2.StringGrid2.ColCount) + 1; for I := 0 to form4.StringGrid1.rowCount - 1 do for j := 0 to form4.StringGrid1.ColCount - 1 do form4.StringGrid1.Cells [i,j]:=''; { Подпись фикс. ячеек } n := form2.StringGrid2.ColCount; for j := 1 to n do begin k := inttostr(j); form4.StringGrid1.cells[j, 0] := 'b[' + k + ']'; end; m := form2.StringGrid1.ColCount; for i := 1 to m do begin k := inttostr(i); form4.StringGrid1.cells[0, i] := 'a[' + k + ']'; end; fun := 0; repeat min := MaxInt; // изначально ставим максимальное число for i := 0 to m - 1 do begin { нахождение min } if i in x then Continue; for j := 0 to n - 1 do begin if j in y then Continue; if (strtofloat(form3.StringGrid1.cells[j, i]) < min) then begin min := strtofloat(form3.StringGrid1.cells[j, i]); i0 := i; j0 := j; end; end; end; z1 := strtofloat(form2.StringGrid1.cells[i0, 0]); z2 := strtofloat(form2.StringGrid2.cells[j0, 0]); if (z1 > 0) AND (z2 > 0) then begin if z1 < z2 then begin form4.StringGrid1.cells[j0 + 1, i0 + 1] := floattostr(z1); form2.StringGrid1.cells[i0, 0] := '0'; // можешь это отключить - не надо z := (z2 - z1); form2.StringGrid2.cells[j0, 0] := floattostr(z); fun := fun + z1 * strtofloat(form3.StringGrid1.cells[j0, i0]); { Целевая функция } include(x, i0); // исключаем строку при последующем поиске минимального значения end; if z1 > z2 then begin form4.StringGrid1.cells[j0 + 1, i0 + 1] := floattostr(z2); form2.StringGrid2.cells[j0, 0] := '0'; // можешь это отключить - не надо z := (z1 - z2); form2.StringGrid1.cells[i0, 0] := floattostr(z); fun := fun + z2 * strtofloat(form3.StringGrid1.cells[j0, i0]); { Целевая функция } include(y, j0); // исключаем столбец при последующем поиске минимального значения end; if z1 = z2 then begin form4.StringGrid1.cells[j0 + 1, i0 + 1] := floattostr(z2); // или z1 - по выбору form2.StringGrid2.cells[j0, 0] := '0'; // можешь это отключить - не надо z := (z1 - z2); form2.StringGrid1.cells[i0, 0] := floattostr(z); fun := fun + z2 * strtofloat(form3.StringGrid1.cells[j0, i0]); { Целевая функция } include(x, i0); // исключаем строку при последующем поиске минимального значения И include(y, j0); // исключаем столбец при последующем поиске минимального значения end; end until min = MaxInt ; { Целевая функция } form4.label2.caption := floattostr(fun); form4.show; end; end. |
Problem
This technote provides a workaround for the Unhandled exception: EDatabase Error: Not a valid floating point value, error that occurs when running a Resource Supply and Demand pivot in IBM® Rational® Portfolio Manager (RPM).
Cause
The full error message:
Unhandled exception: EDatabase Error, '168,00' is not a valid floating point value for field 'fldRESOURCE_CALENDAR'
This issue occurs because the Regional Language Standard and Formats is set to Spanish or other languages whose decimal symbol and digit grouping symbol are not the same as US standard.
This issue has been identified as a product defect and has been logged under APAR PK27911.
Resolving The Problem
To workaround this issue, perform the following:
- Click on Start > Control Panel and open Regional and Language Options
- Select the Regional Options tab
- Under the Standard and Formats update the drop down to display English (United States)
[{«Product»:{«code»:»SSRR2G»,»label»:»Rational Portfolio Manager»},»Business Unit»:{«code»:»BU053″,»label»:»Cloud & Data Platform»},»Component»:»Pivots & Reports»,»Platform»:[{«code»:»PF033″,»label»:»Windows»}],»Version»:»7.0.0.0;7.0.1.1″,»Edition»:»»,»Line of Business»:{«code»:»LOB45″,»label»:»Automation»}}]
You are not logged in. Please login or register.
Active topics Unanswered topics
Pages 1
You must login or register to post a reply
1 2017-04-05 08:03:22
- kovalenko
- Member
- Offline
- From: Санкт-Петербург
- Registered: 2017-03-09
- Posts: 266
Topic: Ошибка » is not a valid floating point value
Дмитрий здравствуйте. Какая-то засада. Есть форма Ремонт и при попытке редактирования внесённой записи, вываливается такая ошибка. Что делать?! Проект отправил вам на support@drive-software.com
надо идти вперёд….
2 Reply by DriveSoft 2017-04-05 09:54:24
- DriveSoft
- Administrator
- Offline
- Registered: 2014-02-14
- Posts: 10,294
Re: Ошибка » is not a valid floating point value
Здравствуйте.
Отправьте пожалуйста снова.
Dmitry.
3 Reply by kovalenko 2017-04-05 11:49:56
- kovalenko
- Member
- Offline
- From: Санкт-Петербург
- Registered: 2017-03-09
- Posts: 266
Re: Ошибка » is not a valid floating point value
DriveSoft wrote:
Здравствуйте.
Отправьте пожалуйста снова.
Отправил.
надо идти вперёд….
4 Reply by kovalenko 2017-04-05 11:52:38
- kovalenko
- Member
- Offline
- From: Санкт-Петербург
- Registered: 2017-03-09
- Posts: 266
Re: Ошибка » is not a valid floating point value
DriveSoft wrote:
Здравствуйте.
Отправьте пожалуйста снова.
И ещё момент, всё произошло, как мне показалось, после попытки изменить поля с Целое число на Деньги. Потом всё вернул обратно, но…Может с этим и не связано.
надо идти вперёд….
5 Reply by kovalenko 2017-04-06 05:34:49
- kovalenko
- Member
- Offline
- From: Санкт-Петербург
- Registered: 2017-03-09
- Posts: 266
Re: Ошибка » is not a valid floating point value
kovalenko wrote:
DriveSoft wrote:
Здравствуйте.
Отправьте пожалуйста снова.
Отправил.
Дмитрий здравствуйте. С моей проблемой никак не помочь?
надо идти вперёд….
6 Reply by DriveSoft 2017-04-06 12:17:13
- DriveSoft
- Administrator
- Offline
- Registered: 2014-02-14
- Posts: 10,294
Re: Ошибка » is not a valid floating point value
kovalenko
Ошибка была в самой программе, скачайте пожалуйста последнюю бета версию 3.4
https://www.dropbox.com/s/4sb2tk75rauoj … b.zip?dl=0
Также по какой то причине в вашем проекте была ошибка в структуре БД, которая как то связана с удалением таблицы operation, поправил
Также я удалил внешний ключ application.id_completeness, т.к. он фактически не используется
Dmitry.
7 Reply by kovalenko 2017-04-06 12:29:24
- kovalenko
- Member
- Offline
- From: Санкт-Петербург
- Registered: 2017-03-09
- Posts: 266
Re: Ошибка » is not a valid floating point value
DriveSoft wrote:
kovalenko
Ошибка была в самой программе, скачайте пожалуйста последнюю бета версию 3.4
https://www.dropbox.com/s/4sb2tk75rauoj … b.zip?dl=0Также по какой то причине в вашем проекте была ошибка в структуре БД, которая как то связана с удалением таблицы operation, поправил
Также я удалил внешний ключ application.id_completeness, т.к. он фактически не используется
Спасибо ВАМ огромное!!!!
И как говорится нет худа без добра….я помог в выявлении бага))))
Ещё раз СПАСИБО!!!
надо идти вперёд….
8 Reply by DriveSoft 2017-04-06 12:41:14
- DriveSoft
- Administrator
- Offline
- Registered: 2014-02-14
- Posts: 10,294
Re: Ошибка » is not a valid floating point value
kovalenko
Да, спасибо за найденную ошибку.
Dmitry.
9 Reply by kovalenko 2017-04-06 13:22:45
- kovalenko
- Member
- Offline
- From: Санкт-Петербург
- Registered: 2017-03-09
- Posts: 266
Re: Ошибка » is not a valid floating point value
DriveSoft wrote:
kovalenko
Да, спасибо за найденную ошибку.
Дмитрий если позволите ещёвопрос.
У меня в форме Новый заказ в закладке Работы по заказу в подсчёте стоимости (предварительный вариант) есть поле, куда я ввожу скидку по стоимости работ. Так вот, если сумма к оплате 2000 и скидка 10% то в окне К оплате выводиться не 1800, а другая сумма, НО, после сохранения и повторного открытия этого заказа, уже всё ровно.К оплате 1800. Это не критично, но можно как-то исправить?
И ещё вопрос, при переходе в форму посредство кнопки Показать запись из Грида другой формы, у меня показывается конкретная запись, срабатывает фильтр. В том-же случае но при использовании кнопки Показать форму, у меня соответственно после перехода на новую форму, показываются все записи. Вопрос, при использовании функции Показать запись можно-ли в новой форме сбрасывать все фильтры для просмотра всех остальных записей? Можно конечно ручками отключать все параметры фильтрации, но может есть какой-либо вариант со скриптами и использовании отдельной кнопки, что-то вроде «Сбросить все фильтры поиска»?
надо идти вперёд….
10 Reply by DriveSoft 2017-04-07 12:25:07
- DriveSoft
- Administrator
- Offline
- Registered: 2014-02-14
- Posts: 10,294
Re: Ошибка » is not a valid floating point value
kovalenko wrote:
Дмитрий если позволите ещёвопрос.
У меня в форме Новый заказ в закладке Работы по заказу в подсчёте стоимости (предварительный вариант) есть поле, куда я ввожу скидку по стоимости работ. Так вот, если сумма к оплате 2000 и скидка 10% то в окне К оплате выводиться не 1800, а другая сумма, НО, после сохранения и повторного открытия этого заказа, уже всё ровно.К оплате 1800. Это не критично, но можно как-то исправить?
Проверил, на форме frmApplication ввожу скидку в компонент edDiscount, значение к Оплате в компоненте edPayment меняется сразу.
Или я не правильно понял?
kovalenko wrote:
И ещё вопрос, при переходе в форму посредство кнопки Показать запись из Грида другой формы, у меня показывается конкретная запись, срабатывает фильтр. В том-же случае но при использовании кнопки Показать форму, у меня соответственно после перехода на новую форму, показываются все записи. Вопрос, при использовании функции Показать запись можно-ли в новой форме сбрасывать все фильтры для просмотра всех остальных записей? Можно конечно ручками отключать все параметры фильтрации, но может есть какой-либо вариант со скриптами и использовании отдельной кнопки, что-то вроде «Сбросить все фильтры поиска»?
Пример, как очистить компоненты
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
Form1.Edit1.Clear;
Form1.Memo1.Clear;
Form1.CheckBox1.State := cbGrayed;
Form1.ComboBox1.dbItemID := -1;
Form1.DateTimePicker1.Checked := False;
end;
Dmitry.
11 Reply by kovalenko 2017-04-07 14:44:20
- kovalenko
- Member
- Offline
- From: Санкт-Петербург
- Registered: 2017-03-09
- Posts: 266
Re: Ошибка » is not a valid floating point value
DriveSoft wrote:
kovalenko wrote:
Дмитрий если позволите ещёвопрос.
У меня в форме Новый заказ в закладке Работы по заказу в подсчёте стоимости (предварительный вариант) есть поле, куда я ввожу скидку по стоимости работ. Так вот, если сумма к оплате 2000 и скидка 10% то в окне К оплате выводиться не 1800, а другая сумма, НО, после сохранения и повторного открытия этого заказа, уже всё ровно.К оплате 1800. Это не критично, но можно как-то исправить?Проверил, на форме frmApplication ввожу скидку в компонент edDiscount, значение к Оплате в компоненте edPayment меняется сразу.
Или я не правильно понял?kovalenko wrote:
И ещё вопрос, при переходе в форму посредство кнопки Показать запись из Грида другой формы, у меня показывается конкретная запись, срабатывает фильтр. В том-же случае но при использовании кнопки Показать форму, у меня соответственно после перехода на новую форму, показываются все записи. Вопрос, при использовании функции Показать запись можно-ли в новой форме сбрасывать все фильтры для просмотра всех остальных записей? Можно конечно ручками отключать все параметры фильтрации, но может есть какой-либо вариант со скриптами и использовании отдельной кнопки, что-то вроде «Сбросить все фильтры поиска»?
Пример, как очистить компоненты
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean); begin Form1.Edit1.Clear; Form1.Memo1.Clear; Form1.CheckBox1.State := cbGrayed; Form1.ComboBox1.dbItemID := -1; Form1.DateTimePicker1.Checked := False; end;
С подсчётом разобрался, спасибо.
Как я понял (касаемо скрипта очистки) мне надо в данный скрипт загнать все мои поля, которые используются в открываемой форме для поиска?
надо идти вперёд….
12 Reply by DriveSoft 2017-04-09 18:11:31
- DriveSoft
- Administrator
- Offline
- Registered: 2014-02-14
- Posts: 10,294
Re: Ошибка » is not a valid floating point value
С подсчётом разобрался, спасибо.
Как я понял (касаемо скрипта очистки) мне надо в данный скрипт загнать все мои поля, которые используются в открываемой форме для поиска?
Да, только не поля, а компоненты.
Dmitry.
Posts: 12
Pages 1
You must login or register to post a reply