Имя: Пароль:
1C
1С v8
v8: УТП, запись движений в р.н."ТоварыНаСкладах" - не могу понять суть
0 dave2000
 
30.10.12
19:45
Во всех типовых конфигурациях (УПП,УТП и т.д.) есть док "СписаниеТоваров". При проведении документа, я так понял, движения по регистру ТоварыНаСкладах формируются, но записываются неявно. Но вот что мне неясно, в отладчике на конец выполнения процедуры вижу следующее:

Движения.ТоварыНаСкладах.Модифицированность() = Истина
Движения.ТоварыНаСкладах.Количество() = 3
Движения.ТоварыНаСкладах.Записывать = Ложь
Движения.ТоварыНаСкладах.мТаблицаДвижений[0].Активность = Ложь
Движения.ТоварыНаСкладах.мТаблицаДвижений[0].ВидДвижения = Приход

Ерунда какая-то (Записывать=Ложь, ВидДвижения=Приход, Активность=Ложь), но после проведения документа движения по регистру есть, всё ок, с ВидомДвижения=Расход. Почему так? Где оно ещё проходит обработку? Или я может не туда смотрю?
1 ДенисЧ
 
30.10.12
19:48
в подписке смотрел?
2 dave2000
 
30.10.12
19:51
да, заглядывал, в подписке ничего не нашёл
3 pumbaEO
 
30.10.12
19:52
В каких это УТП есть такой код Движения.ТоварыНаСкладах.Количество() = 3 ?

И что нет таких строк Движения.СписанныеТовары.ВыполнитьДвижения(); ?
4 dave2000
 
30.10.12
19:58
(3) это не код, это значения из отладчика на конец проведения процедуры ОбработкаПроведения().
А при чем тут СписанныеТовары? Меня интересуют ТоварыНаСкладах.
5 pumbaEO
 
30.10.12
20:01
НаборДвижений = Движения.ТоварыНаСкладах;
ОбщегоНазначения.ЗаписатьТаблицыДокументаВРегистр(НаборДвижений, ВидДвиженияНакопления.Расход, ТаблицыДанныхДокумента, Дата);
6 Vladal
 
30.10.12
20:19
(0) Открой модуль набора записей и посмотри в процедурах ВыполнитьПриход и ВыполнитьРасход. Они вызывают процедуру из (5)
7 dave2000
 
30.10.12
20:19
(5) есть такое дело, на счет ВидаДвижения вопрос отпал. Но всё же непонятно, как происходит неявная запись движений в регистр, если свойство Записывать=Ложь? Ведь внутри вызова ЗаписатьТаблицыДокументаВРегистр() и далее до конца проведения явной записи в регистр нет.
8 dave2000
 
30.10.12
20:25
(6) да, но эти методы вызываются только при явной записи в регистр.
9 hhhh
 
30.10.12
20:34
(8) всё-таки поищи ВыполнитьРасход в конфе. Чего ты гадаешь на кофейной гуще.
10 dave2000
 
30.10.12
21:12
Всё, разобрался! В метаданных документа свойство ЗаписьДвиженийПриПроведении=ЗаписыватьМодифицированные, а это значит, что будут записываться все движения, у которых Модифицированность()=Истина, вне зависимости от значения свойства "Записывать".
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн