Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Планируется в версии 8.3.22
По многочисленным просьбам в версии 8.3.22 в язык запросов и в язык выражений СКД добавится функция УникальныйИдентификатор(Ссылка). Параметр Ссылка - выражение, результатом которого является ссылка (кроме ссылок на таблицы внешних источников данных). Функция возвращает уникальный идентификатор переданной ссылки или NULL, если передано значение NULL.
Это нововведение, в частности, упростит задачи интеграции систем на платформе 1С:Предприятие с внешними системами.
Рассмотрим пример. У нас есть интеграция с внешней системой на уровне данных – таблица внешней системы ссылается на справочник Товары в нашей инфобазе.
Структура таблицы внешней системы:
Идентификатор | Ключ (число) |
Наименование | Название товара на английском языке (строка) |
УникальныйИдентификатор | Ссылка на элемент справочника Товары (уникальный идентификатор) |
Нам нужно на стороне 1С вывести содержимое справочника Товары и для каждого товара показать его название на английском языке.
Предположим, мы получили содержимое внешней таблицы в виде таблицы значений (через веб-сервис или внешний источник данных или ещё каким-то образом).
Сейчас связать записи внешней таблицы (лежащие в таблице значений) с элементами справочника Товары можно так:
В версии 8.3.22 это можно будет сделать гораздо проще.
Проиллюстрируем это кодом. Содержимое внешней таблицы помещено в таблицу значений ТЗ_ТоварыВнешняя.
Запрос.Текст = "ВЫБРАТЬ | ТЗ_ТоварыВнешняя.Наименование КАК НаименованиеEn, | ТЗ_ТоварыВнешняя.УникальныйИдентификатор КАК УникальныйИдентификатор |ПОМЕСТИТЬ ВТ_ТоварыВнешняя |ИЗ | &ТЗ_ТоварыВнешняя КАК ТЗ_ТоварыВнешняя |; | |ВЫБРАТЬ | Товары.Код КАК Код, | Товары.Наименование КАК Наименование, | ВТ_ТоварыВнешняя.НаименованиеEn КАК НаименованиеEn |ИЗ | Справочник.Товары КАК Товары | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ТоварыВнешняя КАК ВТ_ТоварыВнешняя | ПО УникальныйИдентификатор(Товары.Ссылка) = ВТ_ТоварыВнешняя.УникальныйИдентификатор |"; Запрос.УстановитьПараметр("ТЗ_ТоварыВнешняя ", ТЗ_ТоварыВнешняя); Данные = Запрос.Выполнить().Выбрать(); |