Автор Тема: Нужна помощь в переходе Firebird с 2,5 на 3 (не работает IBEScript)  (Прочитано 1088 раз)

0 Пользователей и 1 Гость просматривают эту тему.

MkTel

  • Младший Пользователь
  • **
  • Сообщений: 33
  • Репутация: 0
Подскажите пож-та неведающему можно ли выгрузить в файл любой отчет из УкрСклада не в ручном режиме, т.е запустив какой-либо процесс тем-же планировщиком? Если можно то тогда тратить время на IBEScript/IBExpert нет смысла (для меня по крайнем мере.)

MkTel

  • Младший Пользователь
  • **
  • Сообщений: 33
  • Репутация: 0
Вкладываю отчет (простой, код/кол-во по 3 складам/3 цены).  IBExpert выдает ошибку "Invalid variant operation". База нужна?
Очень хочется перейти на 7.

admin

  • Админ
  • Помогающий
  • *****
  • Сообщений: 6967
  • Репутация: 1135
  • Пол: Мужской
    • УкрБланк, УкрСклад, УкрЗарплата, Унидок
Вкладываю отчет (простой, код/кол-во по 3 складам/3 цены).  IBExpert выдает ошибку "Invalid variant operation". База нужна?
Очень хочется перейти на 7.

Трудно было понять т.к. IBExpert использует версию 3 FastReport, она от 2005 года , там даже дебага нет. Но скорее всего FastReport не понимал в группировке поле NUM т.к. оно сейчас Int64, попробуйте поменять в SQL скрипте 2 строку, вместо:
t.num,пропишите
CAST(t.num AS INTEGER) AS num,

MkTel

  • Младший Пользователь
  • **
  • Сообщений: 33
  • Репутация: 0
Ура!!! Заработали все отчеты на тестовом компе, кроме одного (полный импорт на сайт), ошибка та-же, наверно еще какой-то параметр нужно подправить?
Большое человеческое спасибо!

admin

  • Админ
  • Помогающий
  • *****
  • Сообщений: 6967
  • Репутация: 1135
  • Пол: Мужской
    • УкрБланк, УкрСклад, УкрЗарплата, Унидок
Ура!!! Заработали все отчеты на тестовом компе, кроме одного (полный импорт на сайт), ошибка та-же, наверно еще какой-то параметр нужно подправить?
Большое человеческое спасибо!

Скрипт должен начинаться с
SELECT
  CAST(t.analog_num AS INTEGER) AS analog_num,
  CAST(t.num AS INTEGER) AS num,
  CAST(gr.num AS INTEGER) AS num1,
далее идет ваш код
  gr.group_name as gr,
  t.name,
  t.dopoln3 as yakist,
  ...

MkTel

  • Младший Пользователь
  • **
  • Сообщений: 33
  • Репутация: 0
Спасибо. Отчет пошел, теперь с кодировками полезла проблема, вся кириллица отображается так: Акумулятор BAT16533000 Doogee X9 Pro 3000 mAh, copyAA  :(

AGSoft

  • Младший Пользователь
  • **
  • Сообщений: 29
  • Репутация: 2
  • Пол: Мужской
  • will be as you want
Спасибо. Отчет пошел, теперь с кодировками полезла проблема, вся кириллица отображается так: Акумулятор BAT16533000 Doogee X9 Pro 3000 mAh, copyAA  :(
Там где идет присвоение значения попробуйте использовать функцию:
 
нужная переменная = Utf8ToAnsi(Переменная в которую попадает ответ от базы данных)
Совместная работа Вашего интернет-магазин и УкрСклад. Да, это реально!
Собрать заказы, отправить sms, сформировать ТТН - не проблема!

MkTel

  • Младший Пользователь
  • **
  • Сообщений: 33
  • Репутация: 0
В самом отчете?
пример: [DataRep."NAME"]=Utf8ToAnsi[DataRep."NAME"]
Если так - то не проходит, все равно каракули.
Что еще можно сделать?

AGSoft

  • Младший Пользователь
  • **
  • Сообщений: 29
  • Репутация: 2
  • Пол: Мужской
  • will be as you want
В самом отчете?
пример: [DataRep."NAME"]=Utf8ToAnsi[DataRep."NAME"]
Если так - то не проходит, все равно каракули.
Что еще можно сделать?
Не знаю как работают Ваши отчеты, но проблема тут явно с кодировкой. В отчете где-то должен быть блок получения данных и вывода полученной информации. Вот в блоке получения данных и надо использовать эту функцию. На картинке пример как это делается программно. 1- подготовка к получению информации. 2 - сам запрос получения информации. 3 - берем полученные данные и присваиваем нужным переменным. в блоке 3 показаны примеры получения данных как с необходимостью перекодировать так и без такой необходимости. В вашем отчете должно быть что-то подобное.
Совместная работа Вашего интернет-магазин и УкрСклад. Да, это реально!
Собрать заказы, отправить sms, сформировать ТТН - не проблема!

AGSoft

  • Младший Пользователь
  • **
  • Сообщений: 29
  • Репутация: 2
  • Пол: Мужской
  • will be as you want
пункт 2 не туда указал,но это сути не меняет. Вам надо искать в отчете обращение к базе данных и присвоение результатов переменным
Совместная работа Вашего интернет-магазин и УкрСклад. Да, это реально!
Собрать заказы, отправить sms, сформировать ТТН - не проблема!

MkTel

  • Младший Пользователь
  • **
  • Сообщений: 33
  • Репутация: 0
В этом я не разбираюсь к сожалению..
Кто может помочь?

AGSoft

  • Младший Пользователь
  • **
  • Сообщений: 29
  • Репутация: 2
  • Пол: Мужской
  • will be as you want
Если ничего не придумаете, то как вариант можете поэкспериментировать с ОС. Пару раз сталкивался с таким моментом, что программы работающие с базой данных, которые я писал на заказ не нуждались в функции перекодирования если работали на Windows-Server. Точной версии не скажу.
Совместная работа Вашего интернет-магазин и УкрСклад. Да, это реально!
Собрать заказы, отправить sms, сформировать ТТН - не проблема!

admin

  • Админ
  • Помогающий
  • *****
  • Сообщений: 6967
  • Репутация: 1135
  • Пол: Мужской
    • УкрБланк, УкрСклад, УкрЗарплата, Унидок
Utf8ToAnsi[DataRep."NAME"]

Такой функции нет в FastReport версии 3 от 2005 года. Даже если пробовать объявить:
string2 : WideString;
то ругается что "Неизвестный тип: WideString". Скорее всего в 2005 году FastReport ничего не знал про Юникод. А данные из базы поступают в Юникоде. Вообще очень странно, почему IBExpert в 2020 году использует FastReport 15 летней давности.

MkTel

  • Младший Пользователь
  • **
  • Сообщений: 33
  • Репутация: 0
Т.е про работу с отчетами через IBExpert можно забыть? Сумно... На 7-ую перешли, работает быстрее, есть функционал очень нужный с наценками, но теперь автоматизация в пролете...
Спрашиваю в разрезе того, стоит мне далее тратить время на поиск решений?

admin

  • Админ
  • Помогающий
  • *****
  • Сообщений: 6967
  • Репутация: 1135
  • Пол: Мужской
    • УкрБланк, УкрСклад, УкрЗарплата, Унидок
Т.е про работу с отчетами через IBExpert можно забыть? Сумно... На 7-ую перешли, работает быстрее, есть функционал очень нужный с наценками, но теперь автоматизация в пролете...
Спрашиваю в разрезе того, стоит мне далее тратить время на поиск решений?

В дизайнере бланков, для компонента IBEDB, в Params пропишите третью строку:
lc_ctype=WIN1251