|
25.06.2008, 19:00 | #1 |
Участник
|
Уважаемые разработчики!
Такой вопрос: есть база Навижна 4 SQL-ного. Там периодически запускается некий процесс через диспетчер задач, он скачивает некие данные из другой SQL-ной базы в навиженскую, осуществляет разные проверки, пишет много чего в разные таблицы, т.п. Этот процесс работает на сервере. Надо дать возможность пользователю этот процесс останавливать со своего компьютера. Сделали специальную форму для пользователя в базе, через которую он может поставить галку "Остановить" в отдельной выделенной табличке. А основной процесс проверяет в коде в нужных местах эту табличку, и, если есть эта галка, то выполняется команда exit. Примерно так: ImportSetup.GET; //это таблица, где пользователь поставил галку "Остановить" Stop:=ImportSetup.AutoImportStop ; IF Stop=true THEN EXIT; Т.е. процесс должен остановиться теоретически. Но практически он не останавливается, в отладчике видно, что поле этой галки=False, несмотря на то что в таблице (когда на нее явно смотришь) стоит True, установленное пользователем. Т.е. код почему-то не воспринимает эту галку. В чем может быть дело? |
|
25.06.2008, 19:30 | #2 |
Участник
|
Табличка, где производится запись галочки временная или постоянная?
|
|
25.06.2008, 19:45 | #3 |
Участник
|
постоянная
|
|
25.06.2008, 20:21 | #4 |
Участник
|
1. Вы уверены что запись закомитилась в тот момент когда задание смотрит на эту запись?
2. Вы уверены что задание проверяет эту запись в каждый раз а не 1 раз когда стартует? 3. Убедитесь что вы используете одну и туже табличку.
__________________
Want to believe... |
|
25.06.2008, 20:28 | #5 |
Участник
|
Я сижу рядом, поэтому могу ответить
1. Да. Даже коммит можно писать. Не помогает 2. Да. Каждый раз 3. Да. Конечно! В конце какого-то цикла там даже эта запись проявляется уже измененная Вобще выглядит как-то странно. Такое впечатление, что программа закешировало какое-то значение (получило версию базы данных) и упорно не хочет обновлять ее
__________________
С уваженем, rootadmin |
|
26.06.2008, 11:45 | #6 |
Участник
|
Цитата:
В Вашем случае перед каждой проверкой нужно получать новые занчение строки. |
|
26.06.2008, 00:03 | #7 |
Участник
|
Фирмы случайно не разные?
|
|
26.06.2008, 09:47 | #8 |
Участник
|
Да потому что в версии базы вашего процесса эта галка FALSE!
Guest1234, учите матчасть Вот это вам поможет: SELECTLATESTVERSION (Database) This function forces the latest version of the database to be used. SELECTLATESTVERSION Comments Navision Database Server Due to the version principle, you are guaranteed that the database version that you use is consistent, even if you do some time-consuming processing, for example in a report, and other users update the database while the report is running. In a situation where this is not desirable, and you need to use the latest version of data, you can use SELECTLATESTVERSION to enforce a reloading of the version that the client is using. SQL Server This function ensures that the data displayed is the most current data in the database. The function clears all non-locked records from the client cache, thereby ensuring that you read the most recent data. Чутье rutadmееna не подвело |
|
26.06.2008, 11:16 | #9 |
Участник
|
Цитата:
Сообщение от Fordewind
Да потому что в версии базы вашего процесса эта галка FALSE!
Guest1234, учите матчасть Вот это вам поможет: SELECTLATESTVERSION (Database) This function forces the latest version of the database to be used. SELECTLATESTVERSION Comments Navision Database Server Due to the version principle, you are guaranteed that the database version that you use is consistent, even if you do some time-consuming processing, for example in a report, and other users update the database while the report is running. In a situation where this is not desirable, and you need to use the latest version of data, you can use SELECTLATESTVERSION to enforce a reloading of the version that the client is using. SQL Server This function ensures that the data displayed is the most current data in the database. The function clears all non-locked records from the client cache, thereby ensuring that you read the most recent data. Чутье rutadmееna не подвело Думаю что все же проблема не в ней. |
|
26.06.2008, 11:57 | #10 |
Участник
|
|
|
26.06.2008, 13:38 | #11 |
Участник
|
Большое спасибо, Fordewind ! SELECTLATESTVERSION помогает.
|
|