Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не обновляется таблица / 6 сообщений из 6, страница 1 из 1
17.08.2004, 07:24
    #32651956
Danil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляется таблица
Всем привет!
Имеется две программы написанные на ФоксПро 8.0
1- Приход
2- касса
и у них общая БД.
Если товар приходуется (в части Приход), то изменения не отображаются в программе Касса, пока либо программу не перезагрузишь, либо не зайдешь под новым пользователем. Складывается ощущение, что кэшируется результат запроса. Незнаете ли в чем может быть причина? И соответственно как решить данную проблему?
...
Рейтинг: 0 / 0
17.08.2004, 10:17
    #32652163
Danil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляется таблица
Может быть я неверно сформулировал вопрос?
Или нет полной информации на базе которой можно дать совет?
Или привести пример кода?
...
Рейтинг: 0 / 0
17.08.2004, 10:25
    #32652183
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляется таблица
В каком месте у тебя "кэшируемый запрос" выполняется?
P.S. Проблему свою ты практически не объяснил...
...
Рейтинг: 0 / 0
17.08.2004, 11:17
    #32652316
Danil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляется таблица
RedrikВ каком месте у тебя "кэшируемый запрос" выполняется?
P.S. Проблему свою ты практически не объяснил...
Ok
Хорошо!
Программа касса. Главная форма. При нажатии на F3 визуализируется форма с гридом выполняется запрос на подсчет остатков (приход-расход) - в Init формы. Они отображаются!
Закрыли!
Если в момент работы программы касса, кто-то в другой программе добавляет товар в таблицу прихода, то при нажатии на F3 и повторном отображении остатокв товар оприходованный не появляется (причем повторные рассчеты остатков происходят в 3 раза быстрее чем в первый раз), пока я не закрою главную форму кассы и не открою ее....
Часть запроса на формирование остатоков:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
	 SELECT r.id,r.cnt,sum(IIF(e.log= 0 ,e.cnt, 0 )) as e_cnt,sum(IIF(e.log= 1 ,e.cnt, 0 )) as e_cnt_p,;
			MAX(ALLTRIM(m.name)+IIF(ISNULL(p.name),'',' '+ALLTRIM(p.name))) as medname,;
			MAX(r.retailprice) as retailprice,;
			 000000000000 +MAX(IIF(n.countinpack= 0 , 1 ,n.countinpack)) as cntinpack, r.barcode as barcode,MAX(r.apptyme) as app_tyme ,;
			max(TTOD(d.date)) as date,'' as inv_no;
			FROM receipts r,expenses e,documents d,medications m,nomenclatures n LEFT OUTER JOIN produsers p ON n.prod_id=p.id;
			WHERE r.id=e.rcpt_id AND n.id=r.nom_id AND n.med_id=m.id AND d.id=r.doc_id AND d.closed AND d.store_id=goApp.nStoreHouse_ID AND d.closed;
			GROUP BY r.id,r.cnt, r.barcode	;
		 UNION all;
		 select r.id,r.cnt, 0  as e_cnt, 0  as e_cnt_p,;
			ALLTRIM(m.name)+IIF(ISNULL(p.name),'',' '+ALLTRIM(p.name)) as medname,r.retailprice,;
			 000000000000 +IIF(n.countinpack= 0 , 1 ,n.countinpack) as cntinpack, r.barcode as barcode,r.apptyme as app_tyme,;
			TTOD(d.date) as date,'' as inv_no;
			FROM receipts r,documents d,medications m,nomenclatures n LEFT OUTER JOIN produsers p ON n.prod_id=p.id  ;
			WHERE n.id=r.nom_id AND n.med_id=m.id AND d.id=r.doc_id AND d.closed AND d.store_id=goApp.nStoreHouse_ID AND d.closed;
			AND NOT r.id in (select DISTINCT e.rcpt_id as id FROM expenses e );
			INTO CURSOR _rest READWRITE 
...
Рейтинг: 0 / 0
17.08.2004, 13:02
    #32652661
lesha_spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляется таблица
Может я что-то тне так понял. После того как ты ввел новые данные в тьаблицу прихода они сразу появляются в БД? Если нет то делай tableupdate.
В кассе не появляется новая информация скорее всего потому что requery делается только при открытии формы, а так форма обращается к буферу.
можно поподробней что там с кэшированием?
...
Рейтинг: 0 / 0
17.08.2004, 13:21
    #32652723
Danil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляется таблица
У главной формы программа касса есть окружение данных и в ней таблицы БД, дочернее окно "Остатки" имеет тоже свое окружение данных на основе таблиц в своем окружении данных и производится расчет остатков.
Из главной формы вызывается дочернее "Остатки".
Я решил проблему (выше обозначенную) так (хотя криво конечно):
ставлю
GO TOP IN таблицаN
после того как код формы "Остатки" отработал, т.е. передергиваю таблицы и теперь стало все отображаться....
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не обновляется таблица / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]