|
Установка блокировки данных в подписке sxfoxi, laeg, evorle145, ejikbeznojek, WebberNSK, Злопчинский, Ёпрст, alexxx961503, rozer76, q100, Prog_man, A_G, ДемьянТ, Джордж1
| ☑ | ||
|---|---|---|---|---|
|
0
1сПупс
30.01.26
✎
12:59
|
Доброго дня, коллеги.
Применяется ли Транзакция с исключительной блокировкой в подписке (ПриЗаписи)? Или это лучше выносить в отдельное регзадание? |
|||
|
1
1сПупс
30.01.26
✎
13:04
|
у меня получилось что я записываю несколько документов в транзакции, а при записи открывается вложенная транзакция. Насколько я понимаю вложенных транзакций в 1с нет.
|
|||
|
2
Мультук
гуру
30.01.26
✎
13:23
|
Я думаю, если ответов не будет до вечера, то
ты либо опишешь задачу полностью, либо приведешь код (или псевдокод). И нам не придется ничего додумывать или вытягивать из тебя клещами суть задачи. |
|||
|
3
PR
30.01.26
✎
13:28
|
Читал читал несколько раз, ничего не понял
Кладется ли капуста в борщ? Или лучше называть суп с капустой другим словом? У меня получилось, что я готовлю еду на неделю, там есть суп, а в нем всякое-разное. Насколько я понимаю, в кофе капусты нет. |
|||
|
4
1сПупс
30.01.26
✎
13:46
|
вот код:
Начало кода в обработке НачатьТранзакцию(); //создание нескольких тысяч документов Док=Документы.Документ1.СоздатьДокумент(); //Заполняю док по xml файлу Док.Записать(); тут срабытывает подписка ПриЗаписи документа:
НачатьТранзакцию(); //2
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить("РегистрСведений.РегистрСведений1");
БлокировкаДанных.Заблокировать();
//Тут заполняется РС и записывается НаборЗаписей
ЗафиксироватьТранзакцию();
Продолжается код в обработке Если Не Отказ Тогда ЗафиксироватьТранзакцию(); КонецЕсли; |
|||
|
5
Kirei
30.01.26
✎
14:01
|
(4) ПриЗаписи транзакция открыта - открывать новую не надо.
Фиксировать тоже. |
|||
|
6
Kirei
30.01.26
✎
14:05
|
Транзакцию запускай так:
НачатьТранзакцию(); Попытка //создание нескольких тысяч документов Док=Документы.Документ1.СоздатьДокумент(); //Заполняю док по xml файлу Док.Записать(); ЗафиксироватьТранзакцию(); Исключение ОтменитьТранзакцию(); КонецПопытки; |
|||
|
7
mikecool
30.01.26
✎
18:07
|
новую транзакцию внутри вложенной разрешаю создавать
не разрешаю бросать ее незавершенной |
|||
|
8
mikecool
30.01.26
✎
18:07
|
вот хорошая статья от Сергея https://infostart.ru/1c/articles/1026771/?ysclid=ml10ooyt3k275675560
|
|||
|
9
mikecool
30.01.26
✎
18:10
|
насчет блокировок - советы от 1с - устанавливать блокировку максимально близко к месту ее использования
не всегда это хорошо, иногда следует блокировать заранее, если данные будут обязательно нужны |
|||
|
10
Guk
30.01.26
✎
20:45
|
хороший код. только на рабочей базе его не надо запускать. морду набьют...
|
|||
|
11
Garykom
гуру
31.01.26
✎
08:29
|
(0)(4) Почитай https://its.1c.ru/db/metod8dev/content/5839/hdoc
Отличие объектных блокировок от транзакционных пойми |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |