1. Miragemvp 2 14.08.19 12:48 Сейчас в теме

XML и установка УИД нового элемента справочника

Создаю элементы справочника "Контрагенты", хочу при создании устанавливать УИД из файла XML новому элементу, как это сделать? имею преобразованный УИД из строки XML, как его передать перед записью элемента, или после записи, в итоге, чтоб он имел мое значение из XML.
Ответы
Избранное Подписка Сортировка: Древо
2. plevakin 14.08.19 12:50 Сейчас в теме
УстановитьСсылкуНового(<Ссылка>)
Параметры:

<Ссылка> (обязательный)

Тип: СправочникСсылка.<Имя справочника>.
Ссылка, которая будет назначена при записи нового объекта.
Описание:

Устанавливает значение для нового (созданного и еще не записанного) объекта, которое будет назначено при записи в качестве ссылки. Значение не может равняться ссылке какого-либо из имеющихся в базе данных объекта данного типа. Уникальность ссылки проверяется при записи объекта.
3. Miragemvp 2 14.08.19 12:58 Сейчас в теме
(2)Так я не имею Ссылки, у меня есть УникальныйИдентификатор
7. plevakin 14.08.19 13:29 Сейчас в теме
(3) Так создайте.

Когнтрагент= Справочники.Контрагенты.СоздатьЭлемент(); 
СтрокаGUID = "b8bea012-3da9-4d01-8855-48811771af7a"; 
УникальныйИдентификатор = Новый УникальныйИдентификатор(СтрокаGUID); 
Ссылка = Справочники.Контрагенты.ПолучитьСсылку(УникальныйИдентификатор); 
Контрагент.УстановитьСсылкуНового(Ссылка); 
Контрагент.Наименование = "ООО ""Ромашка"""; 
Контрагент.Записать(); 
9. Miragemvp 2 14.08.19 13:42 Сейчас в теме
(7)в Ссылке будет значение "Объект не найден" (177:afc6e840f2b901b811e6def676a98720)
И передать ссылку в УстановитьСсылкуНового не получится.
Я так уже пробовал(
8. user623969_dusa 14.08.19 13:29 Сейчас в теме
(3) вы там учитесь - напомните пож-та чем ссылка отличается от уид? насколько я припоминаю ссылка и уид одно и тоже преобразовывается одно в другое Новый УникальныйИдентификатор(<Строка>) если иметь ввиду ссылку как строку "467585-5785-..."
4. platonov.e 4 14.08.19 13:01 Сейчас в теме
Это не самая лучшая идея. Записывайте уид из файла куда нибудь, и ищите потом по нему. Или сопоставляйте уиды из файла и созданного объекта в каком нибудь регистре.
5. Miragemvp 2 14.08.19 13:15 Сейчас в теме
(4)Да мне для практики необходимо. Есть возможность пустой ссылке передать УИД?
6. platonov.e 4 14.08.19 13:27 Сейчас в теме
(5) https://infostart.ru/public/127208/

УИД = Новый УникальныйИдентификатор("строка уида");

                НоваяСсылка = Справочники[ИмяМетаданных].ПолучитьСсылку(УИД);

                НовыйЭлемент = Справочники[ИмяМетаданных].СоздатьЭлемент();

                НовыйЭлемент.УстановитьСсылкуНового(НоваяСсылка);
10. Miragemvp 2 14.08.19 13:49 Сейчас в теме
(6) в значении будет <Объект не найден> (177:9009e840f2b901b811e6d50b578c7c46)
Как ты это передать собрался в УстановитьСсылкуНового?
11. platonov.e 4 14.08.19 13:54 Сейчас в теме
(10) так как показано в двух примерах
12. Miragemvp 2 14.08.19 14:12 Сейчас в теме
(11)у тебя значение у ссылки <Объект не найден> (177:9009e840f2b901b811e6d50b578c7c46),а долно быть - 578c7c46-d50b-11e6-9009-e840f2b901b8, создается в итоге с другим УИД
13. platonov.e 4 14.08.19 14:29 Сейчас в теме
(12) Вы даже не удосужились проверить, то что вам советуют сделать, на вашу же просьбу помочь вам, и спорите что это не правильно. А я не поленился, скопировал код, и посмотрел какой уид у созданного объекта получился.

Уид и ссылка это разные вещи, не сравнивайте их.
Прикрепленные файлы:
vadim1011985; +1 Ответить
14. Miragemvp 2 14.08.19 14:45 Сейчас в теме
(13)Какое значение у вас имеет "НоваяСсылка" ?
15. platonov.e 4 14.08.19 14:47 Сейчас в теме
(14)Причем здесь новая ссылка, если мы говорим про уид?
16. Miragemvp 2 14.08.19 14:54 Сейчас в теме
(15)В том, что ты передаешь НоваяСсылка в УстановитьСсылкуНового.
Прикрепленные файлы:
18. platonov.e 4 14.08.19 15:08 Сейчас в теме
(16) не будет у вас уид равен представлении ссылки, если вы про это
19. Miragemvp 2 14.08.19 15:11 Сейчас в теме
(18) Посмотри скриншот, сделано все так как у тебя.
20. platonov.e 4 14.08.19 15:14 Сейчас в теме
(19) значит что то не как у меня
22. spacecraft 14.08.19 16:21 Сейчас в теме
(19) если объект еще не записан, то установленную ссылку нужно получать через метод ПолучитьСсылкуНового.
СоздатьКонтрагента.ПолучитьСсылкуНового().УникальныйИдентификатор();
17. spacecraft 14.08.19 14:55 Сейчас в теме
(12)
значение у ссылки (177:9009e840f2b901b811e6d50b578c7c46)

Это всего навсего текстовое представление ссылки. В данном случае еще не записанного и отсутствующего в базе.
А у записанного документа ссылка тоже должна быть "578c7c46-d50b-11e6-9009-e840f2b901b8"? Интересная логика.
Почитайте про хранение полей ссылки и их представлений. Про бинарный формат хранения. И чем ссылка отличается от уникального идентификатора.
21. Rustig 1173 14.08.19 15:45 Сейчас в теме
уид следует получать сначала из 1с - например выгружать на сайт, затем получая из хмл, данный элемент должен быть в 1с, тогда используя уид, можно получить ссылку на нужный элемент...
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Москва
зарплата от 150 000 руб. до 150 000 руб.
Полный день

Консультант 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Программист стажер 1С
Нижний Новгород
зарплата от 30 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Программисты 1С УТ / БУЗ/ЗУП / БИТ ФИНАНС
Москва
зарплата от 100 000 руб. до 180 000 руб.
Полный день