Имя: Пароль:
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
мТаблицаДвижений нужна как раз для Приемник.ВыполнитьПриход(); как вспомогательная таблица - ага именно, я хочу получить данные которые идут в запись регистра ПартииТоваровНаСкладах чтобы передать их для проведения через новый регистр ПартииТоваровНаСкладахЗакупкаДопРасходы, котрый будет дублировать данные но немного по другому распределяться. но пока нечего передать(
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой