Документ вставка реквизита типа ссылка

1. VKuser97117643 18.01.19 11:31 Сейчас в теме
Как вставить в документ если поле ссылка на справочник, то есть
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. alex-l19041 8 18.01.19 11:36 Сейчас в теме
подробнее изложите задачу
3. maks_20 164 18.01.19 11:39 Сейчас в теме
исходя из описания, ответ Да D
4. VKuser97117643 18.01.19 11:52 Сейчас в теме
Создаю документ так:
ДокВозврат[Ключ] = Значение; 

Но он не заполняет если:
Ключ = Организация
Значение = Магазин №23
Т.к. Значение в данном случае это организация из справочника. Как заполнить это?
5. VKuser97117643 18.01.19 11:52 Сейчас в теме
Пытался сделать так:
ДокВозврат[Ключ] = Объект.СправочникСсылка[Ключ].НайтиПоНаименованию(Значение);
6. dhurricane 18.01.19 12:19 Сейчас в теме
(5) Жуть какая. :) Полагаю, Вы подразумеваете следующее:
ДокВозврат[Ключ] = Справочники.Организации.НайтиПоНаименованию(Значение);
7. VKuser97117643 18.01.19 12:29 Сейчас в теме
(6)
.Организации.

Пишет поле объекта организация не найдено
14. dhurricane 18.01.19 12:46 Сейчас в теме
(7) Ну так как называется Ваш справочник, где хранятся организации?
15. VKuser97117643 18.01.19 12:52 Сейчас в теме
17. dhurricane 18.01.19 12:54 Сейчас в теме
(15) А полный текст ошибки можно?
8. ben19791010 18.01.19 12:30 Сейчас в теме
если это реквизит формы дока, то к нему просто и обращаются по наименованию, а путь к данным будет через объект
9. VKuser97117643 18.01.19 12:33 Сейчас в теме
(8) Организация это объект из справочника:
Записываю имя значения реквизита. Но если так
ДокВозврат["Организация "] = "Магазин №23 ";
То не работает
10. alex-l19041 8 18.01.19 12:36 Сейчас в теме
тип ДокВозврат - ДокументОбъект?
11. VKuser97117643 18.01.19 12:37 Сейчас в теме
(10)
ДокументОбъект

ДокВозврат = Документы[Значение].СоздатьДокумент();

Не заполняет именно если ссылка, если просто строка то все ок
12. alex-l19041 8 18.01.19 12:40 Сейчас в теме
(11) и как далее заполняете реквизиты ?
16. namazi74 4 18.01.19 12:52 Сейчас в теме
(11) так сделайте преобразование к строке:
Строка (Значение);
18. VKuser97117643 18.01.19 12:54 Сейчас в теме
13. VKuser97117643 18.01.19 12:41 Сейчас в теме
ДокВозврат[Ключ] = Значение;
Это заполняет все кроме, того где есть ссылки, это поставщик, ограанизации
19. VKuser97117643 18.01.19 12:55 Сейчас в теме
Если делать так
ДокВозврат[Ключ] = Строка(Значение);
То ошибок нет он просто не заполняет
20. alex-l19041 8 18.01.19 12:58 Сейчас в теме
каждый реквизит документа имеет свой тип... надо получать значения соответствующего типа
21. VKuser97117643 18.01.19 13:00 Сейчас в теме
(20)Как получить реквизит типа ссылки и записать его в файл?
		Попытка 
			Сообщить(Реквизит.Тип);
            Текст.ЗаписатьСтроку("~" + Реквизит.Имя() + "~" + Строка(Документ[Реквизит.Имя].Ссылка));
	
		Исключение
			Список_Значений.Добавить(Документ[Реквизит.Имя],Реквизит.Имя);
			Текст.ЗаписатьСтроку("~" + Реквизит.Имя + "~" + Документ[Реквизит.Имя]);
        КонецПопытки;

Показать

Делаю я так
22. alex-l19041 8 18.01.19 13:06 Сейчас в теме
(21) ТипЗнч(<Значение>)
Параметры:

<Значение> (обязательный)

Тип: Произвольный.
Значение, тип которого необходимо получить.
Возвращаемое значение:

Тип: Тип.

Описание:

Получает тип значения.
23. VKuser97117643 18.01.19 13:09 Сейчас в теме
(22)
ТипЗнч

Сообщить(ТипЗнч(Документ[Реквизит.Имя]));
Выдает тип Организация
(22)
24. dhurricane 18.01.19 13:11 Сейчас в теме
(21) Ну хотя бы сохранять вот так:
Текст.ЗаписатьСтроку("~" + Реквизит.Имя() + "~" + Строка(Документ[Реквизит.Имя].УникальныйИдентификатор()));

И соответственно восстанавливать:
ДокВозврат[Ключ] = Справочники.Организации.ПолучитьСсылку(Значение);

Еще можно сохранять так:
Текст.ЗаписатьСтроку("~" + Реквизит.Имя() + "~" + ЗначениеВСтрокуВнутр(Документ[Реквизит.Имя]));

И восставновить:
ДокВозврат[Ключ] = ЗначениеИзСтрокиВнутр(Значение);
25. VKuser97117643 18.01.19 13:13 Сейчас в теме
(24)
УникальныйИдентификатор()

А если не использовать: УникальныйИдентификатор() и ЗначениеИзСтрокиВнутр
и с ЗначениеИзСтрокиВнутр проверял не работает
26. dhurricane 18.01.19 13:16 Сейчас в теме
(25) Извините, но не верю. :)
27. VKuser97117643 18.01.19 13:25 Сейчас в теме
(26)Обойтись без этих функций возможно?
28. dhurricane 18.01.19 13:31 Сейчас в теме
(27) Очевидно искать в справочнике значение по наименованию. Ранее Вы написали, что "выдает ошибку", но не очень понятно, где именно возникла ошибка: не найден справочник организаций в конфигурации или не найдено поле организации в документе.
35. VKuser97117643 18.01.19 14:01 Сейчас в теме
29. VKuser97117643 18.01.19 13:35 Сейчас в теме
Ошибку он не пишет, даже если Сообщить(ОписаниеОшибки()); , но он не добавляет все равно организацию
        Попытка 
								ДокВозврат[Ключ] = Справочники.Организации.НайтиПоНаименованию(Значение);
							Исключение
								Сообщить(ОписаниеОшибки()); 
								ДокВозврат[Ключ] = Значение; 


        КонецПопытки;
Показать
30. dhurricane 18.01.19 13:43 Сейчас в теме
(29) Выходит, что не удается найти организацию по ее наименованию.
31. VKuser97117643 18.01.19 13:44 Сейчас в теме
(30)Вот, но какие есть еще способы?
32. dhurricane 18.01.19 13:48 Сейчас в теме
(31) А выгрузка/загрузка выполняются в одной и той же базе? Т.е. организация на самом деле есть, и что он ее не находит по имени, это ошибка? Или же имя организации в базе действительно отличается (хоть на символ) от загружаемого имени?
alex-l19041; +1 Ответить
34. VKuser97117643 18.01.19 14:00 Сейчас в теме
33. 1serger 8 18.01.19 13:56 Сейчас в теме
Попробуй поиграться с методами УникальныйИдентификатор() для сохранения в строку, хотя его тип УникальныйИдентификатор, ПолучитьСсылку(Новый УникальныйИдентификатор(Идентификатор типа строка)) для получения ссылки из уникального идентификатора типа строка.
36. VKuser97117643 18.01.19 15:29 Сейчас в теме
Последний вопрос как получить через метаданные,какой справочник используется в документе?
37. alex-l19041 8 18.01.19 16:17 Сейчас в теме
(36) Объект.Метаданные().Реквизиты.Ревизит.Тип
38. VKuser97117643 18.01.19 17:31 Сейчас в теме
(37)
.Тип

Не верно берет, он берет как организация, а не как справочник организации, если обходим документ
39. alex-l19041 8 18.01.19 17:50 Сейчас в теме
40. VKuser97117643 18.01.19 18:02 Сейчас в теме
(39)сообщить(Документ.Организация.Метаданные().Имя);
Вот так получилось
Но почему то не работает
сообщить(Документ[Реквизит.Имя].Метаданные().Имя);
РеквизитыОбъекта = Документ.Метаданные().Реквизиты;

Для Каждого Реквизит Из РеквизитыОбъекта Цикл

сообщить(Документ[Реквизит.Имя].Метаданные().Имя);
41. alex-l19041 8 18.01.19 18:13 Сейчас в теме
Метаданные().Имя - ???

Метаданные().Реквизиты.Организация.Тип
42. VKuser97117643 18.01.19 18:18 Сейчас в теме
(41)я нашел ошибку метаданные только у ссылок есть
Оставьте свое сообщение

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