Отбор по фильтру доп. реквизитов в конвертации и сопоставление с реквизитом объекта.

1. tirli41 4 19.06.25 07:21 Сейчас в теме
Всем привет, используется конвертация 2.1. Задача перенести определенные доп. реквизиты из одной базы в другую (конфигурации разные), правила сделаны обмен работает, спасибо теме https://infostart.ru/1c/articles/1107301/
Сейчас переносятся все доп. реквизиты, необходимо настроить правила для переноса нескольких конкретных, подскажите где это сделать?
На снимке файл выгрузки xml, а также карточки номенклатуры из источника и приемника.
Еще момент в файле выгрузки выгружаются значения, но у них Имя="Значение", а должно быть Имя="ПинКод", но тем не менее почему-то работает:-)
Как сделать соответствие доп. реквизита из базы источник для реквизита объекта справочника Номенклатура в базе приемник?
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
43. tirli41 4 25.06.25 10:53 Сейчас в теме
(42) теперь все получилось, когда указал источник правильно.
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 19.06.25 07:45 Сейчас в теме
(1) В ПКГС убрать лишние записи.
3. tirli41 4 19.06.25 07:53 Сейчас в теме
(2) уточните ПКГС какого объекта?
4. RustamZz 19.06.25 08:15 Сейчас в теме +1 $m
(3) ДополнительныеРеквизиты справочника Номенклатура.
5. tirli41 4 19.06.25 09:26 Сейчас в теме
(4) да все отработало, снимок во вложении.
Остался только вопрос, как сделать соответствие доп. реквизита из базы источник для реквизита объекта справочника Номенклатура в базе приемник?
Прикрепленные файлы:
6. RustamZz 19.06.25 09:44 Сейчас в теме
(5) Реквизит ТЧ в Реквизит объекта? Вроде бы в БСП есть функция через нее получите и в ПКС заполняйте Значение.
7. tirli41 4 19.06.25 09:52 Сейчас в теме
(6) можно по подробнее ПКС какого объекта?
8. RustamZz 19.06.25 09:57 Сейчас в теме
9. tirli41 4 19.06.25 10:00 Сейчас в теме
(8) обработчик события «После выгрузки»?
10. RustamZz 19.06.25 10:39 Сейчас в теме
11. tirli41 4 19.06.25 12:37 Сейчас в теме
12. RustamZz 19.06.25 14:16 Сейчас в теме
(11)
Значение = УправлениеСвойствами.ЗначениеСвойства(Источник, Свойство);
13. tirli41 4 19.06.25 14:57 Сейчас в теме
(12) итак на текущий момент создано ПКО Производители (там сделан поиск по Наименованию) и ПКС Производитель, при обмене в приемнике реквизит не заполняется, хотя в файле выгрузки присутствует, что еще осталось?
Прикрепленные файлы:
14. RustamZz 19.06.25 15:02 Сейчас в теме
(13) А в ПКС почему кода нет?
15. tirli41 4 19.06.25 15:28 Сейчас в теме
(14) знать бы какой код:-) для заполнения Значения
16. RustamZz 19.06.25 15:37 Сейчас в теме
17. tirli41 4 20.06.25 06:49 Сейчас в теме
(16) уточните нужно ли заполнять поле Источник и правило, на снимке в зеленой рамке?
Прикрепленные файлы:
18. RustamZz 20.06.25 08:13 Сейчас в теме
(17) Источник - нет, правило - да.
19. tirli41 4 23.06.25 09:14 Сейчас в теме
(18) итак справочник Производители есть, в нем явно указан поиск по Наименованию, в справочнике Номенклатура создан реквизит Производитель без источника, и подключено ПКО Производители.
Если это ПКО убрать (т.е. пусто поле) тогда файл выгрузки содержит следующие данные:

<Свойство Имя="Свойство" Тип="ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения">
<Ссылка НеСоздаватьЕслиНеНайден="true" ПродолжитьПоиск="true">
<Свойство Имя="{УникальныйИдентификатор}" Тип="Строка" ТипИсточника="ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения" ТипПриемника="ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения">
<Значение>330f57fe-f33c-11ea-890c-001dd8b726e0</Значение>
</Свойство>
<Свойство Имя="Имя" Тип="Строка">
<Значение>Номенклатура_Завод</Значение>
</Свойство>
</Ссылка>
</Свойство>
<Свойство Имя="ТекстоваяСтрока" Тип="Строка"/>
</Запись>
</ТабличнаяЧасть>
<Свойство Имя="Производитель" Тип="СправочникСсылка.Производители">
<Значение>Водка Родная Степь 0,5 л 38%</Значение>
</Свойство>
</Объект>
</ФайлОбмена>

а если ПКО Производители добавить тогда файл следующий:

</Свойство>
<Свойство Имя="Свойство" Тип="ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения">
<Ссылка НеСоздаватьЕслиНеНайден="true" ПродолжитьПоиск="true">
<Свойство Имя="{УникальныйИдентификатор}" Тип="Строка" ТипИсточника="ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения" ТипПриемника="ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения">
<Значение>330f57fe-f33c-11ea-890c-001dd8b726e0</Значение>
</Свойство>
<Свойство Имя="Имя" Тип="Строка">
<Значение>Номенклатура_Завод</Значение>
</Свойство>
</Ссылка>
</Свойство>
<Свойство Имя="ТекстоваяСтрока" Тип="Строка"/>
</Запись>
</ТабличнаяЧасть>
<Свойство Имя="Производитель" Тип="СправочникСсылка.Производители">
<Ссылка НеСоздаватьЕслиНеНайден="true">
<Свойство Имя="Наименование" Тип="Строка"/>
<Свойство Имя="ЭтоГруппа" Тип="Булево"/>
</Ссылка>
</Свойство>
</Объект>

Прошу подсказать как настроить ПСК Производитель (снимок2) ?
Чтобы из базы источника строковое значение название завода-производителя напрм. "Альфа" в базе приемнике заполнилось реквизитом ссылочного типа Справочники.Производители. Скорее всего использовать метод Справочники.Производители.НайтиПоНаименованию("Альфа") ?
В обработчике перед выгрузкой сделал условие на выгрузку заполненного значения доп. реквизита.
Прикрепленные файлы:
20. RustamZz 23.06.25 09:56 Сейчас в теме
(19) Я тебе ещё в (12) код написал, зачем отсебятину пишешь?
21. tirli41 4 23.06.25 14:29 Сейчас в теме
(20) при таком коде выходит ошибка
Прикрепленные файлы:
22. RustamZz 23.06.25 15:33 Сейчас в теме
(21) Параметр Свойство указать какое нужно.
23. tirli41 4 24.06.25 07:11 Сейчас в теме
(22) не помогло, открыл эту тему на мисте https://forum.mista.ru/topic/899270
там также не помогло:-).
24. RustamZz 24.06.25 08:45 Сейчас в теме
(23) Как выглядит правило после (22)?
25. tirli41 4 24.06.25 12:58 Сейчас в теме
(24) https://iimg.su/i/FtWqG4
при таких правилах, в базе приемнике реквизит Производитель объекта справочника Номенклатура заполняется первым элементом списка справочника Производители.
также если в ПКС Производитель, в обработчике "Перед выгрузкой" изменить код на:
Если ЗначениеЗаполнено(Строка(Источник)) Тогда
Значение = Источник;
КонецЕсли;
все равно в базе приемнике реквизит Производитель объекта справочника Номенклатура заполняется первым элементом списка справочника Производители.
26. RustamZz 24.06.25 13:28 Сейчас в теме
(25) Правильный код в (12) нужно в этом коде заполнить параметр Свойство. Всё.
Никаких проверок на ЗначениеЗаполнено, Значение = Источник - добавлять не нужно.
27. tirli41 4 24.06.25 14:30 Сейчас в теме
(26) https://iimg.su/i/3Kejtv
Ошибка при отправке данных: Ошибка в обработчике события ПередВыгрузкой (свойства)
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 26 (--> Производитель)
Объект = Водка Родная Степь 0,5 л 38% (Справочник объект: Номенклатура)
СвойствоПриемника = Производитель (СправочникСсылка.Производители)
Обработчик = ПередВыгрузкойСвойства
ОписаниеОшибки = Ошибка при вызове метода контекста (Выполнить)
ПозицияМодуля = {ОбщийМодуль.УправлениеСвойствами.Модуль(1505)}:Результат = Запрос.Выполнить().Выгрузить();
{ОбщийМодуль.УправлениеСвойствами.Модуль(1550)}:Результат = ЗначенияСвойств(Объект, ПолучатьРеквизиты, Истина, Свойство, КодЯзыка);
{(4)}:Значение = УправлениеСвойствами.ЗначениеСвойства(Источник, ДопРеквизитСвойство);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(12550)}:Выполнить(ПКС.ПередВыгрузкой);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(804)}:ВыгрузитьСвойства(Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, ПКО, ПКО.СвойстваПоиска,
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(13178)}:ВыгрузитьПоПравилу(Объект, , ВходящиеДанные, ИсходящиеДанные, ИмяПКО, УзелСсылки, , , НЕ НеВыгружатьОбъектыСвойствПоСсылкам,
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(17874)}:ВыгрузкаОбъектаВыборки(Данные, ПравилоВыгрузкиДанных, , ИсходящиеДанные, НеВыгружатьОбъектыПоСсылкам);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(17506)}:ВыполнитьВыгрузкуЗарегистрированныхДанных(ЗаписьСообщения, СтрокаСообщенияОбОшибке, ТаблицаПравилВыгрузкиИспользуемые);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2166)}:ВыполнитьВыгрузку();
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(5118)}:ОбработкаОбменаДаннымиXML.ВыполнитьВыгрузкуДанных();
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(9252)}:ЗаписатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена.ИмяФайлаСообщенияОбмена());
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(391)}:ВыполнитьОбменДаннымиЧерезФайловыйРесурс(СтруктураНастроекОбмена, ТолькоПараметры);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(9553)}:ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы(Отказ, УзелИнформационнойБазы,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(41)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
{(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5981)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1692)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1671)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
{(12, 27)}: Неверные параметры
ТаблицаСвойств.Ссылка В (<<?>>&ОбъектыСоСвойствами)
КСообщенияОбОшибках = 55
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(4927)}:ВызватьИсключение СтрокаСообщенияОбОшибке;
28. RustamZz 24.06.25 17:51 Сейчас в теме
(27) Ссылка нужна вместо объекта в первом параметре: Источник.Ссылка
29. tirli41 4 25.06.25 06:25 Сейчас в теме
(28) https://iimg.su/i/8HlNgc
тоже самое, без изменении, в базе приемнике реквизит Производитель объекта справочника Номенклатура заполняется первым элементом списка справочника Производители.
30. RustamZz 25.06.25 07:57 Сейчас в теме
(29) Файл выгрузки и ПКО для Производитель покажите.
32. RustamZz 25.06.25 09:06 Сейчас в теме
(31) В ПКО Источник должен быть указан с типом как у доп. свойства.
33. tirli41 4 25.06.25 09:27 Сейчас в теме
(32) уточните, ПКО Производители? если да, то какой обработчик нужен?
34. RustamZz 25.06.25 09:29 Сейчас в теме
(33) Никакой, только сопоставление полей
35. tirli41 4 25.06.25 09:35 Сейчас в теме
(34) https://iimg.su/i/weQjss
ошибка
Ссылка на несуществующий объект метаданных в правилах обмена
Объект = Строка
ОписаниеОшибки = Значение не является значением объектного типа (ПКО)
ПозицияМодуля = {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(5743)}:Менеджеры[НоваяСтрока.Источник].ПКО = НоваяСтрока;
36. RustamZz 25.06.25 09:39 Сейчас в теме
(35) А это точно строка? Скрин из доп. реквизитов источника
37. tirli41 4 25.06.25 09:46 Сейчас в теме
(36) да, точно Строка
Прикрепленные файлы:
40. RustamZz 25.06.25 09:55 Сейчас в теме
(37) Дополнительное значение судя по первому скрину. Вот его и выбрать в Объект-Источник ПКО.
41. tirli41 4 25.06.25 10:04 Сейчас в теме
(40) нет такого в источнике, в базе источник доп реквизиты у спр Номенклатура это таб часть ДополнительныеРеквизиты, у этой таб части есть реквизит Свойство это ПВХ ДополРеквизИСведение и реквизит Значение тип Характеристика.ДополнительныеРеквизитыИСведения
Прикрепленные файлы:
42. RustamZz 25.06.25 10:18 Сейчас в теме +1 $m
(41) ПВХ это не тип. В вашем случае это справочник со скрина, а может быть и вот так как на втором скрине - это должны быть два разных правила.
Прикрепленные файлы:
43. tirli41 4 25.06.25 10:53 Сейчас в теме
(42) теперь все получилось, когда указал источник правильно.
Прикрепленные файлы:
38. tirli41 4 25.06.25 09:49 Сейчас в теме
(34) даже так сделал, все равно, после обмена реквизит заполняется первым элементом из списка спр Производители
Прикрепленные файлы:
39. tirli41 4 25.06.25 09:50 Сейчас в теме
(34) я даже так сопоставил, все равно заполняется первым элементом списка спр Производители.
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот