Добрый день, уважаемые форумчани. Прошу помощи
1С:Предприятие 8.3 (8.3.15.1869), "Управление производственным предприятием для Украины", редакция 1.3 (1.3.66.1) , формы обычные (не управляемые)
подключаюсь к MySQL через внешнее соединение (база Битрикса 24), выгружаю задачи Битрикса 24, но в одной из таблиц Битрикса 24 (где лежит номер отдела, сотрудника, по которому нужно найти руководителя сотрудника) содержит данные
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.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
Svetas_2024 @ Сегодня, 0:24
,
сделала
| ПО ВЫРАЗИТЬ(Прав(""000""+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"",""""), 3) КАК СТРОКА(5))= b_uts_iblock_5_section.VALUE_ID
| СГРУППИРОВАТЬ ПО
Svetas_2024 @ Сегодня, 10:09
,
засунула в подзапросы чтобы потом сгруппировать
Запрос = Новый Запрос("ВЫБРАТЬ
//задачи
| ЗапросЗадачи.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,
| 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
|ОБЪЕДИНИТЬ ВСЕ
//просрочки
|ВЫБРАТЬ
| ЗапросПросрочки.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
|");
| ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Битрикс.Таблица.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 КАК b_uts_iblock_5_section
| ПО b_uts_iblock_5_section.VALUE_ID в (ВЫРАЗИТЬ (b_uts_user.UF_DEPARTMENT КАК СТРОКА(100)))
даёт ошибку ПО (ВЫРАЗИТЬ (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))
ПО ВЫРАЗИТЬ(Прав(""000""+СтрЗаменить(СтрЗаменить(ПОДСТРОКА(b_uts_user.UF_DEPARTMENT,12,3),"";"",""""),""}"",""""), 3) КАК СТРОКА(5))= b_uts_iblock_5_section.VALUE_ID
даёт ошибку ПО ВЫРАЗИТЬ(Прав(""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))
А если наоборот, из номера отдела сделать строку нужного вида и по ней соединять?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua