1с выразить уникальный идентификатор как строка в запросе
Для работы с типами в запроса для сравнения и отборов существует две функции: ТИП() и ТИПЗНАЧЕНИЯ(), а также конструкция <Значение> ССЫЛКА <Тип> для ссылочных типов. В общем случае тип значения применяется для работы с составными полями, так как в других случаях тип значения известен заранее или не меняется.
Примеры проверки типа в запросах:
Получить тип в полях выборки:
ВЫБРАТЬ ТИП(Строка), ТИП(Справочник.Контрагенты)
Получить совпадение типа в выборке
Выбрать ТИПЗНАЧЕНИЯ(Ссылка) = ТИП(Справочник.Контрагенты)
Отбор по типу значения:
ВЫБРАТЬ Ссылка ИЗ Справочник.Контрагенты ГДЕ ТИПЗНАЧЕНИЯ(ОсновнойМенеджер) = ТИП(Справочник.ФизическиеЛица)
Использование конструкции ССЫЛКА:
ВЫБРАТЬ ИНН ИЗ Справочник.Контрагенты ГДЕ ОсновнойМенеджер ССЫЛКА Справочник.ФизическиеЛица
Последние две конструкции идентичны по результату исполнения, но последняя применима только к ссылочным типам, что не всегда так, но более компактна.
Допустимо использование данных конструкций и в качестве условия для соединения таблиц.
На тип значения можно проверять не только поля из выборки запроса, но и параметры:
ВЫБРАТЬ * из Справочник.Контрагенты ГДЕ ТИПЗНАЧЕНИЯ(&Параметр) = ТИП(Справочник.Контрагенты)
Параметром функции ТИПЗНАЧЕНИЯ могут выступать:
СТРОКА, ЧИСЛО, ДАТА, а также все ссылочные типы.
Чтобы проверить на несколько значений применяется условие ИЛИ или множество В()
ВЫБРАТЬ Ссылка ИЗ Справочник.Пользователи ГДЕ ФизЛицо ССЫЛКА Справочник.ФизическиеЛица ИЛИ Физлицо ССЫЛКА Справочник.Пользователи
ВЫБРАТЬ Ссылка ИЗ Справочник.Пользователи ГДЕ ТИПЗНАЧЕНИЯ(Физлицо) В (ТИП(Справочник.ФизическиеЛица),ТИП(Справочник.Пользователи))
При сравнении ссылочных типов пустые ссылки, также дают совпадение, то есть для проверки на заполненность они применимы только как вспомогательные функции
Выбрать * ИЗ Справочник.Пользователи ГДЕ ТИПЗНАЧЕНИЯ(Физлицо) <> ТИП(Неопределено) И ТИПЗНАЧЕНИЯ(Физлицо) <> ТИП(NULL) И НЕ Физлицо = ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
Constantus --> ConstantusЛегче сочинить 10 правильных сонетов, чем хорошее рекламное объявление.
— Олдос Хаксли
Имеется некий отчет СКД, который получает данные
1. 62eb77f6-0bf6-4ba3-84e9-8751e13ee027 - уникальный код как СТРОКА
2. 62eb77f6-0bf6-4ba3-84e9-8751e13ee027 - как "УникальныйИдентификатор"
Как видно визуально значения одинаковы, но типы разные. Имеется ли возможность сравнить эти два типа и сделать вывод, что эти значения одинаковы или нет?
Т.е. сравнивать в СКД УникальныйИдентификатор и СТРОКУ?
Vofka --> VofkaДля сравнения строка должна быть ограниченной длины
Правильно поставленный вопрос содержит до 90% ответа. Vofka --> Vofka
.
- Возьмем, например, 1000, или для ровного счета 1024. Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія". Vofka --> Vofka
Все верно, 36. 32 значимых и 4 для дефизов. Я тоже за то, чтобы считать точно Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія". Constantus --> Constantus
Попробую уточнить задачу, сейчас подробности вышли (как всегда до последнего в тайне держат
Есть Заказ, в его ТЧ есть реквизит "КлючСтроки" как уникальный индентификатор
Имеется регистр накопления, "Итоги", там имеются данные с регистром "КлючСтроки", но как СТРОКА.
Требуется объединить (левое объединение) ТЧ Заказа и этого РН "Итоги" по реквизиту "КлючСтроки" один из которых уникальный индентификатор (ТЧ Заказа) другой СТРОКА из регистра накопления.
Как в СКД сделать подобное объединение?
lensky @ Сегодня, 10:15 ,
В запросе - никак.
Flexy @ Сегодня, 11:18 ,
А как отобрать по данным КА из ТЗ (запрос выгружен в ТЗ) УИД и добавить отдельной колонкой. Прошу прощение за наглость, конечно, но я начинающий.
python --> python1. Добавить колонку в ТЗ
2. Обойти ТЗ в цикле и добавленную колонку заполнить значением. Flexy --> Flexy
Flexy @ Сегодня, 12:56 ,
Batchir --> BatchirСКД можно использовать в задаче?
Если да, то добавить вычисляемое поле XMLСтрока(РегистраторКонтрагент)
К сожалению, нет. Теперь бы ТЗ в формат csv выгрузить) Vofka --> Vofka
| Текстовая версия | Сейчас: 24.11.21, 4:27 |
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!
В любой конфигурации 1С 8 у каждого объекта(документа, элемента справочника, элемента плана видов характеристик и т.п.) есть уникальный идентификатор(УИН). При помощи него можно переносить объекты между базами РИБ не боясь задвоения данных, быстро находить элемент справочника или документ и т.п.
Как получить уникальный идентификатор из ссылки? При помощи свойства ссылки УникальныйИдентификатор().
Пример 1:
Уникальный идентификатор в 1С 8 имеет тип УникальныйИдентификатор, но его можно преобразовать и в строковое значение(получится строка вот такого вида: 9712e912-d0b9-11e1-b37b-0050568458ce).
Как получить ссылку имея уникальный идентификатор? При помощи метода ПолучитьСсылку( ) менеджера справочника, документа и т.п.
Номенклатура = Справочники . Номенклатура . ПолучитьСсылку ( УИН ) ;
Номенклатура = Справочники . Номенклатура . ПолучитьСсылку ( Новый УникальныйИдентификатор ( СтрокаУИН ) ) ;
В примере 5 уникальный идентификатор получается из строкового значения при помощи конструктора Новый УникальныйИдентификатор( )
В любой конфигурации 1С 8 у каждого объекта(документа, элемента справочника, элемента плана видов характеристик и т.п.) есть уникальный идентификатор(УИН). При помощи него можно переносить объекты между базами РИБ не боясь задвоения данных, быстро находить элемент справочника или документ и т.п.
Как получить уникальный идентификатор из ссылки? При помощи свойства ссылки УникальныйИдентификатор(). Пример 1:
Уникальный идентификатор в 1С 8 имеет тип УникальныйИдентификатор, но его можно преобразовать и в строковое значение(получится строка вот такого вида: 9712e912-d0b9-11e1-b37b-0050568458ce).
Как получить ссылку имея уникальный идентификатор? При помощи метода ПолучитьСсылку( ) менеджера справочника, документа и т.п.
Пример 4 (Здесь УИН — значение типа УникальныйИдентификатор):
Пример 5(Здесь СтрокаУИН — переменная со строковым значением уникального идентификатора):
В примере 5 уникальный идентификатор получается из строкового значения при помощи конструктора Новый УникальныйИдентификатор( )
Для получения уникального идентификатора объекта, используйте код вида:
Код 1C v 8.х
Как с помощью запроса получить уникальный идентификатор:
Код 1C v 8.х
В 1С 7.7 можно получить так
Через v7plus.dll
Код 1C v 7.x
Через WScript
Код 1C v 7.x
при OLE доступе:
Код 1C v 7.x
Читайте также: