| 
    
        
     
     | 
    
  | 
БлокировкаДанных. Метод ИспользоватьИзИсточникаДанных | ☑ | ||
|---|---|---|---|---|
| 
    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) Так это, кхм, очевидно было и так. Но, хотя наверняка есть куча мануалов и примеров на эту тему, кому-то лишний раз ткнуть вполне пойдет, пусть будет :)
  
        Тема изначально была про странную запись через запятую в ИспользоватьИзИсточникаДанных, которая для меня оказалась неожиданностью, не встречал ранее. Теперь понятно почему :) - такого варианта использования никогда и не было.  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |