Вход | Регистрация
 

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

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

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

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

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


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


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

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.