![]() |
![]() |
|
КД. При выгрузке РС выгружается только одна запись | ☑ | ||
---|---|---|---|---|
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)); ВходящиеДанные.Вставить("ТаблицаРегистровСведений",ТаблицаИменРегистров); ВходящиеДанные.Вставить("Организация",Параметры.ВыбОрганизация); ВходящиеДанные.Вставить("РаботникиОрганизаций",тзРаботникиОрганизаций); ВыгрузитьПоПравилу(,,ВходящиеДанные,,"ПереносДанных"); В ПКО "Перенос данных" добавил группы свойств "РаботникиОрганизации" и "ТаблицаРегистровСведений" и добавил в них соотв. свойства (реквизиты РС РаботникиОрганизаций и "Имя" и "Представление" соответственно) Так же добавил параметр типа "Организация" для отбора - но это частный случай. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |