|
Странная работа отчета
|
|||
---|---|---|---|
#18+
Коллеги! У меня ОДНО-пользовательское приложение на VFP 9. В нем, в частности, я формирую отчет с помощью процедуры. Используется имя r для разных вещей - и таблиц и запросов и отчетов - расширения файлов разные. PROCEDURE r DELETE FILE r.dbf DO r.qpr && Создается таблица r.dbf SELECT r *BROWSE REPORT FORM r TO PRINTER NOCONSOLE SELECT r USE RETURN Проблема вот в чем - с BROWSE все работает, без BROWSE появляется сообщение, что ВАРИЭЙБЛ ... ИЗ НОТ ФАУНД и печатается одна строчка из отчета. Я знаю, что подобный вопрос рассматривался в https://www.sql.ru/forum/584931/ne-vyhodit-na-pechat-otchet?hl=brow ????? К сожалению, я никак не пойму, в чем же состоит решение проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:09 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
В том топике предложили вызвать SYS(1104), попробуй так Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:16 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
Dima T, Попробовал. Та же картина ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:25 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
UAPбез BROWSE появляется сообщение, что ВАРИЭЙБЛ ... ИЗ НОТ ФАУНД и печатается одна строчка из отчета. На какую переменную ругается не выяснил? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:28 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
На одно из полей таблицы, которая является главной и единственной на входе отчета ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:29 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
Поле с алиасом написано? Код: sql 1.
добавь проверку Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:40 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
Dima T, Без алиаса. Я везде поубирал ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:41 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
Проверил - то же самое ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:44 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
UAPDima T, Без алиаса. Я везде поубирал Подозреваю что алиас меняется вызовом какой-то функции внутри отчета. Правда это не объясняет почему с BROWSE работает. По ошибке зайди в отладчик и посмотри какой текущий алиас в этот момент ALIAS(). Или попробуй одноименную переменную создать Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:50 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
SYS(1104) - это не о том. Здесь требуется не очистить, а наоборот, наполнить кеш Файл DBF был создан на диске. Но FoxPro о его содержимом ничего "не знает", поскольку эти данные не были загружены в кеш FoxPro. Ему не с чем работать. Для него имя-то существует, но пока "пустое". Без наполнения данными По умолчанию, в автоматическом режиме, наполнение кеша произойдет через 5 секунд. Второй параметр в SET REFRESH Команда BROWSE принудительно считывает данные в кеш немедленно. Не ожидая этих 5 секунд. Собственно, Вам и надо найти какой-то способ "пнуть" FoxPro на предмет немедленного чтения данных из таблицы в буфер FoxPro. Первое, что напрашивается, это просто переоткрыть таблицу Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Еще как вариант, можно попробовать GO TOP. Тоже, теоретически, должен немедленно "дернуть" буфер таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:58 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
Dima T, Пишет, что теперь не определено следующее поле таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 14:05 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
Все перепроверил - та же картина. Проверил, что текущий алиас после запроса r Переписал заново отчет и программу PROCEDURE r DELETE FILE r.dbf DO r.qpr SELECT r REPORT FORM r TO PRINTER NOCONSOLE SELECT r USE RETURN Теперь вообще белый лист ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 14:28 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
UAPТеперь вообще белый лист А записи в таблице есть? То что ВладимирМ написал 21839565 пробовал? У меня идеи кончились. Я ни разу с подобным не сталкивался. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 15:15 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
Dima T, Да, я пробовал. Записи есть, ибо я их вижу с помощью BROWS ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 19:45 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
Это, конечно дикость, но вот, что решает проблему - три строки в нужном месте: PROCEDURE r DELETE FILE r.dbf DO r.qpr SELECT r * Вот эти три строки DEFINE WINDOW w_brow FROM 1,1 TO 2,2 BROWSE WINDOW w_brow TIMEOUT 1 RELEASE WINDOW w_brow REPORT FORM r.frx TO PRINTER NOCONSOLE SELECT r USE RETURN На очень стареньком и медленном компьютере пользователь не успевает увидеть маленький "блым" и отчет получается правильным ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2019, 12:28 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
1. Почему создаешь временную таблицу? Используй курсор. Если надо модифицировать - добавь readwrite. 2. Сделай имя курсора более чем 1 символ, скажем _r1 - система понимает Select R как переключение в R-область. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2019, 17:12 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
glamis, Я, в реальной программе, использую длинные названия. Это я тут использую короткие имена, чтобы легче было понять программу. С курсором я попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2019, 18:06 |
|
Странная работа отчета
|
|||
---|---|---|---|
#18+
UAPЭто, конечно дикость, но вот, что решает проблему - три строки в нужном месте: На очень стареньком и медленном компьютере пользователь не успевает увидеть маленький "блым" и отчет получается правильным Похоже на известный косяк FoxPro. В момент вызова отчета фокус находится в объекте Grid. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2019, 19:01 |
|
|
start [/forum/topic.php?fid=41&msg=39789598&tid=1581680]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 128ms |
0 / 0 |