Имя: Пароль:
1C
1С v8
Добавление движений в документ.
,
0 Koliaff
 
03.10.13
00:23
УТ 10.3 Переделываю документ "Перемещение". В самом конце процедуры "Обработка проведения" написал вот такой код :

Для Каждого СтрТаблицаКомплектов из ТаблицаКомплектов Цикл
          Движение = Движения.ТоварыНаСкладах.Добавить();
          Движение.Период = Дата;
          Движение.Регистратор = Ссылка;
          Движение.Номенклатура = СтрТаблицаКомплектов.номенклатура;
          Движение.Количество =  СтрТаблицаКомплектов.Количество;
          Движение.Склад =  СкладПолучатель;
          
          
          Движение = Движения.ТоварыОрганизаций.Добавить();
          Движение.Период = Дата;
          Движение.Регистратор = Ссылка;
          Движение.Номенклатура = СтрТаблицаКомплектов.номенклатура;
          Движение.Количество =  СтрТаблицаКомплектов.Количество;
          Движение.Организация = Организация;
          Движение.Склад =  СкладПолучатель;
          
          Движение = Движения.ПартииТоваровНаСкладах.Добавить();
          Движение.Период = Дата;
          Движение.Регистратор = Ссылка;
          Движение.Номенклатура = СтрТаблицаКомплектов.Номенклатура;
          Движение.Количество =  СтрТаблицаКомплектов.Количество;
          Движение.ДокументОприходования = Ссылка;
          Движение.Качество = Справочники.Качество.Новый;
          Движение.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный;
          Движение.Стоимость =  СтрТаблицаКомплектов.Стоимость;
           Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
          Движение.КодОперации = Перечисления.КодыОперацийПартииТоваров.Комплектация;
          Движение.СписаниеПартий = Ложь;
          Движение.Склад =  СкладПолучатель;
    КонецЦикла;    

==========================================
До этого кода формируются движения по регитру "Партии товаров на складах".
Почему-то с внедрением этого кода эти движения исчезают и появляются лишь те, которые в цикле записываются. По другим регистрам "ТоварыНаСкладах" и "ТоварыОрганизаций" все ок. К тем движениям которые были плюсуются те, которые в цикле.
=========================================
Почему исчезают движения по регистру "Партии товаров на складах" ?
1 Asmody
 
03.10.13
00:28
Потому что с партиями в УТ не всё так просто
2 Koliaff
 
03.10.13
00:30
(1) Что сделать-то надо ? )
3 Asmody
 
03.10.13
00:31
(2) разобраться с механизмом партионного учета
4 Koliaff
 
03.10.13
00:32
(3) Здесь не механизм партионного учета, а какая-то фича с записью именно в этот регистр. )
5 Koliaff
 
03.10.13
00:34
Если кусок дозаписи комментирую вот так :
          //Движение = Движения.ПартииТоваровНаСкладах.Добавить();
          //Движение.Период = Дата;
          //Движение.Регистратор = Ссылка;
          //Движение.Номенклатура = СтрТаблицаКомплектов.Номенклатура;
          //Движение.Количество =  СтрТаблицаКомплектов.Количество;
          //Движение.ДокументОприходования = Ссылка;
          //Движение.Качество = Справочники.Качество.Новый;
          //Движение.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный;
          //Движение.Стоимость =  СтрТаблицаКомплектов.Стоимость;
          // Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
          //Движение.КодОперации = Перечисления.КодыОперацийПартииТоваров.Комплектация;
          //Движение.СписаниеПартий = Ложь;
          //Движение.Склад =  СкладПолучатель;

==========================
Движения по партиям формируются те, которые были до внедрения кода )
6 Koliaff
 
03.10.13
00:39
Думаю в этом проблема ДвиженияРегистра.Записать(Истина);
Принудительная запись ...
Я прав ? )
7 hhhh
 
03.10.13
01:38
(6) вообще-то там через НаборЗаписей пишется. Чего вы через Движения фигачите? Юморист.
8 Конфигуратор1с
 
03.10.13
02:06
(0)  НаборДвижений=РегистрыНакопления[стрРегистр].СоздатьНаборЗаписей();
    НаборДвижений.Отбор.Регистратор.Установить(Док.Ссылка);
    НаборДвижений.Прочитать();
ну и в набор загоняешь свои движения
9 DosBot
 
03.10.13
04:34
... и вообще, лучше всё это делать через подписку на событие а не в модуле документа..