Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

15 Декабрь 2018, 14:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Ошибки LibreOffice 6.1  (Прочитано 1188 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Kadet
Участник
**
Offline Offline

Сообщений: 17


« Стартовое сообщение: 19 Октябрь 2018, 17:39 »

С большим трудом перенёс свою БД на новую платформу LibreOffice 6.1.

Столкнулся с массой проблем.
1. Кириллицу в названиях таблиц и полей не воспринимает. Всё время выбрасывает сообщение о превышении лимита в 30 символов.
   - Решил проблему путём переименования всего и вся в латиницу, а чтобы не переделывать все макросы, трансформировав базу в Firebird переименовал всё обратно.

2. Проблема преобразования типа в числовые при выполнении завросов в макросах. В общем RowSet воспроизводится как String и не хочет переводиться ни в Double ни в Integer ни в другие числовые типы с помощью CDbl или CInt и т.п. При этом с CDate и CBool таких проблем нет.
 -Решил проблемы путём объявления числовых переменных типа Double и Integer и присвоению им выборки из RowSet.getString(x) только так удалось преобразовать переменные из запроса к нужному типу.
Из-за этого косяка так же не работают вычисления в запросах. Допустим 4,55*1447 в запросе выдаёт - 658 385, что в принципе верно, если поставить правильно запятую - 6 583,85. Т.е. - получается запятые в запросах просто игнорируются в всё берётся как целые числа.

3. При формировании отчётов - не хочет менять Тексты меток. Все метки выводятся с текстом Label, как их не меняй.
 - Этот баг пока остался нерешённым.
« Последнее редактирование: 19 Октябрь 2018, 17:43 от Kadet » Записан
mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 162


« Ответ #1: 19 Октябрь 2018, 17:42 »

3. При формировании отчётов - не хочет менять Тексты меток. Всюду всё меняет на Label.
 - Этот баг пока остался не решённым.

tdf#119067
Записан

С уважением,
Михаил Каганский
Kadet
Участник
**
Offline Offline

Сообщений: 17


« Ответ #2: 19 Октябрь 2018, 17:46 »

tdf#119067
Спасибо. Посмотрю.
Записан
mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 162


« Ответ #3: 19 Октябрь 2018, 19:01 »

1. Кириллицу в названиях таблиц и полей не воспринимает. Всё время выбрасывает сообщение о превышении лимита в 30 символов.
   - Решил проблему путём переименования всего и вся в латиницу, а чтобы не переделывать все макросы, трансформировав базу в Firebird переименовал всё обратно.

tdf#119502

Насчёт №2 не нашёл баг - пожалуйста, создайте соответствующий багрепорт.
Записан

С уважением,
Михаил Каганский
Kadet
Участник
**
Offline Offline

Сообщений: 17


« Ответ #4: 19 Октябрь 2018, 19:05 »

И вообще заметил некую недружбу этой жарптицы с числовыми форматами. Все INT со значениями "1" при трансформации превратились в "-254", так же много было косяков с всеми другими числами, типа "650,56" в какую-то невообразимую цифру преобразовал, все Dbl - превратил в "0.00". Причём системы в этих багах я не понял.
В общем пришлось всё сверять с прежними данными и редактировать всё вручную.
Записан
mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 162


« Ответ #5: 19 Октябрь 2018, 19:07 »

Дело не в жарптице, а в мастере преобразования. Этот мастер активно допиливается, именно поэтому пока ещё оно не предлагается по умолчанию.
Записан

С уважением,
Михаил Каганский
Kadet
Участник
**
Offline Offline

Сообщений: 17


« Ответ #6: 19 Октябрь 2018, 19:17 »

Насчёт №2 не нашёл баг - пожалуйста, создайте соответствующий багрепорт.
Багрепорт только в понедельник ибо всё на работе, а уже выходные.
Лучше опишу.

Макросом выполняю запрос с выборкой числовых данных (все типа "NUMERIK")
select X, Y, X*Y as Z from TABLE
RowSet.getString(3) неправильный результат произведения

Z = RowSet.getString(1)*RowSet.getString(2) - неправильный результат произведения.

Z = CDbl(RowSet.getString(1))*CDbl(RowSet.getString(2)) - "Ошибка преобразования типа"

X = CDbl(RowSet.getString(1)) - "Ошибка преобразования типа"

Всё решилось только так:
Dim X As Double
Dim Y As Double
Dim Z As Double
X = RowSet.getString(1)
(получается правильное значение уже преобразованное в Double)
Y = RowSet.getString(2)
Z=X*Y


Такая же проблема возникла и в запросе, когда в поле запроса прописываешь - "Вес"*"Цена" (поля таблицы) - сумма выдаётся неправильная.
« Последнее редактирование: 19 Октябрь 2018, 19:54 от Kadet » Записан
Kadet
Участник
**
Offline Offline

Сообщений: 17


« Ответ #7: 19 Октябрь 2018, 19:19 »

Дело не в жарптице, а в мастере преобразования.
Наверное, но после трансформации рекомендовал бы тщательно проверять данные.
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!