Имя: Пароль:
1C
1С v8
КД. При выгрузке РС выгружается только одна запись
0 Puzoter
 
02.06.14
11:30
Выгружаю РС подчиненный регистратору.
В обработчике "после записи" ищу нужный док и подставляю его в качестве регистратора для каждой записи

Вот код обработчика:

        Запрос = Новый Запрос;
         *
         *
         *
        Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Если  ВыборкаДетальныеЗаписи.Следующий() Тогда
        //Сообщить("Найден документ ""Перенос данных""");
        Объект.Регистратор = ВыборкаДетальныеЗаписи.Ссылка;
    Иначе
        Сообщить("Не найден документ ""Перенос данных""");
    КонецЕсли;

После загрузки оказывается, что в регистре одна единственная запись.
Если же для каждой записи подставлять свой регистратор, то все нормально - данные переносятся в полном объеме.
Подскажите, почему так происходит? Почему один и тот же регистратор не получается использовать для всех записей РС
1 1cVandal
 
02.06.14
11:33
вот дофига понятно из того что дал, телепаты ау
2 Господин ПЖ
 
02.06.14
11:35
перетираицо... ибо каждая запись для КД представляется набором записей
3 Naumov
 
02.06.14
11:36
(0) движения перезаписываются перетирая предыдущий набор записей. Пиши сам, не перетирая.
4 Puzoter
 
02.06.14
11:54
(3) А как это лучше сделать? Передать ТЗ через параметр и сформировать записи в событии "После загрузки данных"?
5 Йохохо
 
02.06.14
11:58
(4) сделать как перенос тч, всю выборку в коллекцию значений группы свойств одного дока
6 Puzoter
 
02.06.14
13:13
(5) Тут еще проблема в том, что РС периодический и нужно перенести срез последних.

В ПВД этого РС в обработчике "перед обработкой"
я пишу

тзРаботникиОрганизаций = РегистрыСведений.РаботникиОрганизаций.СрезПоследних(РабочаяДата);
тзРаботникиОрганизаций.выбратьстроку();
ВходящиеДанные = Новый структура;
ВходящиеДанные.Вставить("РаботникиОрганизаций",тзРаботникиОрганизаций);
ВыгрузитьПоПравилу(,,ВходящиеДанные,,"ПереносДанных");

Но при выгрузке выходит сообщение

"Получение элемента по индексу для значения не определено"

Что я делаю не так, может есть у кого-нить ссылка на подробный пример?
7 Puzoter
 
02.06.14
17:49
Разобрался. Поясню для тех, кто заинтересуется темой.

В обработчике ПВД "Перед обработкой" док-та "Перенос данных"
использовал такой код:

тзРаботникиОрганизаций = РегистрыСведений.РаботникиОрганизаций.СрезПоследних(РабочаяДата,Новый Структура("Организация",Параметры.ВыбОрганизация));

Для Каждого Стр из ТзРаботникиОрганизаций Цикл
    Стр.Регистратор = Новый Структура("Дата,Организация",Дата(2014,1,1),Стр.Организация);
    Стр.Период = Дата(2014,1,1);
КонецЦикла;

ВходящиеДанные = Новый структура;

ТаблицаИменРегистров = Новый ТаблицаЗначений();               //ТаблицаРегистровСведений
ТаблицаИменРегистров.Колонки.Добавить("Имя");
ТаблицаИменРегистров.Колонки.Добавить("Представление");

СтрокаТаблицы = ТаблицаИменРегистров.Добавить();
СтрокаТаблицы.Имя = "РаботникиОрганизаций";
СтрокаТаблицы.Представление = "РаботникиОрганизаций";


ВходящиеДанные.Вставить("Дата",Дата(2014,1,1));
ВходящиеДанные.Вставить("ТаблицаРегистровСведений",ТаблицаИменРегистров);
ВходящиеДанные.Вставить("Организация",Параметры.ВыбОрганизация);
ВходящиеДанные.Вставить("РаботникиОрганизаций",тзРаботникиОрганизаций);
ВыгрузитьПоПравилу(,,ВходящиеДанные,,"ПереносДанных");

В ПКО "Перенос данных" добавил группы свойств "РаботникиОрганизации" и "ТаблицаРегистровСведений" и добавил в них соотв. свойства (реквизиты РС РаботникиОрганизаций и "Имя" и "Представление" соответственно)
Так же добавил параметр типа "Организация" для отбора - но это частный случай.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший