Запрос кдокументам

1. uriah 17 08.12.18 11:35 Сейчас в теме
Есть запрос к трем документам, как суммировать строки по совпадающим значениям?
Запрос.Текст = 
		"ВЫБРАТЬ
		|	схПутевойЛистИсполнители.Сотрудник КАК Сотрудник,
		|	СУММА(схПутевойЛистВыработка.Сумма) КАК Сумма,
		|	схПутевойЛистИсполнители.Ссылка.ПодразделениеОрганизации КАК Подразделение,
		|	схПутевойЛистИсполнители.Сотрудник.Код КАК ТабНомер
		|ИЗ
		|	Документ.схПутевойЛист.Исполнители КАК схПутевойЛистИсполнители
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.схПутевойЛист.Выработка КАК схПутевойЛистВыработка
		|		ПО схПутевойЛистИсполнители.Ссылка = схПутевойЛистВыработка.Ссылка
		|ГДЕ
		|	схПутевойЛистИсполнители.Ссылка.Дата МЕЖДУ &ДатаНачала И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
		|	И схПутевойЛистИсполнители.Ссылка.Проведен
		|
		|СГРУППИРОВАТЬ ПО
		|	схПутевойЛистИсполнители.Сотрудник,
		|	схПутевойЛистИсполнители.Ссылка.ПодразделениеОрганизации
		|
		|ОБЪЕДИНИТЬ 
		|
		|ВЫБРАТЬ
		|	схУчетныйЛистТрактористаМашинистаИсполнители.Сотрудник КАК Сотрудник,
		|	СУММА(схУчетныйЛистТрактористаМашинистаВыработка.Сумма)КАК Сумма,
		|	схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.ПодразделениеОрганизации КАК Подразделение,
		|	схУчетныйЛистТрактористаМашинистаИсполнители.Сотрудник.Код
		|ИЗ
		|	Документ.схУчетныйЛистТрактористаМашиниста.Исполнители КАК схУчетныйЛистТрактористаМашинистаИсполнители
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.схУчетныйЛистТрактористаМашиниста.Выработка КАК схУчетныйЛистТрактористаМашинистаВыработка
		|		ПО схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка = схУчетныйЛистТрактористаМашинистаВыработка.Ссылка
		|ГДЕ
		|	схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.Дата МЕЖДУ &ДатаНачала И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
		|	И схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.Проведен
		|
		|СГРУППИРОВАТЬ ПО
		|	схУчетныйЛистТрактористаМашинистаИсполнители.Сотрудник,
		|	схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.ПодразделениеОрганизации
		|
		|ОБЪЕДИНИТЬ 
		|
		|ВЫБРАТЬ
		|	схСдельныйНарядИсполнители.Сотрудник КАК Сотрудник,
		|	СУММА(схСдельныйНарядВыработка.Сумма) КАК Сумма,
		|	схСдельныйНарядИсполнители.Ссылка.ПодразделениеОрганизации КАК Подразделение,
		|	схСдельныйНарядИсполнители.Сотрудник.Код КАК ТабНомер
		|ИЗ
		|	Документ.схСдельныйНаряд.Исполнители КАК схСдельныйНарядИсполнители
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.схСдельныйНаряд.Выработка КАК схСдельныйНарядВыработка
		|		ПО схСдельныйНарядИсполнители.Ссылка = схСдельныйНарядВыработка.Ссылка
		|ГДЕ
		|	схСдельныйНарядИсполнители.Ссылка.Дата МЕЖДУ &ДатаНачала И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
		|	И схСдельныйНарядИсполнители.Ссылка.Проведен
		|
		|СГРУППИРОВАТЬ ПО
		|	схСдельныйНарядИсполнители.Сотрудник,
		|	схСдельныйНарядИсполнители.Ссылка.ПодразделениеОрганизации
		|
		|УПОРЯДОЧИТЬ ПО
		|	Подразделение,
		|	Сотрудник
		|АВТОУПОРЯДОЧИВАНИЕ";
Показать
+
Вознаграждение за ответ
Показать полностью
Найденные решения
9. Sergynia 4 09.12.18 15:55 Сейчас в теме +1 $m
(7) Если не вдаваться в суть то будет следующее.

Запрос.Текст = 
        "ВЫБРАТЬ
        |    схПутевойЛистИсполнители.Сотрудник КАК Сотрудник,
        |    СУММА(схПутевойЛистВыработка.Сумма) КАК Сумма,
        |    схПутевойЛистИсполнители.Ссылка.ПодразделениеОрганизации КАК Подразделение,
        |    схПутевойЛистИсполнители.Сотрудник.Код КАК ТабНомер
	|Поместить втИтог
        |ИЗ
        |    Документ.схПутевойЛист.Исполнители КАК схПутевойЛистИсполнители
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.схПутевойЛист.Выработка КАК схПутевойЛистВыработка
        |        ПО схПутевойЛистИсполнители.Ссылка = схПутевойЛистВыработка.Ссылка
        |ГДЕ
        |    схПутевойЛистИсполнители.Ссылка.Дата МЕЖДУ &ДатаНачала И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
        |    И схПутевойЛистИсполнители.Ссылка.Проведен
        |
        |СГРУППИРОВАТЬ ПО
        |    схПутевойЛистИсполнители.Сотрудник,
        |    схПутевойЛистИсполнители.Ссылка.ПодразделениеОрганизации
        |
        |ОБЪЕДИНИТЬ 
        |
        |ВЫБРАТЬ
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Сотрудник КАК Сотрудник,
        |    СУММА(схУчетныйЛистТрактористаМашинистаВыработка.Сумма)КАК Сумма,
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.ПодразделениеОрганизации КАК Подразделение,
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Сотрудник.Код
        |ИЗ
        |    Документ.схУчетныйЛистТрактористаМашиниста.Исполнители КАК схУчетныйЛистТрактористаМашинистаИсполнители
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.схУчетныйЛистТрактористаМашиниста.Выработка КАК схУчетныйЛистТрактористаМашинистаВыработка
        |        ПО схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка = схУчетныйЛистТрактористаМашинистаВыработка.Ссылка
        |ГДЕ
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.Дата МЕЖДУ &ДатаНачала И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
        |    И схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.Проведен
        |
        |СГРУППИРОВАТЬ ПО
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Сотрудник,
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.ПодразделениеОрганизации
        |
        |ОБЪЕДИНИТЬ 
        |
        |ВЫБРАТЬ
        |    схСдельныйНарядИсполнители.Сотрудник КАК Сотрудник,
        |    СУММА(схСдельныйНарядВыработка.Сумма) КАК Сумма,
        |    схСдельныйНарядИсполнители.Ссылка.ПодразделениеОрганизации КАК Подразделение,
        |    схСдельныйНарядИсполнители.Сотрудник.Код КАК ТабНомер
        |ИЗ
        |    Документ.схСдельныйНаряд.Исполнители КАК схСдельныйНарядИсполнители
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.схСдельныйНаряд.Выработка КАК схСдельныйНарядВыработка
        |        ПО схСдельныйНарядИсполнители.Ссылка = схСдельныйНарядВыработка.Ссылка
        |ГДЕ
        |    схСдельныйНарядИсполнители.Ссылка.Дата МЕЖДУ &ДатаНачала И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
        |    И схСдельныйНарядИсполнители.Ссылка.Проведен
        |
        |СГРУППИРОВАТЬ ПО
        |    схСдельныйНарядИсполнители.Сотрудник,
        |    схСдельныйНарядИсполнители.Ссылка.ПодразделениеОрганизации
        |
        |УПОРЯДОЧИТЬ ПО
        |    Подразделение,
        |    Сотрудник
        |АВТОУПОРЯДОЧИВАНИЕ;
	|////////////////////////////////////////////////////////////­///////////////////
	|ВЫБРАТЬ
	| втИтог.Сотрудник,
	| втИтог.Подразделение,
	| СУММА(втИтог.CУмма)
	|СГРУППИРОВАТЬ ПО
        |    втИтог.Сотрудник,
        |    втИтог.Подразделение
Показать
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Alexei_Siva 182 08.12.18 11:49 Сейчас в теме
Поместить эти 3 таблицы во временную таблицу и сгруппировать во временной таблице строки по Сотрудник, Подразделение, ТАбНомер
+
5. uriah 17 08.12.18 18:26 Сейчас в теме
А в коде можете показать?
+
6. Sergynia 4 09.12.18 12:13 Сейчас в теме
(5) не понятно зачем соединять левым соединением 2 таблицы одного документа по ссылке данного документа? Что вы хотите получить?
+
7. uriah 17 09.12.18 15:37 Сейчас в теме
(6) Из 3 разных документов нужно получить таблицу: Сотрудник , подразделение, табельный номер, Сумма. Свернуть по Сотруднику , подразделению
+
8. Sergynia 4 09.12.18 15:45 Сейчас в теме
(7) А в тч Выработка есть реквизит сотрудник? просто не понятно зачем вы берете тч Исполнители и тч Выработку и соединяете её левым соединением соединяете по ссылке документа. А так же в группировке не используется ТабНомер.
+
10. uriah 17 09.12.18 17:00 Сейчас в теме
(8) Нет, сотрудник есть только в тч Исполнители
+
9. Sergynia 4 09.12.18 15:55 Сейчас в теме +1 $m
(7) Если не вдаваться в суть то будет следующее.

Запрос.Текст = 
        "ВЫБРАТЬ
        |    схПутевойЛистИсполнители.Сотрудник КАК Сотрудник,
        |    СУММА(схПутевойЛистВыработка.Сумма) КАК Сумма,
        |    схПутевойЛистИсполнители.Ссылка.ПодразделениеОрганизации КАК Подразделение,
        |    схПутевойЛистИсполнители.Сотрудник.Код КАК ТабНомер
	|Поместить втИтог
        |ИЗ
        |    Документ.схПутевойЛист.Исполнители КАК схПутевойЛистИсполнители
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.схПутевойЛист.Выработка КАК схПутевойЛистВыработка
        |        ПО схПутевойЛистИсполнители.Ссылка = схПутевойЛистВыработка.Ссылка
        |ГДЕ
        |    схПутевойЛистИсполнители.Ссылка.Дата МЕЖДУ &ДатаНачала И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
        |    И схПутевойЛистИсполнители.Ссылка.Проведен
        |
        |СГРУППИРОВАТЬ ПО
        |    схПутевойЛистИсполнители.Сотрудник,
        |    схПутевойЛистИсполнители.Ссылка.ПодразделениеОрганизации
        |
        |ОБЪЕДИНИТЬ 
        |
        |ВЫБРАТЬ
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Сотрудник КАК Сотрудник,
        |    СУММА(схУчетныйЛистТрактористаМашинистаВыработка.Сумма)КАК Сумма,
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.ПодразделениеОрганизации КАК Подразделение,
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Сотрудник.Код
        |ИЗ
        |    Документ.схУчетныйЛистТрактористаМашиниста.Исполнители КАК схУчетныйЛистТрактористаМашинистаИсполнители
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.схУчетныйЛистТрактористаМашиниста.Выработка КАК схУчетныйЛистТрактористаМашинистаВыработка
        |        ПО схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка = схУчетныйЛистТрактористаМашинистаВыработка.Ссылка
        |ГДЕ
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.Дата МЕЖДУ &ДатаНачала И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
        |    И схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.Проведен
        |
        |СГРУППИРОВАТЬ ПО
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Сотрудник,
        |    схУчетныйЛистТрактористаМашинистаИсполнители.Ссылка.ПодразделениеОрганизации
        |
        |ОБЪЕДИНИТЬ 
        |
        |ВЫБРАТЬ
        |    схСдельныйНарядИсполнители.Сотрудник КАК Сотрудник,
        |    СУММА(схСдельныйНарядВыработка.Сумма) КАК Сумма,
        |    схСдельныйНарядИсполнители.Ссылка.ПодразделениеОрганизации КАК Подразделение,
        |    схСдельныйНарядИсполнители.Сотрудник.Код КАК ТабНомер
        |ИЗ
        |    Документ.схСдельныйНаряд.Исполнители КАК схСдельныйНарядИсполнители
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.схСдельныйНаряд.Выработка КАК схСдельныйНарядВыработка
        |        ПО схСдельныйНарядИсполнители.Ссылка = схСдельныйНарядВыработка.Ссылка
        |ГДЕ
        |    схСдельныйНарядИсполнители.Ссылка.Дата МЕЖДУ &ДатаНачала И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
        |    И схСдельныйНарядИсполнители.Ссылка.Проведен
        |
        |СГРУППИРОВАТЬ ПО
        |    схСдельныйНарядИсполнители.Сотрудник,
        |    схСдельныйНарядИсполнители.Ссылка.ПодразделениеОрганизации
        |
        |УПОРЯДОЧИТЬ ПО
        |    Подразделение,
        |    Сотрудник
        |АВТОУПОРЯДОЧИВАНИЕ;
	|////////////////////////////////////////////////////////////­///////////////////
	|ВЫБРАТЬ
	| втИтог.Сотрудник,
	| втИтог.Подразделение,
	| СУММА(втИтог.CУмма)
	|СГРУППИРОВАТЬ ПО
        |    втИтог.Сотрудник,
        |    втИтог.Подразделение
Показать
+
15. uriah 17 10.12.18 11:15 Сейчас в теме
(9) В общем по коду правильно, только после
 |ВЫБРАТЬ
    | втИтог.Сотрудник,
    | втИтог.Подразделение,
    | СУММА(втИтог.CУмма)

Нужно добавить
|ИЗ
	|	втИтог КАК втИтог
	|
+
16. Sergynia 4 10.12.18 12:04 Сейчас в теме
3. Sergynia 4 08.12.18 11:53 Сейчас в теме
Поместить в во временную таблицу. Далее в следующем пакете выбрать данную временную таблицу и группировать там.
+
4. Fox-trot 157 08.12.18 12:00 Сейчас в теме
11. uriah 17 09.12.18 17:34 Сейчас в теме
({Доработки Обработка.схВыгрузкаПутевыхЛистовБух.Форма.Форма.Форма(82)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();
по причине:
{(58, 1)}: Синтаксическая ошибка "ВЫБРАТЬ"
<<?>>ВЫБРАТЬ
+
12. Sergynia 4 09.12.18 18:10 Сейчас в теме
(11) До внесения изменений. Текст запрос открылся в конструкторе запросов?
+
13. uriah 17 09.12.18 18:55 Сейчас в теме
(12) Да запрос был рабочий, единственно не сворачивалось по сотрудникам
+
14. Sergynia 4 09.12.18 19:10 Сейчас в теме
(13) можно сделать следующее в конструкторе перейти на вкладку Дополнительно. в качестве типа запроса выбрать "Создание временной таблицы" указать в поле Имя временной таблицы укажите как будет называться полученная таблица, затем перейти на пакет запросов добавить новый пакет. В созданном пакете выбрать нужные поля. На вкладке группировка указать по каким полям вы группируете таблицу, а в полях суммирование указать какое поле будите суммировать.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот