|
v8: Запись вне транзакции |
☑ |
0
Sh18
16.09.13
✎
10:48
|
Можно ли в транзакции создать запись в базе вне транзакции?
При длительной процедуре (обрезание) надо периодически писать лог (пройденные этапы и затраченное время). Удобнее бы в базе, но откат при ошибке все стирает. Можно обойти? Есть, конечно, вариант, в файл писать, но с них станется - они и файл откатят (не проверял). Но оч хотелось бы в базу...
|
|
1
Ненавижу 1С
гуру
16.09.13
✎
10:48
|
(0) а ты проверь!
|
|
2
Sh18
16.09.13
✎
10:51
|
Эт понятно, но как насчет обхода транзакции? Вроде,нельзя, но народ на выдумки хитер
|
|
3
Ненавижу 1С
гуру
16.09.13
✎
10:52
|
(2) да полно решений, можно поднимать COM-соединение и писать через него, можно вообще через ADO-соединение (для серверных БД).
|
|
4
Serg_1960
16.09.13
✎
10:52
|
Пиши в ТЗ, по окончании транзакции - скидывай в базу.
|
|
5
НЕА123
16.09.13
✎
10:52
|
(0)
>они и файл откатят
как откатят? затрут?
|
|
6
Sh18
16.09.13
✎
10:53
|
(4) Класс! Что ж я такой тупой... Все гениальное - просто )) Спасибо!
|
|
7
Defender aka LINN
16.09.13
✎
11:00
|
(6) И чем это тебе поможет, если у тебя транзакция всего одна?
Если она не одна - к чему вообще вопрос?
З.Ы. Еще есть такая штука как Журнал Регистрации
|
|
8
Maxus43
16.09.13
✎
11:02
|
ЖР чем не угодил? Он и есть штатный Лог, независимый от транзакций
|
|
9
cw014
16.09.13
✎
11:03
|
Мы делали через обработчик ожидания, который проверял наличие непустых строк в параметре сеанса и писал из
|
|
10
cw014
16.09.13
✎
11:03
|
*тх
|
|
11
Maxus43
16.09.13
✎
11:05
|
>>в файл писать, но с них станется - они и файл откатят
нет конечно, всё, что за пределами СУБД - не поджвержено влиянию её транзакций
|
|
12
Sh18
16.09.13
✎
11:25
|
Спасибо всем! ЖР - неудобно. Временная таблица - вполне компромиссное решение, разве что не покрывает вылет компа. Но это уже форс-мажор ))
|
|
13
Sh18
16.09.13
✎
11:29
|
Нормальный вариант - другой поток, но, кажется, многопоточность 1С не поддерживает?
|
|
14
Defender aka LINN
16.09.13
✎
11:30
|
(12) А, кстати, КУДА в базе ты это все писать будешь?
|
|
15
s_ustinov
16.09.13
✎
11:39
|
(0) пишешь хранимую процедуру и вызываешь ее асинхронно на уровне sql - то есть из 1с дергаешь сервер субд, чтобы он выполнил хранимку
есть два варианта асинхронного вызова - скорее всего, примерно равнозначные
|
|
16
Sh18
16.09.13
✎
11:49
|
(15) Спасибо, но муторно
(14) У меня самописная, там есть несколько "моих" справочников ))
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший