|
Специалист платформа, вопрос по блокировкам | ☑ | ||
---|---|---|---|---|
0
AndyTLT63
11.09.12
✎
15:57
|
Готовлюсь к сдаче на специалиста по платформе. Город у нас небольшой так что курсов по спецу нету, все приходиться изучать самому.
Все пока понятно кроме блокировок . прочитал в интернете что есть 2 варианта, можно использовать любой: 1 вариант Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина; Движения.ОстаткиНоменклатуры.Записать(); 2 вариант Движения.ОстаткиНоменклатуры.Записать(); Блокировка = Новый БлокировкаДанных; ЭлементБлокировки = Блокировка.Добавить(); ЭлементБлокировки.Область = "РегистрНакопления.ОстаткиНоменклатуры"; ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; ЭлементБлокировки.ИсточникДанных = Движения.ОстаткиНоменклатуры.Выгрузить(); Для Каждого Измерение Из Метаданные.РегистрыНакопления.ОстаткиНоменклатуры.Измерения Цикл ЭлементБлокировки.ИспользоватьИзИсточникаДанных(Измерение.Имя, Измерение.Имя); КонецЦикла; Блокировка.Заблокировать(); Так в чем же разница между ними кто может объяснить на пальцах, и каковы особенности приминения каждого варианта. В интернете мало информации по этому вопросу, да к тому же часто нахожу противоречивую информацию.. |
|||
1
golden-pack
11.09.12
✎
16:00
|
А что синтаксис помошник говорит про БлокироватьДляИзменения
|
|||
2
zladenuw
11.09.12
✎
16:01
|
1 вариант блокировка всей таблицы, 2 ты можем по определенным измерения.
|
|||
3
zladenuw
11.09.12
✎
16:02
|
и там наглядные примеры.
|
|||
4
СвинТуз
11.09.12
✎
16:02
|
(2)
пиши еще блокировать для изменения накладывают специфическую блокировку |
|||
5
СвинТуз
11.09.12
✎
16:04
|
Имеет смысл использовать, если проверка итогов регистра выполняется после записи и заблокировать нужно именно те комбинации, по которым записываются записи. В этом случае можно не использовать объект БлокировкаДанных.
чего не ясно? |
|||
6
jump if overflow
11.09.12
✎
16:05
|
1 это новая методика сначала пишем потом проверяем на отрицательный остаток.
2 методика сначала считваем остатки, если их хвтает, то пишем |
|||
7
jump if overflow
11.09.12
✎
16:06
|
2 Движения.ОстаткиНоменклатуры.Записать();
ипользуется для того чтобы не читать движения этого документа, в 1-ой методике это не важно |
|||
8
zladenuw
11.09.12
✎
16:10
|
вообще достаточно заглянуть в СП и смотреть и думать. все зависит от задачи и ситуации. когда нужно что использовать
|
|||
9
jump if overflow
11.09.12
✎
16:11
|
+7
в ут 11 этого нет |
|||
10
AndyTLT63
11.09.12
✎
16:20
|
То есть я так понял если мы сначала формируем движения то используем конструкцию
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина; Движения.ОстаткиНоменклатуры.Записать(); А потом формируем запрос А если нам надо сразу делать запрос к регистру (допустим чтобы подсчитать себестоимость) то используем уже второй вариант Движения.ОстаткиНоменклатуры.Записать(); Блокировка = Новый БлокировкаДанных; ЭлементБлокировки = Блокировка.Добавить(); ЭлементБлокировки.Область = "РегистрНакопления.ОстаткиНоменклатуры"; ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; ЭлементБлокировки.ИсточникДанных = Движения.ОстаткиНоменклатуры.Выгрузить(); Для Каждого Измерение Из Метаданные.РегистрыНакопления.ОстаткиНоменклатуры.Измерения Цикл ЭлементБлокировки.ИспользоватьИзИсточникаДанных(Измерение.Имя, Измерение.Имя); КонецЦикла; Блокировка.Заблокировать(); Я правильно понял? |
|||
11
Пип Пибип
11.09.12
✎
16:24
|
пип
|
|||
12
Vladal
11.09.12
✎
16:28
|
(11) Эт чё? нажми кнопку Закладка и увидишь эту тему в списке.
|
|||
13
GANR
11.09.12
✎
16:37
|
(0)Варианты различаются по назначению, и, как следствие, они отличатся всем остальным
1. Вариант "БлокироватьДляИзменения" предназначен для блокировки данных когда сначала проводится запись, а потом проверка корректности остатков. Может быть использован, например, когда нужно просто проверить не возникли ли отрицательные остатки после списания. На практике применим только в "простых" случаях списания. 2. Вариант "БлокировкаДанных", наоборот, предназначен для блокировки данных когда сначала необходима проверка, а потом запись. При FIFO-LIFO методика из п.1 неприменима, поэтому возникает необходимость блокировать данные перед проверкой, как в п.2. Всё понятно? |
|||
14
AndyTLT63
11.09.12
✎
17:00
|
Да спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |