|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Для тестирования надо что бы при проведении документ упал по таймауту. 1С 8.2. Как это сделать? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 10:28 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Подключиться из SQL SMS и begin transaction SELECT * FROM ... WITH (ROWLOC) WHERE ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 11:11 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Простите за глупый вопрос - но падение - это что? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 11:35 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Когда объект заблокирован другим пользователем дольше предельно-допустимой продолжительности времени? Конфигуратор\Администрирование\Параметры информационной базы...\Время ожидания блокировки данных (в секундах) По умолчанию - 20 секунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 11:55 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
AHDP, WITH (ROWLOCK) это похоже то что надо. Только селект у меня слишком быстро делается. Можно таблицу как-то заблокировать подольше? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 12:09 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Alex.RuAHDP, WITH (ROWLOCK) это похоже то что надо. Только селект у меня слишком быстро делается. Можно таблицу как-то заблокировать подольше? транзакция не закрыта - блокировка должна висеть ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 12:14 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Commit transaction - разблокирует. Или Rollback. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 12:31 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Что-то не получается. я уже и запросы в цикле по 1000 раз делаю и коммит в конце убрал. И время ожидания в конфигураторе поставил 1сек. А оно все проводится. вот так сделал: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 13:01 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
либо блокировки прозрачны (shared на shared) либо пространства не пересекаются... скуль то чего говорит? в QA по sp_lock вообще есть что-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 13:26 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Alex.RuЧто-то не получается. я уже и запросы в цикле по 1000 раз делаю и коммит в конце убрал. И время ожидания в конфигураторе поставил 1сек. А оно все проводится.Вы хотите средствами платформы 1С имитировать таймаут или же средствами СУБД MS SQL? Если средствами 1С то это очень просто. Для конфигурации работающей в «автоматическом режиме блокировки данных»: В обработке проведения "Реализации товаров услуг" разместите запрос, получающий данные для последующего контроля остатков товаров на складах. В запросе заблокируйте "ДЛЯ ИЗМЕНЕНИЯ" таблицу в которой содержатся остатки товаров на складах. После команды «Выполнить()» (для запроса возвращающего остатки товаров), разместите вызов процедуры, выполнение которой вызывает "паузу". Длительность паузы должна быть больше значения допустимой нормы ожидания на блокировках (устанавливается в конфигураторе для инф. базы), если в конфигураторе указано 20 секунд, для верности установите длительность паузы в 30 секунд. Откройте два сеанса в пользовательском режиме. В каждом сеансе проведите документы "Реализация товаров и услуг". Документы обязательно должны списывать остатки с одного склада по совпадающим (хотя бы одной) номенклатурным позициям. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 19:12 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Alex.RuЧто-то не получается. я уже и запросы в цикле по 1000 раз делаю и коммит в конце убрал. И время ожидания в конфигураторе поставил 1сек. А оно все проводится. Надо так: Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 22:04 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
А не проще в документе в отладчике остановиться при проведении? И проводить второй в другой сессии? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2014, 10:32 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Программист 1сА не проще в документе в отладчике остановиться при проведении? И проводить второй в другой сессии?Так это ж классика. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2014, 11:28 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
Alex.RuЧто-то не получается. я уже и запросы в цикле по 1000 раз делаю и коммит в конце убрал. И время ожидания в конфигураторе поставил 1сек. А оно все проводится. похоже причина в том, что нет четкого понимания msdnКласс событий Lock:Timeout указывает на то, что запрос на захват некоторого ресурса, например страницы, завершен из-за превышения времени ожидания, поскольку данный ресурс был захвачен в блокирующем режиме другой транзакцией. Время ожидания определяется системной функцией @@LOCK_TIMEOUT и может быть задано инструкцией SET LOCK_TIMEOUT. стандартно это значение 20 секунд т.е. тебе нужно приостановить одну транзакцию на 20 секунд, и начать выполнять вторую, которую хочешь заблокировать в случае с 1С, значение @@LOCK_TIMEOUT секунд она сама задает: Конфигуратор > Администрирование > Параметры информационно базы > Время ожидания блокировки данных ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2014, 07:08 |
|
Как имитировать падение документа по таймауту?
|
|||
---|---|---|---|
#18+
в обработке проведения документа заблокируй что нибудь, например Транзакция №1 Набор = РегистрыНакопления.<>.СоздатьНаборЗаписей(); Набор.Отбор.Установить(Регистратор); Набор.Очистить(); - Установили X блокировку по регистратору. После Очистить() ставим точку останова и ждем. В другой сессии Транзакция №2 НачатьТранзакцию(); Запрос на чтение данных из 1-ой транзакции ЗафиксироватьТранзакцию(); ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2014, 15:07 |
|
|
start [/forum/topic.php?fid=28&fpage=34&tid=1519418]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 145ms |
0 / 0 |