Добрый день, уважаемые форумчани. Прошу помощи
1С:Предприятие 8.3 (8.3.15.1869), "Управление производственным предприятием", формы обычные (не управляемые)
подключаюсь к MySQL через внешнее соединение (база Битрикса 24), выгружаю задачи Битрикса 24, но в одной из таблиц Битрикса 24 (где лежит номер отдела, сотрудника, по которому нужно найти руководителя сотрудника) содержит данные
a:1:{i:0;i:311;}
и поле с такими данными должно участвовать в связывании с другими полями, но только в части числа "311" или числа "53" - т.е. в части строки из {i:0;i:311;} или из {i:0;i:53;}.
пытаюсь это записать кодом
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_uts_iblock_5_section КАК b_uts_iblock_5_section
| ПО ВЫРАЗИТЬ(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"","""") КАК Число(3))= b_uts_iblock_5_section.VALUE_ID
Т.е.
- Необходимо оставить задачи которые были поставлены прямым руководителем.
Для того чтобы получить руководителя отдела необходимо выбрать первый отдел из таблицы b_uts_user поля UF_DEPARTMENT (отделы в которых состоит пользователь). -
Получив id отдела необходимо получить значение из таблицы b_uts_iblock_5_section поле UF_HEAD (руководитель отдела) таким образом был получен руководитель отдела.
но вылетает по ошибке
по причине:
{(39, 8)}: Несовместимые типы "ВЫРАЗИТЬ"
ПО <<?>>ВЫРАЗИТЬ(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),";","") КАК Число(3))= b_uts_iblock_5_section.VALUE_ID
Как такое можно исправить, помогите пожалуйста. Заранее спасибо.
(1) Зачем для связи преобразовывать строку в число? Работайте со строками. Прав("000"+t.str, 3)
Где t.str - это вами выдернутая подстрока из b_uts_user.UF_DEPARTMENT с заменой ";" на "". И надо так же заменить ещё "}", если есть номер из одного символа.
Преобразуйте числа в строку, если релиз платформы свежий и режим совместимости позволяет.
В 1С преобразование к числу в простом виде невозможно. Ранее бы такой вариант (смотрите комментарии и другие варианты).
https://infostart.ru/1c/articles/170336/
Ну, нет в 1C 8.х привычной cast(). А может никогда и не будет (скорее всего). Если от файловой откажутся, то может появится. Но планов отказа от файловой вроде даже намеков не было. :-)
спасибо большое, а как его в группировку засунуть
-т.е. в строку
| СГРУППИРОВАТЬ ПО
- пошла ошибка
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{Отчет.Отчет1.МодульОбъекта(221)}: Ошибка при вызове метода контекста (Выполнить)
по причине:
{(27, 55)}: Поле не входит в группу "b_uts_user.UF_DEPARTMENT"
ВЫРАЗИТЬ(Прав("000"+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(<<?>>b_uts_user.UF_DEPARTMENT,12,3),";",""),"}",""), 3) КАК СТРОКА(5)) как UF_DEPARTMENT,
(3) Для наглядности и исключения копипаста - можно в подзапрос, а потом уже группировать. На производительность это сильно НЕ повлияет, так как данные внешние.
Запрос = Новый Запрос("ВЫБРАТЬ
//задачи
| ЗапросЗадачи.Status_Task,
| ЗапросЗадачи.ID,
| ЗапросЗадачи.NAME,
| ЗапросЗадачи.LAST_NAME,
| ЗапросЗадачи.LOGIN,
| ЗапросЗадачи.WORK_POSITION,
| ЗапросЗадачи.WORK_DEPARTMENT,
| ЗапросЗадачи.WORK_COMPANY,
| ЗапросЗадачи.TASK_ID,
| ЗапросЗадачи.USER_ID,
| ЗапросЗадачи.USER_FIO,
| ЗапросЗадачи.USER_TYPE,
| ЗапросЗадачи.TITLE,
// | ЗапросЗадачи.DESCRIPTION,
| ЗапросЗадачи.PRIORITY,
| ЗапросЗадачи.STATUS,
| ЗапросЗадачи.DATE_START,
| ЗапросЗадачи.CLOSED_DATE,
| ЗапросЗадачи.START_DATE_PLAN,
| ЗапросЗадачи.END_DATE_PLAN,
| ЗапросЗадачи.CREATED_DATE,
| ЗапросЗадачи.CHANGED_DATE,
| ЗапросЗадачи.STATUS_CHANGED_DATE,
| ЗапросЗадачи.ACTIVITY_DATE,
| ЗапросЗадачи.DEADLINE,
| ЗапросЗадачи.RESPONSIBLE_ID,
| ЗапросЗадачи.UF_DEPARTMENT,
| ЗапросЗадачи.UF_HEAD,
| ЗапросЗадачи.CREATED_BY,
| Null
| ИЗ
|( ВЫБРАТЬ
| ""задачи"" как Status_Task,
| ВЫРАЗИТЬ (b_user.ID КАК Число(10)) как ID,
| ВЫРАЗИТЬ (b_user.NAME КАК СТРОКА(200)) как NAME,
| ВЫРАЗИТЬ (b_user.LAST_NAME КАК СТРОКА(200)) как LAST_NAME,
| ВЫРАЗИТЬ (b_user.LOGIN КАК СТРОКА(200)) как LOGIN,
| ВЫРАЗИТЬ (b_user.WORK_POSITION КАК СТРОКА(200)) как WORK_POSITION,
| ВЫРАЗИТЬ (b_user.WORK_DEPARTMENT КАК СТРОКА(200)) как WORK_DEPARTMENT,
| ВЫРАЗИТЬ (b_user.WORK_COMPANY КАК СТРОКА(200)) как WORK_COMPANY,
| sk_task_change_key_person.TASK_ID,
| ВЫРАЗИТЬ (sk_task_change_key_person.USER_ID КАК Число(10)) как USER_ID,
| sk_task_change_key_person.USER_FIO,
| ВЫРАЗИТЬ (sk_task_change_key_person.USER_TYPE КАК СТРОКА(13)) как USER_TYPE,
| b_tasks.TITLE,
| ВЫРАЗИТЬ (b_tasks.DESCRIPTION КАК СТРОКА(200)) как DESCRIPTION,
| b_tasks.PRIORITY,
| b_tasks.STATUS,
| b_tasks.DATE_START,
| b_tasks.CLOSED_DATE,
|b_tasks.START_DATE_PLAN,
|b_tasks.END_DATE_PLAN,
|b_tasks.CREATED_DATE,
|b_tasks.CHANGED_DATE,
|b_tasks.STATUS_CHANGED_DATE,
|b_tasks.ACTIVITY_DATE,
|b_tasks.DEADLINE,
|b_tasks.RESPONSIBLE_ID,
|ВЫРАЗИТЬ(Прав(""000""+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"",""""), 3) КАК СТРОКА(5)) как UF_DEPARTMENT,
|b_uts_iblock_5_section.UF_HEAD,
|b_tasks.CREATED_BY
|
|ИЗ
| ВнешнийИсточникДанных.Битрикс.Таблица.b_user КАК b_user
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.sk_task_change_key_person КАК sk_task_change_key_person
| ПО b_user.ID=sk_task_change_key_person.USER_ID
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_uts_user КАК b_uts_user
| ПО b_user.ID=b_uts_user.VALUE_ID
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_uts_iblock_5_section КАК b_uts_iblock_5_section
| ПО ВЫРАЗИТЬ(Прав(""000""+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"",""""), 3) КАК СТРОКА(5))= b_uts_iblock_5_section.VALUE_ID
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_tasks КАК b_tasks
| ПО b_tasks.ID=sk_task_change_key_person.TASK_ID
| и b_tasks.CREATED_BY=b_uts_iblock_5_section.UF_HEAD
|ГДЕ
| b_tasks.CLOSED_DATE МЕЖДУ НАЧАЛОПЕРИОДА(&Дата1, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Дата1, МЕСЯЦ)
| и (ВЫРАЗИТЬ (sk_task_change_key_person.USER_TYPE КАК СТРОКА(13))=&Состояние1
|или ВЫРАЗИТЬ (sk_task_change_key_person.USER_TYPE КАК СТРОКА(13))=&Состояние2)
| и ВЫРАЗИТЬ (sk_task_change_key_person.USER_TYPE КАК СТРОКА(13))<>&Состояние3) как ЗапросЗадачи
| СГРУППИРОВАТЬ ПО
| ЗапросЗадачи.ID,
| ЗапросЗадачи.USER_ID,
| ЗапросЗадачи.NAME,
| ЗапросЗадачи.LAST_NAME,
| ЗапросЗадачи.USER_FIO,
| ЗапросЗадачи.Status_Task,
| ЗапросЗадачи.LOGIN,
| ЗапросЗадачи.USER_TYPE,
| ЗапросЗадачи.WORK_POSITION,
| ЗапросЗадачи.WORK_DEPARTMENT,
| ЗапросЗадачи.WORK_COMPANY,
| ЗапросЗадачи.TASK_ID,
| ЗапросЗадачи.TITLE,
| ЗапросЗадачи.PRIORITY,
| ЗапросЗадачи.STATUS,
| ЗапросЗадачи.DATE_START,
| ЗапросЗадачи.CLOSED_DATE,
| ЗапросЗадачи.START_DATE_PLAN,
| ЗапросЗадачи.END_DATE_PLAN,
| ЗапросЗадачи.CREATED_DATE,
| ЗапросЗадачи.CHANGED_DATE,
| ЗапросЗадачи.STATUS_CHANGED_DATE,
| ЗапросЗадачи.ACTIVITY_DATE,
| ЗапросЗадачи.DEADLINE,
| ЗапросЗадачи.RESPONSIBLE_ID,
| ЗапросЗадачи.UF_DEPARTMENT,
| ЗапросЗадачи.UF_HEAD,
| ЗапросЗадачи.CREATED_BY
// | ЗапросЗадачи.DESCRIPTION
|ОБЪЕДИНИТЬ ВСЕ
//просрочки
|ВЫБРАТЬ
| ЗапросПросрочки.Status_Task,
| ЗапросПросрочки.ID,
| ЗапросПросрочки.NAME,
| ЗапросПросрочки.LAST_NAME,
| ЗапросПросрочки.LOGIN,
| ЗапросПросрочки.WORK_POSITION,
| ЗапросПросрочки.WORK_DEPARTMENT,
| ЗапросПросрочки.WORK_COMPANY,
| ЗапросПросрочки.TASK_ID,
| ЗапросПросрочки.USER_ID,
| ЗапросПросрочки.USER_FIO,
| ЗапросПросрочки.USER_TYPE,
| ЗапросПросрочки.TITLE,
| ЗапросПросрочки.PRIORITY,
| ЗапросПросрочки.STATUS,
| ЗапросПросрочки.DATE_START,
| ЗапросПросрочки.CLOSED_DATE,
| ЗапросПросрочки.START_DATE_PLAN,
| ЗапросПросрочки.END_DATE_PLAN,
| ЗапросПросрочки.CREATED_DATE,
| ЗапросПросрочки.CHANGED_DATE,
| ЗапросПросрочки.STATUS_CHANGED_DATE,
| ЗапросПросрочки.ACTIVITY_DATE,
| ЗапросПросрочки.DEADLINE,
| ЗапросПросрочки.RESPONSIBLE_ID,
| ЗапросПросрочки.UF_DEPARTMENT,
| ЗапросПросрочки.UF_HEAD,
| ЗапросПросрочки.CREATED_BY,
| ЗапросПросрочки.IGNORE_DELAY
|ИЗ
|( ВЫБРАТЬ
| ""просрочки"" как Status_Task,
| ВЫРАЗИТЬ (b_user.ID КАК Число(10)) как ID,
| ВЫРАЗИТЬ (b_user.NAME КАК СТРОКА(200)) как NAME,
| ВЫРАЗИТЬ (b_user.LAST_NAME КАК СТРОКА(200)) как LAST_NAME,
| ВЫРАЗИТЬ (b_user.LOGIN КАК СТРОКА(200)) как LOGIN,
| ВЫРАЗИТЬ (b_user.WORK_POSITION КАК СТРОКА(200)) как WORK_POSITION,
| ВЫРАЗИТЬ (b_user.WORK_DEPARTMENT КАК СТРОКА(200)) как WORK_DEPARTMENT,
| ВЫРАЗИТЬ (b_user.WORK_COMPANY КАК СТРОКА(200)) как WORK_COMPANY,
| sk_task_delay_deadline.TASK_ID,
| ВЫРАЗИТЬ (sk_task_delay_deadline.USER_ID КАК Число(10)) как USER_ID,
| sk_task_delay_deadline.USER_FIO,
| ВЫРАЗИТЬ (sk_task_delay_deadline.USER_TYPE КАК СТРОКА(13)) как USER_TYPE,
| b_tasks.TITLE,
| b_tasks.PRIORITY,
| b_tasks.STATUS,
| b_tasks.DATE_START,
| b_tasks.CLOSED_DATE,
|b_tasks.START_DATE_PLAN,
|b_tasks.END_DATE_PLAN,
|b_tasks.CREATED_DATE,
|b_tasks.CHANGED_DATE,
|b_tasks.STATUS_CHANGED_DATE,
|b_tasks.ACTIVITY_DATE,
|b_tasks.DEADLINE,
|b_tasks.RESPONSIBLE_ID,
|ВЫРАЗИТЬ(Прав(""000""+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"",""""), 3) КАК СТРОКА(5)) как UF_DEPARTMENT,
|b_uts_iblock_5_section.UF_HEAD,
|b_tasks.CREATED_BY,
|sk_task_delay_deadline.IGNORE_DELAY
|
|ИЗ
| ВнешнийИсточникДанных.Битрикс.Таблица.b_user КАК b_user
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.sk_task_delay_deadline КАК sk_task_delay_deadline
| ПО b_user.ID=sk_task_delay_deadline.USER_ID
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_uts_user КАК b_uts_user
| ПО b_user.ID=b_uts_user.VALUE_ID
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_uts_iblock_5_section КАК b_uts_iblock_5_section
| ПО ВЫРАЗИТЬ(Прав(""000""+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"",""""), 3) КАК СТРОКА(5))= b_uts_iblock_5_section.VALUE_ID
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_tasks КАК b_tasks
| ПО b_tasks.ID=sk_task_delay_deadline.TASK_ID
| и b_tasks.CREATED_BY=b_uts_iblock_5_section.UF_HEAD
|ГДЕ
| b_tasks.CLOSED_DATE МЕЖДУ НАЧАЛОПЕРИОДА(&Дата1, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Дата1, МЕСЯЦ)) как ЗапросПросрочки
| СГРУППИРОВАТЬ ПО
| ЗапросПросрочки.ID,
| ЗапросПросрочки.USER_ID,
| ЗапросПросрочки.NAME,
| ЗапросПросрочки.LAST_NAME,
| ЗапросПросрочки.USER_FIO,
| ЗапросПросрочки.Status_Task,
| ЗапросПросрочки.LOGIN,
| ЗапросПросрочки.USER_TYPE,
| ЗапросПросрочки.WORK_POSITION,
| ЗапросПросрочки.WORK_DEPARTMENT,
| ЗапросПросрочки.WORK_COMPANY,
| ЗапросПросрочки.TASK_ID,
| ЗапросПросрочки.TITLE,
| ЗапросПросрочки.PRIORITY,
| ЗапросПросрочки.STATUS,
| ЗапросПросрочки.DATE_START,
| ЗапросПросрочки.CLOSED_DATE,
| ЗапросПросрочки.START_DATE_PLAN,
| ЗапросПросрочки.END_DATE_PLAN,
| ЗапросПросрочки.CREATED_DATE,
| ЗапросПросрочки.CHANGED_DATE,
| ЗапросПросрочки.STATUS_CHANGED_DATE,
| ЗапросПросрочки.ACTIVITY_DATE,
| ЗапросПросрочки.DEADLINE,
| ЗапросПросрочки.RESPONSIBLE_ID,
| ЗапросПросрочки.UF_DEPARTMENT,
| ЗапросПросрочки.UF_HEAD,
| ЗапросПросрочки.CREATED_BY,
| ЗапросПросрочки.IGNORE_DELAY
|");
Показать
но вылетает
по причине:
Ошибка выполнения запроса
по причине:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: HY000
Номер ошибки: 1370
Описание: [MySQL][ODBC 8.2(a) Driver][mysqld-5.7.31-34]execute command denied to user 'Analyst'@'%' for routine 'dbalupro.REGEXP_REPLACE'
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_uts_iblock_5_section КАК b_uts_iblock_5_section
| ПО ВЫРАЗИТЬ(СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"","""") КАК СТРОКА(3))= ВЫРАЗИТЬ(b_uts_iblock_5_section.VALUE_ID КАК СТРОКА(3))
так как b_uts_iblock_5_section.VALUE_ID -число
ошибка
Несовместимые типы "ВЫРАЗИТЬ"
ПО ВЫРАЗИТЬ (СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),";",""),"}","") КАК СТРОКА(3))= <<?>>ВЫРАЗИТЬ(b_uts_iblock_5_section.VALUE_ID КАК СТРОКА(3))
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_uts_iblock_5_section КАК b_uts_iblock_5_section
| ПО b_uts_iblock_5_section.VALUE_ID в (ВЫРАЗИТЬ (b_uts_user.UF_DEPARTMENT КАК СТРОКА(100)))
тоже ошибка
Ошибка выполнения запроса
по причине:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: HY000
Номер ошибки: 1370
Описание: [MySQL][ODBC 8.2(a) Driver][mysqld-5.7.31-34]execute command denied to user 'Analyst'@'%' for routine 'dbalupro.REGEXP_REPLACE'
ПО (ВЫРАЗИТЬ (b_uts_iblock_5_section.VALUE_ID КАК СТРОКА(100)) подобно (ВЫРАЗИТЬ (b_uts_user.UF_DEPARTMENT КАК СТРОКА(100)))
ошибка
по причине:
{(70, 9)}: Несовместимые типы "ВЫРАЗИТЬ"
ПО (<<?>>ВЫРАЗИТЬ (b_uts_iblock_5_section.VALUE_ID КАК СТРОКА(100))) подобно (ВЫРАЗИТЬ (b_uts_user.UF_DEPARTMENT КАК СТРОКА(100)))
т.е. обработать строковыми функциями - ошибка , в списке - ошибка, подобно - ошибка.
Кто знает как правильно обратиться?
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_uts_iblock_5_section КАК b_uts_iblock_5_section
| ПО ВЫРАЗИТЬ (СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"","""") КАК СТРОКА(3))= ВЫРАЗИТЬ(b_uts_iblock_5_section.VALUE_ID КАК СТРОКА(3))
ошибка
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{Отчет.Отчет1.МодульОбъекта(276)}: Ошибка при вызове метода контекста (Выполнить)
по причине:
{(70, 116)}: Несовместимые типы "ВЫРАЗИТЬ"
ПО ВЫРАЗИТЬ (СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),";",""),"}","") КАК СТРОКА(3))= <<?>>ВЫРАЗИТЬ(b_uts_iblock_5_section.VALUE_ID КАК СТРОКА(3))
ПО ВЫРАЗИТЬ(Прав(""000""+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"",""""), 3) КАК СТРОКА(5))= b_uts_iblock_5_section.VALUE_ID
даёт ошибку
о причине:
Ошибка выполнения запроса
по причине:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: HY000
Номер ошибки: 1370
Описание: [MySQL][ODBC 8.2(a) Driver][mysqld-5.7.31-34]execute command denied to user 'Analyst'@'%' for routine 'dbalupro.REGEXP_REPLACE'
ПО ВЫРАЗИТЬ(Прав(""000""+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"",""""), 3) КАК Число(5))= b_uts_iblock_5_section.VALUE_ID
даёт ошибку
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{Отчет.Отчет1.МодульОбъекта(276)}: Ошибка при вызове метода контекста (Выполнить)
по причине:
{(70, 8)}: Несовместимые типы "ВЫРАЗИТЬ"
ПО <<?>>ВЫРАЗИТЬ(Прав("000"+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),";",""),"}",""), 3) КАК Число(5))= b_uts_iblock_5_section.VALUE_ID
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.b_uts_iblock_5_section КАК b_uts_iblock_5_section
| ПО ВЫРАЗИТЬ(Прав(""000""+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"",""""), 3) КАК СТРОКА(5)) подобно ВЫРАЗИТЬ(b_uts_iblock_5_section.VALUE_ID КАК СТРОКА(5))
даёт ошибку [IS-QUOTE][по причине:
{(70, 137)}: Несовместимые типы "ВЫРАЗИТЬ"
ПО ВЫРАЗИТЬ(Прав("000"+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),";",""),"}",""), 3) КАК СТРОКА(5)) подобно <<?>>ВЫРАЗИТЬ(b_uts_iblock_5_section.VALUE_ID КАК СТРОКА(5))
/QUOTE]
Может так?
Выразить не работает для преобразования типов. Написал в самом начале.
Выразить, это когда составной тип и надо привести только к одному из уже имеющихся в поле типу. Это не преобразование типа. Или строку(100) преобразовать к строке(50) - по сути тип тот же, но другая размерность.
cast() нет в 1С и не ожидается. Почему тоже написал. Есть только Строка() и только начиная с определенных версий платформы. Ссылку по языку запросов и изменениях тоже указал. Релиз примерно 8.3.20, когда это дело появилось.
Смотреть ещё режим совместимости в конфигурации.
ВЫРАЗИТЬ( Строка(b_uts_iblock_5_section.VALUE_ID) КАК СТРОКА(3))