LimeReport Forum

General Category | Основное => Discussion | Обсуждение => Topic started by: Subst on June 30, 2016, 01:10:17 PM

Title: Подчиненный источник
Post by: Subst on June 30, 2016, 01:10:17 PM
Алекс.

При попытке создать подчиненый источник данных через SQL (режим подзапроса), прога крашится.
Шо такое?
Title: Re: Подчиненный источник
Post by: Arin Alex on June 30, 2016, 01:19:54 PM
Гляну :)
Title: Re: Подчиненный источник
Post by: Arin Alex on June 30, 2016, 01:34:53 PM
Глянул :) С ходу повтоорить не получилось . Нужно больше информации :)
Title: Re: Подчиненный источник
Post by: Subst on July 01, 2016, 10:20:20 AM
Алекс, во вложении скрин.

При всем, если указать явно значение в where, то все прокатывает

[вложение удалено администратором]
Title: Re: Подчиненный источник
Post by: Arin Alex on July 01, 2016, 04:27:45 PM
А дебагер показывает место в ктором приложение валится?
Title: Re: Подчиненный источник
Post by: Subst on July 01, 2016, 08:34:17 PM
Неа.
Но я обнаружил нестабильность 5.7 версии QT, щас собираю 5.6.1. Откатываюсь, к томуж QtSerialBus все равно не доведен до ума
Потом еще раз посмотрю, все равно выходные, актуально в понедельник-вторник нужно будет.

Но еще момент... валится не каждый раз. Как-то проскочил, запрос только иной был. Но потом дизайнер валился при открытии отчета, ручками вычищать пришлось o_O
Title: Re: Подчиненный источник
Post by: Subst on July 03, 2016, 08:57:09 AM
Алекс!

Мои соображения, что происходит.

итак, имеем подчиненный источник вида select * from slave_table where master_table_id=$D{master_table.id}

master_table инициализируется из приложения путем createCallbackDatasource, например.

При запуске дизайнера я, конечно, вижу этот источник данных. Однако при работе из дизайнера $D{master_table.id} не будет инициалирована. Думаю, отсюда и растут грабли.
Я организую новый источник, который явно требует $D{master_table.id}. Дизайнер при сохранении источника, видимо, не проверяя на валидность $D{master_table.id} пытается тестовый запрос выполнить.

Поскольку, если я создаю источник вида select * from slave_table where master_table_id=CONST, где CONST - любое значение, все проходит на УРА
Title: Re: Подчиненный источник
Post by: Arin Alex on July 03, 2016, 12:48:58 PM
Теперь понятно куда копать :)
Title: Re: Подчиненный источник
Post by: Subst on July 04, 2016, 05:41:11 AM
я не стал глубоко код копать, нету времени просто, тебе то виднее, код твой.
Может сделать проверку на валидность $D{...} и в случае отрицательного ответа тупо какое-то значение левое проставлять. По крайней мере не будет обращения к "хз чему то там"

А то что выходит, у нас индекса модели еще нету, а мы туда уже лезем. Отсюда и краш
Title: Re: Подчиненный источник
Post by: Arin Alex on July 06, 2016, 03:20:06 AM
При всем желании не получается повторить :( Лайму особо и крашится то негде. Может валится где-то  в реализации калбэка ?
Title: Re: Подчиненный источник
Post by: Subst on July 06, 2016, 03:51:25 AM
Да, у меня была такая идея. Есть там подозрение в одном месте.
Извини, не успел написать вчера, проверяю.

При чем - это парадокс. Это место отвечает за некоторые переменные, передаваемые в запрос. Но, собственно, новыми датасорсами в отчетах я от этих переменных и хочу избавиться, чтобы максимально отвязать отчет от программы :D
Title: Re: Подчиненный источник
Post by: Subst on July 07, 2016, 04:06:32 AM
Алекс, похоже косяк у меня был. Отбой. Извини, что дернул не по делу.