8.х Перевод документа "Реализация товаров и услуг" на управляемые блокировки

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем acherey, 11 май 2011.

  1. TopicStarter Overlay
    acherey
    Offline

    acherey Опытный в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Добрый день всем.
    УТ 10.3.3.3
    Хочу перевести документ "Реализация товаров и услуг" на управляемые блокировки.

    В процедуре ОбработкаПроведения этого документа начал вписывать блокировки регистров по которым есть движения этого документа

    Код:
    ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ВзаиморасчетыСКонтрагентами.НаборЗаписей");
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.УстановитьЗначение("Регистратор",Ссылка);
    
    вот в таком формате.
    Далее после отладки пытаюсь провести документ, и он жалуется вот на эту процедуру

    Код:
    Процедура ЗарегистрироватьМестоСозданияОбъектаИнформационнойБазы(СсылкаНаОбъект, УзелОбмена = Неопределено)
    
    
    НаборЗаписейРегистра = РегистрыСведений.ОбъектыИнформационныхБаз.СоздатьНаборЗаписей();
    НаборЗаписейРегистра.Отбор.Объект.Установить(СсылкаНаОбъект);
    
    СтрокаНабора = НаборЗаписейРегистра.Добавить();
    СтрокаНабора.Объект = СсылкаНаОбъект;
    СтрокаНабора.УзелОбмена = УзелОбмена;
    
    НаборЗаписейРегистра.Записать();
    
    КонецПроцедуры
    
    конкретнона строку
    Код:
    НаборЗаписейРегистра.Записать();
    
    Правильно ли я понимаю, что требуется установить блокировку на этот регистр? и Как это сделать?
    Заранее спасибо за помощь.
  2. TopicStarter Overlay
    acherey
    Offline

    acherey Опытный в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    с этим разобрался, заблокировав 2 регистра
    Код:
    	    Блокировка					    	= Новый БлокировкаДанных;
    ЭлементБлокировки					= Блокировка.Добавить("РегистрСведений.ОбъектыДоступаДокументов");
    ЭлементБлокировки.Режим 			= РежимБлокировкиДанных.Исключительный;
    Блокировка.Заблокировать();
    
    ЭлементБлокировки					= Блокировка.Добавить("РегистрСведений.ОбъектыИнформационныхБаз");
    ЭлементБлокировки.Режим 			= РежимБлокировкиДанных.Исключительный;
    Блокировка.Заблокировать();
    
    но дальше жалуется на процедуру
    Код:
    Процедура ЗаписатьДвижения(ДвиженияРегистра, ТаблицаДвиженийРегистра, Замещать, ДвижениеНДСПродукции = Ложь, ТолькоВключениеНДСВСтоимость = Неопределено)
    
    // При замещении нужно удалять записи, сформированные прошлым списанием партий (СписаниеПартий=Истина),
    // если у регистра есть реквизит СписаниеПартий, то нужно удалить строки с Истина
    
    ДМ = ДвиженияРегистра.Метаданные();
    ЕстьРеквизитСписаниеПартий = (ДМ.Реквизиты.Найти("СписаниеПартий") <> Неопределено);
    
    Если Замещать И ЕстьРеквизитСписаниеПартий Тогда
    
    Если ТаблицаДвиженийРегистра=Неопределено Тогда
    ТаблицаДвиженийРегистра = ДвиженияРегистра.Выгрузить();
    КонецЕсли;
    
    ДвиженияРегистра.Прочитать();
    
    Инд = ДвиженияРегистра.Количество();
    Пока Инд >0 Цикл
    Инд = Инд - 1;
    Если ДвиженияРегистра[Инд].СписаниеПартий тогда
    ДвиженияРегистра.Удалить(Инд);
    КонецЕсли;
    КонецЦикла;
    
    // Заполним параметр "Списание партий"
    ТаблицаДвиженийРегистра.ЗаполнитьЗначения(Истина, "СписаниеПартий");
    
    ОбщегоНазначения.ДобавитьСтрокиВНаборЗаписей(ДвиженияРегистра, ТаблицаДвиженийРегистра);
    
    ДвиженияРегистра.Записать(Истина);
    
    Иначе
    
    Если ТаблицаДвиженийРегистра<>Неопределено Тогда
    
    // Заполним параметр "Списание партий"
    Если ЕстьРеквизитСписаниеПартий Тогда
    ТаблицаДвиженийРегистра.ЗаполнитьЗначения(Истина, "СписаниеПартий");
    КонецЕсли;
    
    ОбщегоНазначения.ДобавитьСтрокиВНаборЗаписей(ДвиженияРегистра, ТаблицаДвиженийРегистра);
    КонецЕсли;
    
    ДвиженияРегистра.Записать(Замещать);
    
    КонецЕсли;
    
    КонецПроцедуры//ЗаписатьДвижения
    
    понятно, что нужно заблокировать какой то регистр, а какой именно не пойму
  3. TopicStarter Overlay
    acherey
    Offline

    acherey Опытный в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Неужели никто не даст совета?
    неужели никто не сталкивался?
  4. TopicStarter Overlay
    acherey
    Offline

    acherey Опытный в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26

    ну дайте хоть какую-нибудь подсказку.....
  5. StellaDeMare
    Offline

    StellaDeMare Опытный в 1С

    Регистрация:
    9 фев 2010
    Сообщения:
    67
    Симпатии:
    0
    Баллы:
    26
    а когда жалуется что конкретно говорит? В сообщении об ошибке. что написано?

Поделиться этой страницей