Перенос дополнительных реквизитов в Конвертации данных 2.0

13.08.19

Интеграция - Обмен между базами 1C

Пример написания правил обмена (КД 2.0) для переноса дополнительных реквизитов справочника "Номенклатура", в том числе перенос ПВХ с разными типами значений.

Столкнулась с простой на вид задачей, однако решение пришлось собирать по кусочкам на форумах. Выкладываю мой готовый работающий вариант, может кому-то пригодится.

Задача: с помощью правил обмена перенести Дополнительные реквизиты номенклатуры из "старой торговой программы" в УНФ. В обеих конфигурациях дополнительные реквизиты хранятся в табличной части справочника "Номенклатура" и используется план видов характеристик "ДополнительныеРеквизитыИСведения" и справочник "НаборыДополнительныхРеквизитовИСведений". В принципе это все, что для нас важно.

     Шаг 1. Создаем правило обмена для справочника "НаборыДополнительныхРеквизитовИСведений". Он нам понадобится, чтобы потом создать правило обмена для ПВХ.

(скрин 1)

    Шаг 2. Создаем правило обмена для ПВХ "ДополнительныеРеквизитыИСведения". Для каждого элемента пвх нужно указать тип значения. ТипЗначения - это стандартный реквизит ПВХ, но в конвертации он не отображается как реквизит и его нельзя выбрать в качестве приемника. Так что для передачи типа значения будем использовать параметры объекта. Создаем для плана видов характеристик новый ПКС: указываем "Передать данные в параметр", источник - пустой, приемник - "Типы". 

(скрин 2)

Дальше есть два способа - для обмена между идентичными конфигурациями (попроще) и для всех остальных.

Шаг 2 способ №1. Если у вас обмен между двумя одинаковыми конфигурациями, то вы можете использовать функцию ЗначениеВСтрокуВнутр /ЗначениеИзСтрокиВнутр. В созданном ПКС добавляем следующий код "перед загрузкой":

ТипыСвойства = Источник.ТипЗначения.Типы();
Значение = ЗначениеВСтрокуВнутр(ТипыСвойства);




В ПКО плана видов характеристик добавляем процедуру "После выгрузки":

Типы = ЗначениеИзСтрокиВнутр(ПараметрыОбъекта.Получить("Типы"));
Объект.ТипЗначения = Новый ОписаниеТипов(Типы );

 

 

Готово.

Шаг 2 способ №2. Если конфигурации не одинаковые, то предыдущий способ работать не будет. При вызове функции ЗначениеИзСтрокиВнутр тип значения не будет определен (будет Неопределено). Мой вариант - записать типы значений в строку, а затем расшифровать ее на стороне приемника.

ПКС "Типы" "перед загрузкой":

 

ТипыСвойства = Источник.ТипЗначения.Типы();

МассивТиповСтроками = "";

Для Каждого ТипСвойства Из ТипыСвойства Цикл
    МассивТиповСтроками = МассивТиповСтроками+ нрег(СтрЗаменить(Строка(ТипСвойства)," ","")) + ";";
КонецЦикла;

Значение = МассивТиповСтроками;

 


ПКО плана видов характеристик "после выгрузки":

 

ТипыСтрокой = ПараметрыОбъекта.Получить("Типы");

МассивТиповСтрокой = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ТипыСтрокой, ";");
МассивТипов = Новый Массив;

Для Каждого ТипСтрокой Из МассивТиповСтрокой Цикл
    
    Если ТипСтрокой = "дополнительноезначение" Тогда
        МассивТипов.Добавить(Тип("СправочникСсылка.ЗначенияСвойствОбъектов"));
    ИначеЕсли ТипСтрокой = "контрагент" Тогда
        МассивТипов.Добавить(Тип("СправочникСсылка.Контрагенты"));
    //ИначеЕсли ...
    КонецЕсли;
КонецЦикла;

Объект.ТипЗначения = Новый ОписаниеТипов(МассивТипов);

 


Готово.

    Шаг 3. В ПКО справочника "Номенклатура" создаем стандартным способом ПКС для табличной части "Дополнительные реквизиты" и ее реквизитов (скрин 7)

Для ПКС реквизита "Значение" пишем в "перед выгрузкой":

 

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

 



Теперь все готово. Можно пробовать выгружать.

конвертация перенос пвх правила обмена дополнительные реквизиты типов значений данных 2.0 планов видов характеристик для дополнительных реквизитов

См. также

SALE! 10%

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

Обмен между базами 1C Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) в продаже с 2015 года, постоянно работаем над их развитием | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

50722 45650 руб.

04.08.2015    160264    368    268    

349

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    135532    730    291    

391

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.226.x) и БП 3.0 (3.0.151.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    20603    137    38    

94

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

38500 34650 руб.

15.04.2019    68820    179    139    

111

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 руб.

23.07.2020    46751    199    64    

162

SALE! 10%

Перенос данных из БП 3.0 в УТ 11 / КА 2 / ERP 2. Переносятся начальные остатки, документы и справочники

Обмен между базами 1C Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

В продаже с 2014г. | Воспользовались более 122 предприятий! | Перенос данных из БП 3.0 в УТ 11 | из БП 3.0 в КА 2 | из БП 3.0 в ERP | Сэкономьте свое время - используйте готовое решение для перехода! | Постоянно работаем над развитием переноса данных | Обновляем на новые релизы 1С | Есть фильтр выгрузки по организациям | Переносятся начальные остатки на выбранную дату, документы за период времени и вся возможная справочная информация | Перенос сделан на технологии КД 2 (правила конвертации данных)

50722 45650 руб.

31.10.2014    231878    124    327    

296

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6. Переносятся остатки, документы и справочная информация

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Оказываем техподдержку | В комплект файлов входит инструкция, авторская версия обработки "Универсальный обмен...", актуальные правила переноса данных и архив старых версий переноса | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

50722 руб.

10.07.2018    67743    41    123    

46

SALE! 10%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

48278 43450 руб.

03.12.2020    34411    81    58    

78
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. el07 1 13.08.19 16:13 Сейчас в теме
Здравствуйте. Благодарю, пока не возникало такой ситуации, но вполне может потом пригодиться.
+
2. fancy 35 14.08.19 07:30 Сейчас в теме
В ПКО плана видов характеристик добавляем процедуру "После выгрузки":

в двух местах пишите "После выгрузки", должно быть "После загрузки" и на скриншотах вижу, поправьте
+
3. vikulinamari 67 14.08.19 09:31 Сейчас в теме
4. jaroslav.h 180 05.10.19 14:43 Сейчас в теме
При загрузке правил по сопсоб №1 получаю

Метод объекта не обнаружен (ПКО_ПослеЗагрузки_НазначенияСвойствКатегорийОбъектов)

требуется в результате перенести ТипыЗначений ПВХ
+
5. vikulinamari 67 09.10.19 15:03 Сейчас в теме
(4)
Расскажите поподробнее. В какой момент возникает ошибка? Какой полный текст?
+
6. user1310985 18.11.19 15:11 Сейчас в теме
Добрый день!
По способу №2 не выгружает, вылазит ошибка
Прикрепленные файлы:
+
7. par_62 24.02.20 08:03 Сейчас в теме
А в узлы писать не пробовали? Ведь так гораздо проще и логичнее. И опять же можно записать что угодно. Мы часто забывпем,что конвертация это прежде всего файл формата xml и если мы его формируем,то мы можем писать что угодно,лишь бы правильно разобрали при загрузке
+
8. isiter 26.11.20 22:49 Сейчас в теме
Спасибо вам огромное. Мучаюсь который день. Очень помогла ваша статья.
+
9. EnsTaiN 17.03.22 05:12 Сейчас в теме
Шаг 2 способ №1 - тут не выгружаются квалификаторы даты, числа, строки
Но если немного упростить то работает:

Значение = ЗначениеВСтрокуВнутр(Источник.ТипЗначения);

Объект.ТипЗначения = ЗначениеИзСтрокиВнутр(ПараметрыОбъекта.Получить("Типы"));
svilsa; +1
14. svilsa 12 09.01.24 15:38 Сейчас в теме
(9)
Объект.ТипЗначения = ЗначениеИзСтрокиВнутр(ПараметрыОбъекта.Получить("Типы"));

Спасибо, так перенеслись точности чисел и длины строк
+
10. vika64 75 26.12.22 18:00 Сейчас в теме
спасибо!! способ 1 - все получилось!!
svilsa; +1
11. ImHunter 315 14.01.23 13:01 Сейчас в теме
Перенес типы через ОбщегоНазначения.ЗначениеВСтрокуXML / ЗначениеИзСтрокиXML. Т.е., это ближе к 2-му способу, только на БСП.
denmon88; +1
13. denmon88 32 14.07.23 11:08 Сейчас в теме
(11)
ОбщегоНазначения.ЗначениеВСтрокуXML / ЗначениеИзСтрокиXML


Спасибо. Код отработал без ошибок

Значение = ОбщегоНазначения.ЗначениеВСтрокуXML(Источник.ТипЗначения);

Объект.ТипЗначения = ОбщегоНазначения.ЗначениеИзСтрокиXML(ПараметрыОбъекта["Типы"]);
+
12. Ali_q 1 16.05.23 15:09 Сейчас в теме
Спасибо, помог 2 способ
+
Оставьте свое сообщение