Имя: Пароль:
1C
1С v8
Отчет СКД. Объединить поля с одинаковыми ФИО
,
0 ForestClay
 
12.01.21
07:49
В общем, есть отчет на скд, состоящий из нескольких столбцов, одни из которых ФИО (тип строка) и Период (Тип дата). Так вот, нужно сделать так, чтобы записи (строки) с одинаковыми ФИО объединялись и их период записывался через запятую, как это можно сделать?
1 SiAl-chel
 
12.01.21
07:59
(0) Почитай про функцию СКУД ВычислитьВыражениеСГруппировкойМассив.
2 SiAl-chel
 
12.01.21
08:00
(0) +(1) "про функцию СКД"
3 ДенисЧ
 
12.01.21
08:06
4 ForestClay
 
12.01.21
08:47
Почему то просто ничего не выводит, еще небольшое уточнение, период состоит из двух дат, т.е. датаначала и датаокончания. Пробовал делать как в статье через ресурсы, выводит пустое поле.
5 Йохохо
 
12.01.21
08:58
нужна группа по "одинаковым фио"
6 ForestClay
 
12.01.21
09:02
(5) Подскажите как это реализовать
7 toypaul
 
гуру
12.01.21
09:05
8 ForestClay
 
12.01.21
09:08
(7)
ВЫБРАТЬ
    ОрганизацииДополнительныеРеквизиты.Ссылка КАК Ссылка,
    ОрганизацииДополнительныеРеквизиты.Свойство КАК Свойство,
    ОрганизацииДополнительныеРеквизиты.Значение КАК Значение
ПОМЕСТИТЬ ДолжностьПодписывающего
ИЗ
    Справочник.Организации.ДополнительныеРеквизиты КАК ОрганизацииДополнительныеРеквизиты
ГДЕ
    ОрганизацииДополнительныеРеквизиты.Свойство = &ДолжностьПодписывающего
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОрганизацииДополнительныеРеквизиты.Ссылка КАК Ссылка,
    ОрганизацииДополнительныеРеквизиты.Свойство КАК Свойство,
    ОрганизацииДополнительныеРеквизиты.Значение.ФизическоеЛицо.Фамилия + " " + ОрганизацииДополнительныеРеквизиты.Значение.ФизическоеЛицо.Инициалы КАК Значение
ПОМЕСТИТЬ ФИОПодписывающего
ИЗ
    Справочник.Организации.ДополнительныеРеквизиты КАК ОрганизацииДополнительныеРеквизиты
ГДЕ
    ОрганизацииДополнительныеРеквизиты.Свойство = &ФИОПодписывающего
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    _СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы.Организация КАК Организация,
    _СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
    _СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы.Сотрудник КАК Сотрудник,
    _СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы.ДатаНачала КАК ДатаНачала,
    _СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы.ДатаОкончания КАК ДатаОкончания,
    _СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы.Часы КАК Часы,
    _СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы.Должность КАК Должность,
    _СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы.РаботаетЗа КАК РаботаетЗа,
    _СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы.Причина КАК Причина
ПОМЕСТИТЬ Соответствие
ИЗ
    РегистрСведений._СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы КАК _СоответствиеДляИнтенсивностиСотрудникПодразделениеЧасы

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    _СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы.Организация,
    _СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы.ПодразделениеОрганизации,
    _СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы.Сотрудник,
    _СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы.ДатаНачала,
    _СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы.ДатаОкончания,
    _СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы.Часы,
    _СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы.Должность,
    _СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы.РаботаетЗа,
    _СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы.Причина
ИЗ
    РегистрСведений._СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы КАК _СоответствиеРаботаВДругихПодразделенияхСотрудникЧасы
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Соответствие.Организация КАК Организация,
    Соответствие.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
    Соответствие.Сотрудник.ФизическоеЛицо.Фамилия + " " + Соответствие.Сотрудник.ФизическоеЛицо.Инициалы КАК Сотрудник,
    Соответствие.ДатаНачала КАК ДатаНачала,
    Соответствие.ДатаОкончания КАК ДатаОкончания,
    (РАЗНОСТЬДАТ(Соответствие.ДатаНачала, Соответствие.ДатаОкончания, ДЕНЬ) + 1) * Соответствие.Часы КАК Часы,
    Соответствие.Должность КАК Должность,
    Соответствие.РаботаетЗа КАК РаботаетЗа,
    Соответствие.Причина КАК Причина,
    ДолжностьПодписывающего.Значение КАК ДолжностьПодписывающего,
    ФИОПодписывающего.Значение КАК ФИОПодписывающего
ИЗ
    Соответствие КАК Соответствие
        ЛЕВОЕ СОЕДИНЕНИЕ ФИОПодписывающего КАК ФИОПодписывающего
        ПО Соответствие.Организация = ФИОПодписывающего.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ ДолжностьПодписывающего КАК ДолжностьПодписывающего
        ПО Соответствие.Организация = ДолжностьПодписывающего.Ссылка
ГДЕ
    Соответствие.ДатаНачала >= &ДатаНачала
    И Соответствие.ДатаОкончания <= &ДатаОкончания
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ДолжностьПодписывающего
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ФИОПодписывающего
9 ForestClay
 
12.01.21
09:11
Вот мой запрос, в вычисляемых полях и параметрах имеется кое что, но моего вопроса это не касается. У меня есть Сотрудник, ДатаНачала и ДатаОкончания его работы, в месяце он может два раза выйти на работу, т.е. при формировании отчета появляется две аналогичные записи отличающиеся только ДатойНачала и ДатойОкончания, так вот, нужно сделать так, чтобы при одинаковых ФИО, период его работы писался через запятую
10 ForestClay
 
12.01.21
09:17
Группировака по организации, отбор по организации и периоду равному месяц
11 SiAl-chel
 
12.01.21
10:44
(9) Что непонятного в функции ВычислитьВыражениеСГруппировкойМассив?
Вот тут есть пример
http://catalog.mista.ru/1c/articles/1101676/
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn