Имя: Пароль:
1C
1С v8
Конвертация данных. Перенос дополнительных реквизитов.
,
0 yegorka
 
19.02.14
22:10
Здравствуйте,

Перенос элементов справочника Номенклатура между БД одинаковой конфигурации (БП 2). Необходимо для выгружаемой Номенклатуры перенести дополнительные реквизиты (значения из РС ЗначенияСвойствОбъектов).
Реквизиты переносятся, но в БД приемнике оказываются не типизированными.

Может есть добрые люди с примером корректного переноса доп. реквизитов между одинаковыми конфигурациями. Поделитесь, плиз.
1 Aleksey
 
19.02.14
22:37
это же обычный РС, что там переносить то?
2 yegorka
 
19.02.14
22:41
Ну вот бьюсь сегодня весь день. Не могу корректно перенести.
Учитывай, что мне весь РС не нужен, а только по той номенклатуре, которая выгружается (по ссылкам).
3 ЧашкаЧая
 
19.02.14
22:55
((1) Не скажите. Там значения составного типа и более того планы видов характеристик. Для правильного создания последних нужно передавать типы значений.
4 Aleksey
 
19.02.14
22:56
(2) ВыгрузитьПоПравилу() после выгрузки
5 yegorka
 
19.02.14
22:58
(3) Да, такое ощущение, что нужно, но куда не понятно.
(4) Так и делаю, выборкой получаю значения и в цикле их выгружаюпоправилу.
6 yegorka
 
19.02.14
22:58
(3) Самое интересное, что даже простые типы Дата, Строка не проходят.
7 ЧашкаЧая
 
19.02.14
23:04
(6) Для ПВХ в параметрах нужно передавать типы значений этого ПВХ. Завтра с работы кину пример, если будет необходимость.
8 yegorka
 
19.02.14
23:06
(7) Да есть необходимость, даже острая :-)
Очень буду благодарен.
9 ilyavorobyev
 
19.02.14
23:07
Делал так, в ПКС добавил табличную часть дополнительные реквизиты и для нее получить из входящих данных, и написал такое в пко в перед выгрузкой
СтрокаВходДанных = ВходящиеДанные.ДополнительныеРеквизиты.Добавить();
СтрокаВходДанных.Значение = Источник.КорпоративныйКлиент;
СтрокаВходДанных.ТекстоваяСтрока = "";
10 yegorka
 
19.02.14
23:13
Я делаю вот так:
            Запрос = Новый Запрос;
            Запрос.Текст =
                "ВЫБРАТЬ
                |    ЗначенияСвойствОбъектов.Объект,
                |   ЗначенияСвойствОбъектов.Свойство,
                |    ЗначенияСвойствОбъектов.Значение
                |ИЗ
                |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                |ГДЕ
                |    ЗначенияСвойствОбъектов.Объект = &Объект";

            Запрос.УстановитьПараметр("Объект", Объект.Ссылка);

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

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

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


ПКО ЗначенияСвойствОбъектов получает данные из входящих данных. Его и руками создавал и конструктором, результат одни в БД приемнике значения реквизитов НЕ ТИПИЗИРОВАНЫ

Не знаю на сколько корректно, вот здесь сегодня обсуждал эту проблему http://1c-pro.ru/threads/perenos-dopolnitelnyx-svojstv-dokumenta-mezhdu-odinakovymi-bd.74/

Там есть и картинки и правила обмена, можно лучше понять суть проблемы
11 ilyavorobyev
 
19.02.14
23:59
(10) а что в пко?табличная часть доп реквизиты?
12 ЧашкаЧая
 
20.02.14
09:57
В продолжении (7)
1. Для ПКО плана видов характеристик добавить параметр в котором передаются типы значений ПВХ
http://screencast.com/t/bLSycOR8pObV
2. В самом ПКО плана видов характеристик
http://screencast.com/t/STwohHaSrH
13 yegorka
 
20.02.14
11:21
(12) по картинкам не совсем понятно, может сбросите кусок правил на почту?
14 yegorka
 
20.02.14
12:08
(12) Разобрался, спасибо огромное, все работает!!!