Конвертация строки в справочник

1. Shaldryn 05.04.16 15:14 Сейчас в теме
Добрый день, такой вопрос, есть база источник самописная и приемник УТ 11 в КД переношу справочники, в источнике есть реквизит "Бухгалтер" с типом строка, в УТ 11 реквизит Бухгалтер с типом Справочник ФизическиеЛица, как мне передать строку в справочник?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. spe1c 5 05.04.16 16:10 Сейчас в теме
(1) Shaldryn, нужно создать ПКО без источника, в алгоритмах "перед выгрузкой" для ПКС наименование заполните программно переменную значение вашей передаваемой строкой. В ПКО укажите флажок "создавать номер или код если он не задан", поставьте флаг "продолжить поиск по полям поиска". Для наименования поставьте флаг поиска.
tushkan; user649290_jenia1592; +2 Ответить
4. Shaldryn 05.04.16 17:29 Сейчас в теме
(3) spe1c, как я понял мне надо создать ПКО без источника, приемник будет спр.ФизическиЛица, в ПКС наименования "заполните программно переменную значение вашей передаваемой строкой", можете написать пример? что то я не догоняю как мне заполнить.( я начинающий, конвертацию данных только на поверхности знаю, к сожалению
2. tusv 211 05.04.16 15:25 Сейчас в теме
Два варианта. Создать ПКО ФизическиеЛицаСтрокой
В ПКС Наименование
Значение=Источник;
Второй вариант передать структуру из свойств ПКО Физические лица

Значение=Новый Структура("Родитель,Наименование",,"Иванов Иван Иванович");
5. Dnki 4 05.04.16 19:44 Сейчас в теме
Не надо ничего программировать.

Рисунок 2 (в таком порядке записалось)
1) Создал Правило ПКО (неважно в каком разделе, напр. в Спр-ки)

Рисунок 1
2) В ПКС, указываешь конвертацию с использованием этого Правила.
В моем примере это Должность. Была строкой, надо справочником.
6. Shaldryn 05.04.16 22:40 Сейчас в теме
(5) Dnki, по вашему примеру все сделал, ничего не выгружает, я так понял у вас в спр.Должности в ПКО в каком то обработчике есть код указывающий что надо брать какое то значение, так же в ПКС по наименованию стоит галочка "Получить из входящих данных", либо в ПВД вы их задаете, либо в ПКО. Можете прислать скрины что там написано?
7. Dnki 4 06.04.16 01:21 Сейчас в теме
* Строка кода есть. Но, полагал она роли не играет. Чисто, пробелы убрать.
* Проверьте наличие галочки "Поиск объекта при загрузке".
8. spe1c 5 06.04.16 09:08 Сейчас в теме
(7) Dnki, очень даже значит, как раз про эту строку я писал в (3).
9. Shaldryn 06.04.16 12:41 Сейчас в теме
(7) Dnki, Это ПКС Наименования, а ПКО Должности, там какой код?
(8) что то вот не получается, создал ПКО СтрокаВФизЛицо, в настройках указал автоматически генерировать код. в ПКС источник пустой, приемник "Наименование", поиск по нему поставил, в обработчике "ПередВыгрузкой" поставил
Значение = Источник;


в ПКО где как раз я использую это правило конвертации, источник - Спр.Клиенты, приемник - Спр.Контрагенты, в ПКС указываю источник - бухгалтер тип у него строка, приемник - бухгалтер тип Спр.ФизЛица, указываю по какому правилу "СтрокаВФизЛицо", но ничего не выгружает, где то еще что то не поставил?
10. spe1c 5 06.04.16 13:04 Сейчас в теме
Проверьте, что у вас в источнике в ПКС вашем содержится. Что вообще прилетает в ПКО и передается в ПКС?
11. Shaldryn 06.04.16 13:15 Сейчас в теме
а как это проверить? У КД есть отладка? Или в момент работы внешней обработки в конфигураторе мне смотреть?
12. spe1c 5 06.04.16 13:58 Сейчас в теме
Можно написать в алгоритме Сообщить(Источник); Сообщить(ТипЗнч(Источник))
А можно и в конфигураторе.
13. Shaldryn 07.04.16 10:15 Сейчас в теме
Все, я дибил, получилось, я для проверки выгружал не того клиента.(

Подскажите пожалуйста, другой теперь момент, в самописной есть Спр.АдресДоставки, у него реквизит Владелец имеет тип Спр.Клиенты. В УТ создал по ТЗ РС.ДанныеОДоставке, измерение - Спр.Партнер, ресурсы там с типом строки. Так вот настроил ПКО для него (картинка)
выгружаю (10 000 объектов), после загружаю в УТ и у меня в РС всего записей 10, причину проанализировал, в 9 записей указано измерение, то есть он по правило ПКО Партнеры нашел уникальный идентификатор и подставил в измерение, а в последнем нет измерения, то есть все остальные он перезаписывает в эту запись и получается всего 10, почему он не ищет корректно? в ПКО Партнеры поиск по уникальному идентификатору + поиск по наименованию
14. spe1c 5 08.04.16 11:42 Сейчас в теме
Видимо разные наименования всё-таки в базах.
15. Shaldryn 08.04.16 23:43 Сейчас в теме
разобрался, он некорректно передавал уникальный идентификатор, чуток подправил, добавил код в обработчик перед выгрузкой и все получилось
16. g1uk 08.05.18 22:54 Сейчас в теме
Добавлю еще 100% рабочий вариант.

В ПКС источник пустой, перед выгрузкой пишем:
Значение = Источник;
ИсходящиеДанные = Новый Структура("Наименование", ВашеНаименование)


В ПКО справочника добавляем свойство "Наименование" и ставим галочку "Получить из входящих данных", и поиск по этому полю если нужно
Nerich; i.c.h; Xershi; sacred_a; user649290_jenia1592; olo_lo4; _1c_coder; +7 Ответить
17. ilshatkin 23.12.22 07:57 Сейчас в теме
(16)
Значение = Источник;
ИсходящиеДанные = Новый Структура("Наименование", ВашеНаименование)


Большое спасибо)) Помогли.
18. Xershi 1484 14.10.23 22:27 Сейчас в теме
(16)
Если ТипЗнч(ИсходящиеДанные) <> Тип("Структура") Тогда
	ИсходящиеДанные = Новый Структура;
КонецЕсли;

ИсходящиеДанные.Вставить("ИдентификаторДляФормул", ВходящиеДанные.Владелец);

Значение = ИсходящиеДанные;
Показать


В обработке УниверсальныйОбменДаннымиXML есть код:
	
	Если Свойство = "Имя" Тогда
		
		Возврат Менеджер[Значение];

Который не позволяет использовать поиск по реквизиту "Имя". Пришлось переписать на аналог.
Оставьте свое сообщение

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