|   |   | 
| 
 | Как получить в запросе строку из Уникальный идентификатор? | ☑ | ||
|---|---|---|---|---|
| 0
    
        program345 28.08.25✎ 07:43 | 
        Привет!
 В запросе вывожу поле: УНИКАЛЬНЫЙИДЕНТИФИКАТОР(МойДокумент.Ссылка.ДокументОснование) Оно имеет тип УникальныйИдентификатор, как его привести к строковому типу в запросе? | |||
| 1
    
        2S 28.08.25✎ 07:45 | 
        Не стыдно?     | |||
| 2
    
        program345 28.08.25✎ 07:45 | 
        только ПРЕДСТАВЛЕНИЕ использовать?     | |||
| 3
    
        2S 28.08.25✎ 07:51 | 
        Обрабатывай в выборке. Выразить для УИН не работает.     | |||
| 4
    
        program345 28.08.25✎ 08:01 | 
        (3) я так понимаю выразить для составных типов.     | |||
| 5
    
        Ненавижу 1С гуру 28.08.25✎ 08:34 | 
        (4) не только, числа одной точности можно переводить в числа другой, менять длину строки     | |||
| 6
    
        Garykom гуру 28.08.25✎ 09:38 | 
        (0) На ИС статья есть про это https://infostart.ru/1c/articles/1788844/
 Суть: там все плохо с этим | |||
| 7
    
        Anton1307 28.08.25✎ 15:09 | ПРЕДСТАВЛЕНИЕ(УНИКАЛЬНЫЙИДЕНТИФИКАТОР(МойДокумент.Ссылка.ДокументОснование)) Но с этой строкой ты сможешь работать уже за пределами запроса, в работе с результатом запроса. Поместить эту строку во временную таблицу или использовать для поиска/сравнений/соединений в самом запросе - не получится. | |||
| 8
    
        spiller26 28.08.25✎ 15:09 | 
        (0) Никак, пройденный этап.
 Запросом выгрузить в таблицу, а затем в другой запрос таблицу загрузить как строку | |||
| 9
    
        spiller26 28.08.25✎ 15:09 | ТабВФайле = ПублИндОбъектов.Выгрузить();
		
	Запрос = Новый Запрос;
	Запрос.Текст = "
	|ВЫБРАТЬ
	|	ПРЕДСТАВЛЕНИЕ(ВлФизЛица.УИД) КАК УИД,
	|	ВлФизЛица.Наименование КАК Наименование,
	|	ВлФизЛица.Код КАК Код,
	|	ВлФизЛица.ИНН КАК ИНН,
	|	ВлФизЛица.СтраховойНомерПФР КАК СтраховойНомерПФР,
	|	ВлФизЛица.Ссылка КАК ФизЛицоСсылка
	|ИЗ
	|	(ВЫБРАТЬ
	|		УНИКАЛЬНЫЙИДЕНТИФИКАТОР(ФизическиеЛица.Ссылка) КАК УИД,
	|		ФизическиеЛица.Наименование КАК Наименование,
	|		ФизическиеЛица.Код КАК Код,
	|		ФизическиеЛица.ИНН КАК ИНН,
	|		ФизическиеЛица.СтраховойНомерПФР КАК СтраховойНомерПФР,
	|		ФизическиеЛица.Ссылка КАК Ссылка
	|	ИЗ
	|		Справочник.ФизическиеЛица КАК ФизическиеЛица
	|	ГДЕ
	|		ФизическиеЛица.ЭтоГруппа = ЛОЖЬ) КАК ВлФизЛица
	|
	|УПОРЯДОЧИТЬ ПО
	|	ВлФизЛица.Наименование";
	ТабВБазе = Запрос.Выполнить().Выгрузить();
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ВЫРАЗИТЬ(ТабВФайле.УИДфайла КАК СТРОКА(36)) КАК файл_УИД,
	|	ТабВФайле.ФизическоеЛицоКод КАК файл_Код,
	|	ТабВФайле.ФизическоеЛицоИНН КАК файл_ИНН,
	|	ТабВФайле.ФизическоеЛицоСНИЛС КАК файл_СНИЛС,
	|	ТабВФайле.ФизическоеЛицоНаименование КАК файл_Наименование
	|ПОМЕСТИТЬ ВтТабВФайле
	|ИЗ
	|	&ТабВФайле КАК ТабВФайле
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВЫРАЗИТЬ(ВтТабВБазе.УИД КАК СТРОКА(36)) КАК УИД,
	|	ВтТабВБазе.Код КАК Код,
	|	ВтТабВБазе.ИНН КАК ИНН,
	|	ВтТабВБазе.СтраховойНомерПФР КАК СНИЛС,
	|	ВтТабВБазе.Наименование КАК Наименование,
	|	ВтТабВБазе.ФизЛицоСсылка КАК ФизЛицоСсылка
	|ПОМЕСТИТЬ ВтТабВБазе
	|ИЗ
	|	&ТабВБазе КАК ВтТабВБазе
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВтТабВБазе.ФизЛицоСсылка КАК ФизЛицоСсылка,
	|	ВтТабВБазе.Код КАК Код,
	|	ВтТабВФайле.файл_Код КАК файл_Код,
	|	ВтТабВБазе.УИД КАК УИД,
	|	ВтТабВФайле.файл_УИД КАК файл_УИД,
	|	ВтТабВБазе.ИНН КАК ИНН,
	|	ВтТабВФайле.файл_ИНН КАК файл_ИНН,
	|	ВтТабВБазе.СНИЛС КАК СНИЛС,
	|	ВтТабВФайле.файл_СНИЛС КАК файл_СНИЛС,
	|	ВтТабВБазе.Наименование КАК Наименование,
	|	ВтТабВФайле.файл_Наименование КАК файл_Наименование
	|ИЗ
	|	ВтТабВФайле КАК ВтТабВФайле
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТабВБазе КАК ВтТабВБазе
	|		ПО (ВтТабВБазе.УИД = ВтТабВФайле.файл_УИД)";
	Запрос.Параметры.Вставить("ТабВФайле", ТабВФайле); 
	Запрос.Параметры.Вставить("ТабВБазе", ТабВБазе); 
	ТабСоответствий = Запрос.Выполнить().Выгрузить(); | |||
| 10
    
        PR 28.08.25✎ 15:06 | 
        (0) Зачем?     | |||
| 11
    
        Shurjk 28.08.25✎ 16:04 | 
        На СКД можно.     | |||
| 12
    
        unenu 28.08.25✎ 16:32 | 
        (10) для быстрых сверок между базами(клонами или разными не суть) по уидам.
 Представление(), Строка() и пр. только для выгрузки в ТЗ. Соединениях, условия в одном пакете после них работать не будут. Я выгружал УИДЫ в ТЗ из одной базы(источник) Затем выгружал УИДЫ в ТЗ из другой базы(приемник) Потом в консоли запросов загружал обе ТЗ в ВТ и кручу-верчу в соединениях, условиях как хочешь. Все можно делать из консоли запросов. | |||
| 13
    
        Kigo_Kigo 28.08.25✎ 16:29 | 
        (11) XMLСтрока в вычисляемом поле? А смысл?     | |||
| 14
    
        PR 28.08.25✎ 16:38 | 
        (12) Разве вопрос был тебе?     | |||
| 15
    
        unenu 28.08.25✎ 16:52 | 
        (14) Разве я не могу озвучить идею, даже если она банальна.
 Зачем мы тогда тут? | |||
| 16
    
        PR 28.08.25✎ 16:54 | 
        (15) Конечно можешь
 Но у ТС вопрос про запрос, а твой пример в принципе без особых проблем решается не в запросе | |||
| 17
    
        unenu 28.08.25✎ 17:00 | 
        (16) самый краткий и точный ответ в (8)
 Промежуточное звено диск, а не код. Остальные звенья - запросы. | |||
| 18
    
        PR 28.08.25✎ 17:08 | 
        (17) ТС в (0) не написал, нахрена ему это, поэтому не вижу смысла гадать
 Захочет, ответит | |||
| 19
    
        Сергиус 31.08.25✎ 13:26 | 
        (18) в (12) он ответил зачем     | |||
| 20
    
        Волшебник 31.08.25✎ 13:39 | 
        (19) ТС — это топик-стартер, то есть автор ветки     | |||
| 21
    
        PR 31.08.25✎ 13:56 | 
        (19) Почему-то с возрастом все больше бесит тупость окружающих
 В (12) ответил не он | |||
| 22
    
        Волшебник 31.08.25✎ 14:10 | 
        (21) стареешь     | |||
| 23
    
        PR 31.08.25✎ 22:24 | 
        (22) Наверное
 Это если в 45 такое, что же в 90 будет? Буду вообще с битой ходить, сразу наотмашь лупить за тупость? | |||
| 24
    
        aka MIK 01.09.25✎ 00:12 | 
        (8)  позорище
 И впредь в версии 8.х.хххх все равно сделают, правда мы все на пенсии уже будем | |||
| 25
    
        PR 01.09.25✎ 01:29 | 
        Интересно, кстати, почему в 1С где-то в полях ГУИД строкой, а не спецтипом, раз уж такие дела?
 Типа наследие прошлого? | |||
| 26
    
        PR 01.09.25✎ 01:11 | 
        (3), (4), (9), пора бы уже понять, что такое ВЫРАЗИТЬ
 ВЫРАЗИТЬ — это всего-лишь приведение значения к указанному типу, а ни в коем случае не преобразование к другому типу То есть попытка найти в значении поля значение именно указанного типа То есть, например: У нас поле Заказ составного типа, где может быть ссылка на заказ поставщику или на заказ на производство И значение поля Заказ на производство №1 от 01.01.2025 В этом случае ВЫРАЗИТЬ(Т.Заказ КАК Документ.ЗаказПоставщику) даст пустое значение, точнее пустую ссылку не документ ЗаказПоставщику (а может Неопределено, точно не помню, смотреть лень) А вот ВЫРАЗИТЬ(Т.Заказ КАК Документ.ЗаказНаПроизводство) даст Заказ на производство №1 от 01.01.2025 Еще пример: У нас поле Значение составного типа, где может быть число или строка И значение поля число 100 В этом случае ВЫРАЗИТЬ(Т.Значение КАК Строка) даст пустую строку (ну или Неопределено, не помню) А вот ВЫРАЗИТЬ(Т.Заказ КАК Число) даст 100 Еще с помощью ВЫРАЗИТЬ можно из строки брать часть строки, например, первые 1000 символов То есть как и ПОДСТРОКА Нужно, например, когда требуется строку неограниченной длины сделать ограниченной длины, для того, чтобы можно было ее сравнивать на равенство Еще с помощью ВЫРАЗИТЬ можно число округлять до определенного количества знаков после запятой Именно поэтому ВЫРАЗИТЬ(УНИКАЛЬНЫЙИДЕНТИФИКАТОР(Т.Ссылка) КАК Строка) даст ровным счетом нихуя, то есть пустое значение, а не ГУИД Учите матчасть | |||
| 27
    
        Злопчинский 01.09.25✎ 01:32 | 
        ну, а допустим пусть в запросе т.ссылка возврашается как тип "уникальный идентификатор". Допустим. Выгрузить запрос в ТЗ. И колонку УИД принудительно типизировать как строку через переопределение типа колонки - так можно в 8-ке?     | |||
| 28
    
        PR 01.09.25✎ 01:45 | 
        (27) К чему это допущение, просто нужно вместо ссылки написать УНИКАЛЬНЫЙИДЕНТИФИКАТОР(Т.Ссылка), это как раз и вернет тип "Уникальный идентификатор"
 Что такое "принудительно типизировать" я не знаю и к чему это приведет тоже не знаю, но смысла в этой херне не вижу никакого, нужно просто тупо добавить колонку типа "Строка", пройтись по строкам ТЗ и заполнить эту колонку Строка(ЗначениеИзКолонкиУникальныйИдентификатор) Кого тянет блевать от такой долгой уродливой процедуры, без проблем идите к лешему в ассемблеры, си, джавы и прочую шляпу, хули вы в 1С претесь Что? То, что на 1С делается за день, на джаве делается полгода, а на ассемблере всю жизнь? Ну и что, зато код можно знаешь какой красивый заебенить! Что? Джава и ассемблер уже не нравятся? Ну так тогда завалите звукоисточающее отверстие и идите писать код в 1С так, как возможно, а не так как вам хочется | |||
| 29
    
        PR 01.09.25✎ 01:47 | 
        (28) Если выгружать в ТЗ, то вообще не придется ничего делать, достаточно в запросе написать ПРЕДСТАВЛЕНИЕ(УНИКАЛЬНЫЙИДЕНТИФИКАТОР(Т.Ссылка)), это как раз вернет строку
 Тут просто нужно помнить, что в самом запросе со значением ПРЕДСТАВЛЕНИЕ(УНИКАЛЬНЫЙИДЕНТИФИКАТОР(Т.Ссылка)) как со строкой работать не получится, только уже после получения данных после выполнения запроса | |||
| 30
    
        rsv 01.09.25✎ 11:26 | 
        (2) типа да. С натяжкой в (29) . Не надо искать CAST или CONVERT
 Не найдете. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |