Имя: Пароль:
1C
1С v8
СКД вывод табличных частей в одно поле
0 makkut
 
27.02.19
10:54
Поступила необходимость вывести отчет по сотрудникам с полями составом семьи (ФИО родственника, год рождения родственника, степень родства), а также образования (вид образования).
У сотрудника могут быть несколько родственников и видов образований.
по полям состава семьи (степень родства и т.д) создаю вычисляемое поле СтепеньРодстваРодственника(выражение "") на вкладке ресурсы выбираю это поле и в выражении пишу СоединитьСтроки(Массив(ДанныеОФизЛице.СоставСемьи.ФизЛицоСтепеньРодства),,"")  а также указываю рассчитывать по полю Сотрудник.
Поля по составу семьи формируются идеально в одном поле по каждому сотруднику.
Но стоит тоже самое сделать по полю образования, у тех сотрудников у которых несколько видов образования происходит задвоение записей по полям состава  семьи и образованию.

Пример нужно так

Сотрудник      Степерь Родстава      ФИО родственника      Вид образования сотр.
Иванов И.И.       жена                   Иванова А.А.          средне-специальное
                  дочь                   Иванова А.И.          высшее
                  сын                    Иванов  С.И.

а формируется вот так:
Сотрудник      Степерь Родстава      ФИО родственника      Вид образования сотр.
Иванов И.И.       жена                   Иванова А.А.          средне-специальное
                  жена                   Иванова А.А.          высшее
                  дочь                   Иванова А.И.          средне-специальное
                  дочь                   Иванова А.И.          высшее
                  сын                    Иванов  С.И.          средне-специальное
                  сын                    Иванов  С.И.          высшее

нужно свернуть строки отдельно по полям, можно ли это сделать у ресурса и как ?
1 toypaul
 
гуру
27.02.19
10:57
возможно поможет ВычислитьВыражениеСГруппировкойТаблицаЗначений?

СоединитьСтроки(ВычислитьВыражениеСГруппировкойТаблицаЗначений())
2 toypaul
 
гуру
27.02.19
10:59
Настройки бы глянуть. Так не очень понятно.

Вот это вот не понял "Но стоит тоже самое сделать по полю образования"
3 makkut
 
27.02.19
11:02
(2) при добавлении поля вид образования в отчете

а сам отчет сотрудники организации стандартный, пытаюсь его доработать.
4 makkut
 
27.02.19
11:04
(1) СоединитьСтроки(ВычислитьВыражениеСГруппировкойТаблицаЗначений(ДанныеОФизЛице.СоставСемьи.ФизЛицоСтепеньРодства),,"") попробовал так выпадает в ошибку , не формирует
5 toypaul
 
гуру
27.02.19
11:05
(4) у ВычислитьВыражениеСГруппировкойТаблицаЗначений другой синтаксис
6 toypaul
 
гуру
27.02.19
11:12
и я не понял. у тебя на каждую колонку отдельное вычисляемое поле что ли? без картинок настроек сложно понять
7 catena
 
27.02.19
11:12
А если добавить в условия соединения номер строки?
8 makkut
 
27.02.19
11:12
(5) для поля степень родства СоединитьСтроки(ВычислитьВыражениеСГруппировкойТаблицаЗначений("ДанныеОФизЛице.СоставСемьи.ФизЛицоСтепеньРодства"),,"")
для поля образования СоединитьСтроки(ВычислитьВыражениеСГруппировкойТаблицаЗначений("ДанныеОФизЛице.Образование.ФизЛицоВидОбразования"),,"")

всё равно задвоение как изначально было
9 toypaul
 
гуру
27.02.19
11:13
(3) ЗУП какой?
10 toypaul
 
гуру
27.02.19
11:13
ВычислитьВыражениеСГруппировкойТаблицаЗначений("ДанныеОФизЛице.СоставСемьи.ФизЛицоСтепеньРодства","Сотрудник") вот так наверное нужно
11 toypaul
 
гуру
27.02.19
11:15
если у тебя на каждую колонку отдельное вычисляемое поле

то можно

СоединитьСтроки(ВычислитьВыражениеСГруппировкойМассив("","Сотрудник")) как-то так

я-то думал, что тебе нужно всю таблицу из всех колонок запихать в одно поле
12 makkut
 
27.02.19
11:15
(6) фишка в том что нужно вывести данные с 2-х разных табличных частей (данные по родственникам и образования) в одну строку но в разных колонках
УПП 1.3.116.2
13 catena
 
27.02.19
11:17
(12)
ВЫБРАТЬ
    ЕСТЬNULL(ФизическиеЛицаОбразование.Ссылка, ФизическиеЛицаСоставСемьи.Ссылка) КАК Поле1,
    ЕстьNULL(ФизическиеЛицаОбразование.ВидОбразования,""),
    ФизическиеЛицаОбразование.ГодОкончания,
    ФизическиеЛицаСоставСемьи.СтепеньРодства,
    ФизическиеЛицаСоставСемьи.ГодРождения
ИЗ
    Справочник.ФизическиеЛица.СоставСемьи КАК ФизическиеЛицаСоставСемьи
        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование
        ПО ФизическиеЛицаСоставСемьи.Ссылка = ФизическиеЛицаОбразование.Ссылка
            И ФизическиеЛицаСоставСемьи.НомерСтроки = ФизическиеЛицаОбразование.НомерСтроки
14 toypaul
 
гуру
27.02.19
11:20
(12) можно собрать в один запрос из разных ТЧ как в (13) и потом уже через ВычислитьВыражениеСГруппировкойТаблицаЗначений вывести табличку в поле.

и можно вообще без СоединитьСтроки
15 makkut
 
27.02.19
11:34
(11) спасибо, всё получилось только сделал ВычислитьВыражениеСГруппировкойТаблицаЗначений("ДанныеОФизЛице.СоставСемьи.ФизЛицоСтепеньРодства","ДанныеОФизЛице.СоставСемьи.ФизЛицоСтепеньРодства")

а так ВычислитьВыражениеСГруппировкойТаблицаЗначений("ДанныеОФизЛице.СоставСемьи.ФизЛицоСтепеньРодства","Сотрудник")  выводит только одну первую строку.


Большой спасибо! Никогда не сталкивался,буду теперь знать.