Пример проведения документа в несколько транзакций (режим допроведения)Этот режим проведения может потребоваться для документов, обработка проведения которых отнимает значительное время, и блокирует работу остальных пользователей 1С в многопользовательском режиме.
| | Автор статьи: romix | Редакторы: Последняя редакция №6 от 20.03.09 | История URL: http://kb.mista.ru/article.php?id=740 | |
Ключевые слова: Проведение, Тормозит, Допроведение, Длительная, Обработка, Блокировки, Транзакция, Ожидание
Документ, который требуется проводить таким способом, нужно снабдить числовым реквизитом шапки НомерСтрокиПроведения и изменить его алгоритм проведения, как это показано в образце - приходной накладной. На форме документа следует изменить обработчик кнопки ОК (см. образец).
В настройках документа требуется убрать флажок "Автоматическое удаление движений", что позволит реализовать так называемый режим допроведения. В этом режиме документ можно проводить в несколько приёмов, а очистка движений должна быть осуществлена в явном виде.
Проведение документа в несколько транзакций позволит другим пользователям работать без длительных блокировок в многопользовательской среде. Однако, чтобы другие пользователи могли "вклинить" свои транзакции в MS-SQL, и не загружали систему избыточным циклом опроса блокировки (ошибка 1С) рекомендуется поставить исправление для 1С:
Книга знаний: Исправление ошибки 1С:Предприятие 7.7/8.0 - 100% загрузка процессора при ожидании блокировки
Если это исправление не установлено, то рекомендуется делать паузы (например, 1 секунду) перед проведением отдельных строк документа (с этой же целью).
Книга знаний: Перепроведение документов в 1С:Предприятие без блокировки других пользователей
Пример для скачивания: http://x-romix.narod.ru#DocTransactions
DocTransactions.zip (23K) - Пример конфигурации, где реализовано многострочное проведение.
|