Фирма «1С» анонсировала изменения в языке запросов и выражениях СКД для 8.3.22

Фирма «1С» анонсировала изменения в языке запросов и выражениях СКД для 8.3.22
19.11.2021
77755

Фирма «1С» планирует добавить новую функцию для получения уникального идентификатора объекта из ссылки в запросе. Функциональность будет полезна при интеграции приложений 1С с внешними системами.

Что планируют изменить в языке запросов

Официальный технологический блог «Заметки из Зазеркалья» анонсировал изменения в языке запросов и выражениях СКД. Начиная с версии 8.3.22 в технологической платформе добавится функция УникальныйИдентификатор(Ссылка), где параметр Ссылка – выражение, результатом которого является ссылка (кроме ссылок на таблицы внешних источников данных). Функция возвращает уникальный идентификатор переданной ссылки или NULL, если передано значение NULL.

Данное нововведение сделано по многочисленным просьбам сообщества разработчиков 1С, и должно упростить задачи интеграции систем на платформе 1С:Предприятие с внешними системами.

Как будет работать новая функция

В качестве примера работы новой функциональности приводится интеграция с внешней системой на уровне данных, когда таблица внешней системы ссылается на справочник «Товары» в исходной информационной базе, а структура таблицы внешней системы имеет такой вид:

 

Идентификатор

Ключ (число)

Наименование

Название товара на английском языке (строка)

УникальныйИдентификатор

Ссылка на элемент справочника Товары (уникальный идентификатор)

 

Для решения такой задачи нужно на стороне 1С вывести содержимое справочника «Товары», и для каждого товара показать его название на английском языке.

В текущих релизах платформы необходимо выполнить следующие действия:

  1. Добавить в таблицу значений колонку, которую надо заполнить ссылкой на элементы справочника «Товары», обойдя все записи таблицы значений в цикле.
  2. Полученную таблицу значений с помощью запроса объединить со справочником «Товары».

С использованием новой функции, начиная с 1С 8.3.22, сделать это можно будет значительно проще:

 

Пример кода, иллюстрирующий работу новой функции.
Источник: wonderland.v8.1c.ru

 

Полный текст сообщения о развитии языка запросов в платформе 8.3.22 доступен в официальном технологическом блоге.

Если вам удобнее смотреть новости в телеграме, то вот наша группа – ИНФОСТАРТ.

Автор:
Обозреватель

См. также

Фирма «1С» анонсировала изменения в работе механизма лицензирования. Начиная с версии технологической платформы 8.5.2 для выдачи лицензий больше не используется HASP License Manager. При этом сами правила лицензирования остаются без изменений.

11.04.2025    12779    ЕленаЧерепнева    3       

11

Фирма «1С» опубликовала финальные даты выпуска патчей для тиражных конфигураций 1С, которые обеспечивают работу с новым форматом УПД 5.03. Рассказываем, что и когда нужно обновить. И что делать, если установить обновление быстро не получается.

11.04.2025    3622    ЕленаЧерепнева    0       

3

Опубликована очередная версия платформы 1С:Предприятие 8.3.27. В релиз вошли 54 задачи, связанных с доработкой функциональности, и 12 задач по оптимизации функций и режимов работы. Рассказываем о наиболее значительных изменениях нового релиза.

10.04.2025    5407    ЕленаЧерепнева    1       

11

Фирма «1С» планирует оптимизировать процесс установки обновлений для пользователей платформы уровня КОРП: операции реструктуризации можно будет проводить при активных пользовательских сеансах, если они не затрагивают реструктурируемые таблицы.

09.04.2025    1368    ЕленаЧерепнева    0       

4

Налоговая ввела новый формат для универсального-передаточного документа и счетов-фактур. Читайте подробнее о том, какие изменения произошли в формате, что станет обязательным для ОСНО и УСН, и какие решения для этого предлагает Инфостарт Маркетплейс.

03.04.2025    11741    o_prohina    4       

21

С 1 апреля пользователи 1С, которым нужно сдавать отчетность только в ФНС, смогут перейти на новый экономичный тариф 1С-Отчетности. Главное преимущество тарифа – возможность контроля состояния ЕНС прямо из программы 1С.

02.04.2025    1568    ЕленаЧерепнева    6       

3

Приложение «1С:Простые продажи 8.5» не предназначено для реального учета, но позволяет убедиться, что работать с обновленным UX мобильной платформы 1С стало удобнее и быстрее. Скачать приложение можно во всех популярных маркетах.

31.03.2025    1606    Alisa_Brineva    0       

4

Пользователи онлайн-бухгалтерии «1С:БизнесСтарт» теперь могут использовать часть функций облачного приложения со смартфонов и планшетов. О выпуске мобильного клиента объявила фирма «1С». Рассказываем о доступных функциях и плюсах для пользователя.

28.03.2025    1593    Alisa_Brineva    0       

3

Комментарии

Инфостарт бот
1. ImHunter 19.11.21 15:57 Сейчас в теме
Еще бы генерилось новое значение, например, если в ф-ю передать Неопределено.
2. insurgut 20.11.21 07:26 Сейчас в теме
Ещё бы на уровне запросов можно было определять битая ссылка или нет, отбирать запросом записи с битыми ссылками.
3. karpik666 20.11.21 15:20 Сейчас в теме
(2) ну по идее это итак есть, надо сравнить с пустой ссылкой, и добавить проверку на Значение.Ссылка is NULL , тогда вернутся все битые ссылки.
4. insurgut 20.11.21 17:19 Сейчас в теме
(3) не работает это. Как минимум для полей с составным типом данных.
5. karpik666 20.11.21 17:22 Сейчас в теме
(4) Для составного типа надо добавить проверок на все типы, что туда входят, плюс на неопределено, но принцип тот же.
6. insurgut 20.11.21 17:25 Сейчас в теме
(5) так?
ВЫБРАТЬ
	ПлатежныйКалендарь.Период КАК Период,
	ПлатежныйКалендарь.Регистратор КАК Регистратор,
	ПлатежныйКалендарь.СчетНаОплату КАК СчетНаОплату
ИЗ
	РегистрНакопления.ПлатежныйКалендарь КАК ПлатежныйКалендарь
ГДЕ
	ВЫРАЗИТЬ(ПлатежныйКалендарь.СчетНаОплату КАК Документ.ЗаказПокупателя) ЕСТЬ NULL
	И НЕ ВЫРАЗИТЬ(ПлатежныйКалендарь.СчетНаОплату КАК Документ.ЗаказПокупателя) = НЕОПРЕДЕЛЕНО
Показать
7. karpik666 20.11.21 17:29 Сейчас в теме
(6) вот так
ВЫБРАТЬ
    ПлатежныйКалендарь.Период КАК Период,
    ПлатежныйКалендарь.Регистратор КАК Регистратор,
    ПлатежныйКалендарь.СчетНаОплату КАК СчетНаОплату
ИЗ
    РегистрНакопления.ПлатежныйКалендарь КАК ПлатежныйКалендарь
ГДЕ
    ВЫРАЗИТЬ(ПлатежныйКалендарь.СчетНаОплату КАК Документ.ЗаказПокупателя).Ссылка ЕСТЬ NULL
    И ПлатежныйКалендарь.СчетНаОплату Ссылка Документ.ЗаказПокупателя
    И НЕ ПлатежныйКалендарь.СчетНаОплату = Значение(Документ.ЗаказПокупателя.ПустаяСсылка)
Показать
m_aster; insurgut; +2 Ответить
8. insurgut 20.11.21 17:33 Сейчас в теме
(7) всё понял где собака зарыта, не само Значение проверять на ЕСТЬ NULL, а Значение.Ссылка. Спасибо!

P.S. Но конечно что-то вроде "ГДЕ ЭтоБитаяСсылка(ЗаписьРегистра.Регистратор) = ИСТИНА" вне зависимости от того, составной тип у поля или нет - очень упростило бы жизнь.

Оставьте свое сообщение