|
КД: ВыгрузитьРегистр() | ☑ | ||
---|---|---|---|---|
0
hawksib
28.08.17
✎
13:35
|
вопрос по конвертации данных, для переноса регистра подчиненного регистратору в независимый, нужно переносить набор записей, отобранный по регистратору, что записи в приемнике соответствовали записям источника, процедура ВыгрузитьПоПравилу() выгружает менеджер записи, нашел в интернете, что есть такая процедура ВыгрузитьРегистр(), использую её, действительно выгружается набор, но он почему-то абсолютно пустой, количество записей в наборе соответствует правде, но все записи пустые. Не могу понять, что делаю не так?
не могу найти описание функции ВыгрузитьРегистр() ? в ПКО ЦеныНоменклатуры со всех свойств снял флаги "получить из входящих данных" подскажите, кто знает, или у кого есть какие-либо мысли, мой код ПВД перед выгрузкой: Объект.Прочитать(); Отбор = Новый ТаблицаЗначений; Отбор.Колонки.Добавить ("Имя"); Отбор.Колонки.Добавить ("Значение"); Отбор.Колонки.Добавить ("Использование"); СтрокаОтбора = Отбор.Добавить (); СтрокаОтбора.Имя = "Регистратор"; СтрокаОтбора.Значение = Строка(Объект.Отбор.Регистратор.Значение.УникальныйИдентификатор()); СтрокаОтбора.Использование = Истина; Строки = Новый ТаблицаЗначений; Строки.Колонки.Добавить("Активность"); Строки.Колонки.Добавить("Номенклатура"); Строки.Колонки.Добавить("Период"); Строки.Колонки.Добавить("Характеристика"); Строки.Колонки.Добавить("Цена"); Строки.Колонки.Добавить("ВидЦен"); Строки.Колонки.Добавить("ЕдиницаИзмерения"); Строки.Колонки.Добавить("ГУИДРегистратора"); Для Каждого Запись Из Объект Цикл Строка = Строки.Добавить(); Строка.Активность = Запись.Активность; Строка.Номенклатура = Запись.Номенклатура; Строка.Период = Запись.Период; Строка.Характеристика = Запись.Характеристика; Строка.Цена = Запись.Цена; Строка.ВидЦен = Запись.КатегорияЦен; Строка.ЕдиницаИзмерения = Запись.ЕдиницаИзмерения; Строка.ГУИДРегистратора = Строка(Запись.Регистратор.УникальныйИдентификатор()); КонецЦикла; НаборЗаписей = Новый Структура("Отбор, Строки"); НаборЗаписей.Отбор = Отбор; НаборЗаписей.Строки = Строки; Сообщить(Строки[0].Номенклатура); Сообщить(Строки.Количество()); ВыгрузитьРегистр(НаборЗаписей,,,Ложь,"ЦеныНоменклатуры"); Отказ = Истина; |
|||
1
patapum
28.08.17
✎
13:43
|
(0) Не знаю насчет функции, я переносил движения регистров накопления по ПКС. Чтобы перенеслись, пришлось в объекте в процедуре "после загрузки" принудительно записать наборы записей движений.
|
|||
2
zmaximka
28.08.17
✎
13:44
|
не могу найти описание функции ВыгрузитьРегистр()
Откріть модуль обработки V8Exchan8x.epf, найти процедуру и посмотреть ее параметры. |
|||
3
hawksib
28.08.17
✎
16:28
|
вроде бы понял, в первом параметре должна быть не структура, а набор записей регистра
|
|||
4
vicof
28.08.17
✎
16:49
|
И его прочитать нужно перед выгрузкой, если он в процедуре не читается.
|
|||
5
hawksib
29.08.17
✎
03:55
|
(4) в какой процедуре? ВыгрузитьРегистр?
никаких прочитать не делал, всё получилось |
|||
6
hawksib
29.08.17
✎
04:54
|
в конвертации свойств цены номенклатуры у всех свойств указал источник, Перед выгрузкой свойства "Регистратор" в "ГУИДРегистратора" написал :
Значение = Строка(Источник.Регистратор.УникальныйИдентификатор()) а в ПВД перед выгрузкой: НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Объект.Отбор.Регистратор.Значение); Для Каждого Запись Из Объект Цикл Если ЗначениеЗаполнено(Запись.СтруктурнаяЕдиница) И Запись.СтруктурнаяЕдиница.Ссылка <> Параметры.СтруктурнаяЕдиница.Ссылка Тогда Продолжить; КонецЕсли; Строка = НаборЗаписей.Добавить(); Строка.Активность = Запись.Активность; Строка.Номенклатура = Запись.Номенклатура; Строка.Период = НачалоДня(Запись.Период); Строка.Характеристика = Запись.Характеристика; Строка.Цена = Запись.Цена; Строка.КатегорияЦен = Запись.КатегорияЦен; Строка.ЕдиницаИзмерения = Запись.ЕдиницаИзмерения; Строка.Регистратор = Запись.Регистратор; КонецЦикла; ВыгрузитьРегистр(НаборЗаписей,,,Ложь,"ЦеныНоменклатуры"); Отказ = Истина; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |