semtesem,
Quote
Движения.ОстаткиНоменклатуры.Записывать = Истина;
//если ложь, то при .Записать() не будет происходить ничего?
Всё зависти от свойства документа: запись движений при проведении, по умолчанию (правильно) - выбранные.
Если выбранные - будет ли запись набора записей завистит от свойства набора записей Записывать = Истина
Quote
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения =Истина;
//Например документ двигал остатки по Номенклатура1,
//Нам нужно очистить перед анализом движения нашего документа
//Но кто-то другой увидев освободившиеся остатки может по ним тоже
//сделать анализ. Это значение вызовет блокировку при .Записать()
//тех позиций которые документ затрёт на время проведения автоматически
Движения.ОстаткиНоменклатуры.Записать();
Не верно. Набор записей ещё не прочитан (пуст) и он не может заблокировать движения которые сделал данный регистратор.
свойство БлокироватьДляИзменения = Истина перед записью пустого набора делается в том случае если установлен режим разделения итогов РН.
Quote
//Но нам нужно еще и новые данные по Номенклатуре2, которая появилась, к примеру в ТЧ
//Документа на время анализа придержать данные
Всё что будет в ТЧ всё заблокируется (я пологаю и Номенклатура1 и Номенклатура2)
Quote
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлементБлокировки.УстановитьЗначение("Склад", Склад);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
Блокировка.Заблокировать();
//Это делает такая конструкция.
Констуркция верная
Quote
Вывод обе блокировки нужны ?
Нужны обе блокировки, но выводы не верные.
Я рекомедую Вам посмотреть моё решение. Там Расходная делает проведение по новый методике в случае Перемещения.
И там свойство БлокироватьДляИзменения = Истина используется по своему "прямому назначению".