Как преобразовать строку в ссылку на объект

1. user1979322 28.09.23 11:58 Сейчас в теме
Из запроса получил ссылку на документ СчетНаОплату который удовлетворяет условию. Передал эту ссылку в процедуру, что бы можно было в этом объекте изменить значение признака. Но ссылка имеет тип строка и соответственно по ней найти нужный объект не могу.
Вопрос1 как тип строка конвертировать в тип ссылка
Вопрос 2 как по полученной ссылке можно получить обьект и отредоктировать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. SlavaKron 28.09.23 12:35 Сейчас в теме
(1) Никак. Из строки вы не получите ссылку. Выясняйте почему вы получаете строку вместо ссылки.
Вопрос 2 как по полученной ссылке можно получить обьект
У большинства ссылочных объектов есть метод ПолучитьОбъект
ПрикладнойОбъект = Ссылка.ПолучитьОбъект();
ПрикладнойОбъект.Реквизит1 = НовоеЗначение;
ПрикладнойОбъект.Записать();
5. user1979322 28.09.23 12:49 Сейчас в теме
(4)Строку вместо ссылки я получаю из запроса и результаты сохраняю в буферную таблицу в форме списка. Такой геморрой нужен потому что у меня значения из документ.СчетНаОплату( это Серверный метод) сравнивается с базой данных в формате dbf(это клиентский метод) и СчетНаОплату. Ссылка имеет тип строка.
7. user1936667 28.09.23 12:54 Сейчас в теме
(5)
Строку вместо ссылки я получаю из запроса
Ну доставай свой запрос, что-ли
11. user1979322 28.09.23 13:08 Сейчас в теме
(7)это проблематично, я на заводе а у нас интернета на компах нету. Оборонный завод, секретность. А в телефоне все процедуры и функции переписывать это на долго или так точно поможет?
39. Vinzor 91 01.10.23 16:30 Сейчас в теме
(5) Если перенести всё на сервер нет возможности, то в запросе можете получать ГУИД ссылки
Есть такой метод в запросе, кажется, начиная с 22-й платформы.
Ну а далее можно нагуглить метод получения ссылки по строковому представлению GUID.
(У меня есть такой)
2. TokarevV 30 28.09.23 12:12 Сейчас в теме
Ссылка = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(СтрокаУИ)));
Объект = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(СтрокаУИ))).ПолучитьОбъект();
Для ненавистников обращения через точку можете в попытку заключить, или проверять на "Значение заполнено".
6. user1979322 28.09.23 12:49 Сейчас в теме
(2)Я попробовал ваш код, ошибка несоответствие типов

Думаю из за этого СокрЛП(СтрокаУИ))
Мне же нужно передать тип ссылку а не строку
8. TokarevV 30 28.09.23 13:02 Сейчас в теме
(6) В СтрокаУИ какой тип подставляете?
9. user1979322 28.09.23 13:06 Сейчас в теме
10. TokarevV 30 28.09.23 13:08 Сейчас в теме
(9) пришлите сюда эту строку
12. user1979322 28.09.23 13:10 Сейчас в теме
(10)
"Счет на оплату 000000018 от 28.09.2023 10:16:12"

Это из запроса
Запрос. Текст="Выбрать
|СчетНаОплату. Сылка

Ит. Д
13. TokarevV 30 28.09.23 13:11 Сейчас в теме
(12)
Запрос = Новый Запрос;
       Запрос.Текст = "ВЫБРАТЬ
                        |    Номенклатура.НаименованиеПолное,
                        |    Номенклатура.ЕдиницаИзмерения,
                        |    Номенклатура.СтавкаНДС,
                        |    Номенклатура.НоменклатурнаяГруппа,
                        |    Номенклатура.СчетУчетаЗапасов,
                        |    Номенклатура.СчетУчетаЗатрат,
                        |    Номенклатура.Ссылка, 
                        |    Номенклатура.ЭтоГруппа
                        | ИЗ
                        |    Справочник.Номенклатура КАК Номенклатура"; 
       РезультатЗапроса = Запрос.Выполнить();
       СпрОбъект = РезультатЗапроса.Выбрать();    
       Пока СпрОбъект.Следующий()  Цикл
          СтрокаУИ = Объект.XMLСтрока(СпрОбъект.Ссылка);
          GUID = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(СтрокаУИ)));          
        КонецЦикла;
Показать
14. TokarevV 30 28.09.23 13:11 Сейчас в теме
15. TokarevV 30 28.09.23 13:12 Сейчас в теме
(12) Это у вас не строка ссылки, это видимо представление этой ссылки.
16. TokarevV 30 28.09.23 13:14 Сейчас в теме
(12)
Да и как вы запросом ссылку в текстовом виде получаете, тоже очень интересно.
17. TokarevV 30 28.09.23 13:16 Сейчас в теме
(12) Так вы ссылку получаете, а не строку
18. user1979322 28.09.23 13:21 Сейчас в теме
(17)тогда почему не работает
Обьект=Ссылка. ПолучитьОбьект();

И Во вторых обратите внимание там кавычки стоят, а это тип строка
19. TokarevV 30 28.09.23 13:25 Сейчас в теме
(18) Вы еще и спорите.
То, что вы прислали, это представление ссылки.
Тем запросом вы получаете ссылку.
Не работает потому, что перед ссылкой надо добавить "Выборка."
20. user1979322 28.09.23 13:26 Сейчас в теме
(19)можете прописать код, а то не понимаю как это прописать
21. TokarevV 30 28.09.23 13:28 Сейчас в теме
(20) Конструктором запроса с обработкой результата умете пользоваться?
24. user856012 13 28.09.23 14:15 Сейчас в теме
(19)
Вы еще и спорите.
А чего еще ждать от автора, который чисто программистский вопрос разместил в разделе "Финансы"?
22. user1992989 28.09.23 13:38 Сейчас в теме
(18)
обратите внимание там кавычки стоят, а это тип строка
Так ты же их руками и вбил. Ты же на заводе, у тебя интернета на компах нету. Оборонный завод, секретность.

Или уже всё изменилось?
23. Sashares 34 28.09.23 13:48 Сейчас в теме
(12)Вангую - переменная, в которую присваиваешь ссылку из результата запроса - это реквизит формы с типом строка. Измени тип у реквизита формы.
Oldsad; PlatonStepan; +2 Ответить
25. PlatonStepan 38 29.09.23 04:37 Сейчас в теме
(23) вот-вот.
при этом автор не понимает, что так не должно быть 0_о
26. user1979322 29.09.23 05:04 Сейчас в теме
(23)вот это я и спрашиваю с самого начала. КАК ИЗМЕНИТЬ ЭТОТ ТИП, напишите пример
32. user1936667 29.09.23 07:59 Сейчас в теме
(26)
напишите пример
Тебе 100500 раз написали, что так делать не надо и надо разобраться, почему у тебя вместо ссылки - строка.
33. Sashares 34 29.09.23 09:30 Сейчас в теме
(26)Изменить тип у реквизита формы можно в свойствах реквизита.
Прикрепленные файлы:
3. VictorRGB2 13 28.09.23 12:16 Сейчас в теме
может все таки глянуть в сторону запроса
а то странно получается, из запроса получается Ссылка, а передается Строка
выходит из запроса получается Строка...
27. user1979322 29.09.23 05:34 Сейчас в теме
Люди добрые подскажите и напишите функцию которая позволит по ссылке в виде строка "счет на оплату 000018 от 28.09.2023 10:16:00" Получить доступ к обьекту , что бы прочитать и изменить реквизиты. Ну это же простая функция, с которой профи каждый день сталкиваются, не ужели так сложно написать рабочий вариант
29. nomad_irk 76 29.09.23 07:51 Сейчас в теме
(27)функции не существует, об этом уже сказано стопицот раз.

Профи не сталкиваются с этим, потому что не присваивают значения ссылок реквизитам со строковым типом, чтобы произошло неявное преобразование типов данных, и потом выполняют обратное преобразование.

Профи сразу работают со ссылочными типами данных.
Nadushka74; +1 Ответить
30. user1936667 29.09.23 07:51 Сейчас в теме
(27)
и напишите функцию
Это тебе вот сюда вот, родной.
34. TokarevV 30 29.09.23 09:33 Сейчас в теме
(27) Присылайте своё творение, мы не поймём чего вы хотите.
Проблемы с высылкой - руками набирайте, чем столько времени просить. Вы основу не понимаете нет ни какой "ссылки в виде строка". И подробное описание. Это у вас внешняя обработка, выводите вы эту "ссылка в виде строка" в форму, а потом из формы пытаетесь, нажатием кнопки на форме поменять?
35. user856012 13 29.09.23 11:07 Сейчас в теме
(27)
подскажите и напишите функцию которая позволит по ссылке в виде строка "счет на оплату 000018 от 28.09.2023 10:16:00" Получить доступ к обьекту , что бы прочитать и изменить реквизиты
Лехко!
Док=Документы.СчетаНаОплату.НайтиПоНомеру("000018",Дата("20230928101600");

А вот код распарсивания вашей строки для получения из нее номера, даты и, возможно, вида документа вам придется написать самостоятельно - в раздел "Управление финансами и бюджетирование" это никак не укладывается!

Только все это будет сильно похоже на операцию по удалению гланд через задний проход, что вам второй день хором пытаются объяснить.
Nadushka74; +1 Ответить
28. starjevschik 29.09.23 07:27 Сейчас в теме
Оборонный завод, секретность
можете прописать код, а то не понимаю как это прописать

внушает некоторый оптимизм...
31. user1936667 29.09.23 07:58 Сейчас в теме
(28)
оптимизм
Интересно, а есть ли форум, например, токарей?

"Люди добрые подскажите и выточите деталь. Ну это же простая деталь с которой профи каждый день сталкиваются. Я в 1С-Франчайзи работаю, у нас доступа к чертежам нет, секретность, а меня заставляют"
PowerBoy; Sejix; +2 Ответить
36. user1979322 29.09.23 11:20 Сейчас в теме
Вопрос решил. Оказывается я ссылку сохранял с типом Строка и из за этого была ошибка
37. nomad_irk 76 29.09.23 11:52 Сейчас в теме
(36)на третий день индеец Зоркий глаз начал замечать, что что-то не так
Nadushka74; +1 Ответить
38. user1936667 29.09.23 12:17 Сейчас в теме
(36)
я ссылку сохранял с типом Строка
Ух ты! Ошибку без подсказок нашел!
Оставьте свое сообщение

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