|
БлокировкаДанных. Метод ИспользоватьИзИсточникаДанных | ☑ | ||
---|---|---|---|---|
0
ИсчадиеADO
25.03.13
✎
19:08
|
нужно наложить блокировку на сочетание измерений
погуглил, делаю так, как советует Радченко: http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=572655 ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Измерение1,Измерение2","ПолеТЧ1,ПолеТЧ2"); ошибка: не найдено поле источника данных Измерение1,Измерение2 ни в УПП, ни в УТ не нашел примера... может кто подскажет, как грамотно сделать? |
|||
1
Fragster
гуру
25.03.13
✎
19:16
|
а по одной?
|
|||
2
Max Street
25.03.13
✎
19:19
|
может неправильно указал ИсточникДанных? в качестве источника данных можно указывать результат запроса, табличная часть, набор записей или таблица значений
|
|||
3
Reset
25.03.13
✎
19:23
|
Разве так можно ? "Измерение1,Измерение2"
|
|||
4
Reset
25.03.13
✎
19:25
|
У кого-то, кроме радченко, оно так работает? ;)
|
|||
5
ИсчадиеADO
25.03.13
✎
19:28
|
по одной работает. Ошибка относится не к "Измерение1,Измерение2", а к "ПолеТЧ1,ПолеТЧ2" (просто они у меня одинаковые)
вроде все проверил, все верно написано. Поля есть |
|||
6
ИсчадиеADO
25.03.13
✎
19:29
|
(2) попробовал и табличную часть, и таблицу значений (грешил на то, что может из-за того, что поля не по порядку)
|
|||
7
ИсчадиеADO
25.03.13
✎
19:30
|
(4) О! или работало, но в 12-13 релизах?
|
|||
8
ИсчадиеADO
25.03.13
✎
19:37
|
ахах, поставил режим совместимости с 13ым, заработало :)
|
|||
9
ИсчадиеADO
25.03.13
✎
19:38
|
у кого партнерка есть, отпишитесь плиз в 1с
|
|||
10
Reset
25.03.13
✎
19:45
|
(8) Проверил, подтверждаю :)
8.2.16.363, без режима совместимости говорит ошибку, с установкой в "Версия 8.2.13" - ошибку не дает |
|||
11
ИсчадиеADO
25.03.13
✎
19:50
|
у меня 8.2.18.44
|
|||
12
simol
25.03.13
✎
20:00
|
А вы проверьте. может он теперь задается по одному, но так как это таблица то именно пары блокирует
|
|||
13
Reset
25.03.13
✎
20:02
|
Еще потестил, помоему вариант (0) просто наклыдывает блокировку как на то, так и на другое измерение (а не на сочетание), в отличие от
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Измерение1","ПолеТЧ1"); ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Измерение2","ПолеТЧ2"); |
|||
14
Reset
25.03.13
✎
20:04
|
т.е.
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Измерение1,Измерение2","ПолеТЧ1,ПолеТЧ2"); аналогично ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Измерение1","ПолеТЧ1"); ... ЭлементБлокировки = Блокировка.Добавить(); ... ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Измерение1","ПолеТЧ1"); Блокировка.Заблокировать(); |
|||
15
simol
25.03.13
✎
20:05
|
(14)Вот и я о том же
|
|||
16
simol
25.03.13
✎
20:06
|
Даже без ЭлементБлокировки = Блокировка.Добавить();
|
|||
17
Reset
25.03.13
✎
20:07
|
(16) Без добавление нового элемента блокирует таки сочетания
|
|||
18
simol
25.03.13
✎
20:07
|
Жаль вечер, проверил бы
|
|||
19
Reset
25.03.13
✎
20:22
|
мне показалось что при использовании
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Измерение1,Измерение2","ПолеТЧ1,ПолеТЧ2"); вообще тупо весь регистр блокирует. То есть просто ошибка для "Измерение1,Измерение2" не выдается, получается, как если не задали "отбор" вообще. |
|||
20
Reset
25.03.13
✎
20:25
|
то есть (14) не верно,
а ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Измерение1,Измерение2","ПолеТЧ1,ПолеТЧ2"); при совместимости "Версия 8.2.13" - не делает _Ничего_, а без режима совместимости - дает ошибку (и правильно) |
|||
21
Reset
25.03.13
✎
20:32
|
Т.е. как советует радченка по ссылке, не работало ни "тогда", ни сейчас.
Или я гоню под вечер. Ушел домой. |
|||
22
scanduta
25.03.13
✎
21:21
|
Я вот так делал на экзамене на спеца по платформе все работало:
БД = Новый БлокировкаДанных; ЭлементБД = БД.Добавить("РегистрНакопления.ОстаткиНоменклатуры"); ЭлементБД.ИсточникДанных = СписокНоменклатуры; ЭлементБД.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура"); БД.Заблокировать(); П.с. В свойствах конфы должно стоять"Режим управления блокировкой данных" - "Управляемый" |
|||
23
scanduta
25.03.13
✎
21:24
|
Если несколько измерений из твоеей же ссылки там написано:
Вот как! Т.е. если указать ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура, Склад", "Номенклатура, Склад"), то заблокируются записи с номенклатурой и складом из ТЧ, а если эту строчку разделить на две, как указано в примере, то заблокируются все записи с такой номенклатурой и все записи с таким складом независимо друг от друга? А если указать через запятую в использовании из источника данных, но также использовать "УстановитьЗначение", то заблокируются только записи с "объединённой" информацией - номенклатурой из ТЧ, складом из ТЧ и установленным качеством (в каждой записи все три условия выполняются)? |
|||
24
simol
25.03.13
✎
23:24
|
Провел исследование.
Блокировка вида: Блокировка = Новый БлокировкаДанных; ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ТоварыНаСкладах"); ЭлементБлокировки.ИсточникДанных = ТаблицаБлокирования; ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Склад", "Склад"); ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура"); ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; Блокирует именно комбинации склад+номенклатура из таблицы. Прочие комбинации Склад+другаяноменклатура в другом сеансе без проблем блокируется. |
|||
25
simol
25.03.13
✎
23:25
|
8.2.17
|
|||
26
simol
25.03.13
✎
23:26
|
В одной сеансе блокирую пары:
Склад: 000000007 Номенклатура: ОС000000007 Склад: 000000001 Номенклатура: 258 И не завершаю транзакцию. Во втором удачно блокируется пара: Склад: 000000001 Номенклатура: 265 |
|||
27
Reset
26.03.13
✎
09:41
|
(24) Так это, кхм, очевидно было и так. Но, хотя наверняка есть куча мануалов и примеров на эту тему, кому-то лишний раз ткнуть вполне пойдет, пусть будет :)
Тема изначально была про странную запись через запятую в ИспользоватьИзИсточникаДанных, которая для меня оказалась неожиданностью, не встречал ранее. Теперь понятно почему :) - такого варианта использования никогда и не было. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |