Имя: Пароль:
1C
 
Получить данные в мТаблицаДвижений регистра накопления
0 Pchelinka
 
18.10.19
17:01
Всем привет, столкнулась с проблемкой- по некоторым документам не получается отловить движение в Регистре накопления ПартииТоваровНаСклада ПередЗаписью. мТаблицаДвижений пуста(( Вот например, док Поступление товаров и услуг проводит запись через общий модуль:

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

Подскажите, пожалуйста, как в Регистре накопления ПартииТоваровНаСклада ПередЗаписью получить заполненную мТаблицаДвижений или может получить из документа ТаблицыДанныхДокумента..?

Даже если обращаюсь к документу там мТаблицаД тоже пуста(( Вот пока что имею в Регистре накопления ПартииТоваровНаСклада :


Движения = РегистрыНакопления.ПартииТоваровНаСкладах.СоздатьНаборЗаписей();
    
    Движения.Отбор.Регистратор.Значение = ЭтотОбъект.Отбор.Регистратор.Значение.Ссылка;
    Движения.Прочитать();
    
    ДокСсылка= ЭтотОбъект.Отбор.Регистратор.Значение.Ссылка;
    ОбъектДок = ДокСсылка.ПолучитьОбъект();
    ДвиженияДок = ОбъектДок.Движения;
    ОбъектДок.ТаблицыДанныхДокумента;
    
    Приемник = РегистрыНакопления.ПартииТоваровНаСкладахЗакупкаДопРасходы.СоздатьНаборЗаписей();
    Приемник.Отбор.Регистратор.Установить(ЭтотОбъект.Отбор.Регистратор.Значение.Ссылка);
    
    Приемник.Загрузить(Движения.Выгрузить());
    Приемник.мПериод = ЭтотОбъект.мПериод;
Если ТипЗнч(ЭтотОбъект.Отбор.Регистратор.Значение.Ссылка)=Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда
          Приемник.ВыполнитьПриход();
        КонецЕсли;
      
        Приемник.Записать(Истина);
1 Pchelinka
 
18.10.19
17:03
//  Приемник.мТаблицаДвижений=ЭтотОбъект.мТаблицаДвижений;
2 shuhard
 
18.10.19
17:03
(0) поставь точку останова перед записью регистра - получишь ответ
3 vicof
 
18.10.19
17:09
ОбъектДок.ТаблицыДанныхДокумента и вот это работает?
4 hhhh
 
18.10.19
17:12
(1) выкиньте строчку      Приемник.ВыполнитьПриход();
5 Pchelinka
 
18.10.19
17:14
я ставила точку останова, увидела что пусто в мТаблицаДвижений в регистре и в ОбъектДок.Движения она не заполняется.


ОбъектДок.ТаблицыДанныхДокумента и вот это работает?-нее)) сорри это я для точки останова уже теряя надежду.. в самом доке есть эта переменная которая должна заполнять там мТД)))
6 Pchelinka
 
18.10.19
17:15
(1) выкиньте строчку      Приемник.ВыполнитьПриход(); та сюда можно пока не смотреть.. мне бы таблицу данных получить какой-то хитростью
7 hhhh
 
18.10.19
17:18
(6) ну вот же ваша таблица

Приемник.Загрузить(Движения.Выгрузить());

или вы еще дополнительно что-то приплюсовываете?
8 Pchelinka
 
18.10.19
17:22
Приемник.Загрузить(Движения.Выгрузить());  тут Источник -Движения =РегистрыНакопления.ПартииТоваровНаСкладах.СоздатьНаборЗаписей();
имея пустую таблицу данных как раз ничего не ложет( мне нужно чтобы в источнике заполнилась  мТаблицаДвижений
9 Pchelinka
 
18.10.19
17:23
я так поняла что через общий модуль через кучу процедур сюда в РН ПередЗаписью только построчно забегает проверка
10 Pchelinka
 
18.10.19
17:25
наверное прийдется таки в документах дописывать отдельные записи напрямую заполняющие новый регистр, а не перехватывая движение при записи старого регистра((
11 hhhh
 
18.10.19
17:29
(8) мТаблицаДвижений нужна как раз для Приемник.ВыполнитьПриход(); как вспомогательная таблица

если вы не делаете ВыполнитьПриход(), то мТаблицаДвижений нахрен никому не нужна.
12 Pchelinka
 
18.10.19
17:35
мТаблицаДвижений нужна как раз для Приемник.ВыполнитьПриход(); как вспомогательная таблица - ага именно, я хочу получить данные которые идут в запись регистра ПартииТоваровНаСкладах чтобы передать их для проведения через новый регистр ПартииТоваровНаСкладахЗакупкаДопРасходы, котрый будет дублировать данные но немного по другому распределяться. но пока нечего передать(