|
Исключить повторение. | ☑ | ||
---|---|---|---|---|
0
antihacker
28.06.14
✎
15:59
|
Добрый день !
Вот запрос который выводит список контрагентов которые получили оборудования. ВЫБРАТЬ ПеремещениеОборудованияЗаБалансом.тбОборудование.( КонтрагентПолучатель, СотрудникПолучатель ), ПеремещениеОборудованияЗаБалансом.Дата ИЗ Документ.ПеремещениеОборудованияЗаБалансом КАК ПеремещениеОборудованияЗаБалансом ГДЕ ПеремещениеОборудованияЗаБалансом.Дата >= &Дата И ПеремещениеОборудованияЗаБалансом.тбОборудование.СотрудникПолучатель = &СотрудникПолучатель Но если контрагент получал 2 раза, его соответственно выводит 2раза. Как сделать так что бы выводил 1 раз ? За ранее спасибо. |
|||
1
Мимохожий Однако
28.06.14
✎
16:06
|
Поле дата обязательно? Убери поле дата, добавь группировку по сотруднику
|
|||
2
kobzon
28.06.14
✎
16:08
|
А не по контрагенту группировку нада?
|
|||
3
antihacker
28.06.14
✎
16:09
|
Да мне нужно в интервале времени. Может группировку по КонтрагентПолучатель ? Он и есть тот кто получает.
|
|||
4
Мимохожий Однако
28.06.14
✎
16:10
|
Для отбора выводить дату не обязательно. Достаточно в условии указать. Возьми консоль запросов и поэкспериментируй.
|
|||
5
antihacker
28.06.14
✎
16:12
|
Я там и делаю.
делаю группировку получаю такой запрос "ВЫБРАТЬ | ПеремещениеОборудованияЗаБалансом.тбОборудование.( | КонтрагентПолучатель, | СотрудникПолучатель | ), | ПеремещениеОборудованияЗаБалансом.Дата |ИЗ | Документ.ПеремещениеОборудованияЗаБалансом КАК ПеремещениеОборудованияЗаБалансом |ГДЕ | ПеремещениеОборудованияЗаБалансом.Дата >= &Дата | И ПеремещениеОборудованияЗаБалансом.тбОборудование.СотрудникПолучатель = &СотрудникПолучатель | |СГРУППИРОВАТЬ ПО | ПеремещениеОборудованияЗаБалансом.тбОборудование.(КонтрагентПолучатель)"; но такая ошибка {Форма.Отчет(46)}: Ошибка при вызове метода контекста (Выполнить): {(2, 2)}: Группировка по таблицам верхнего уровня и вложенным таблицам <<?>>ПеремещениеОборудованияЗаБалансом.тбОборудование.( Результат = Запрос.Выполнить(); по причине: {(2, 2)}: Группировка по таблицам верхнего уровня и вложенным таблицам <<?>>ПеремещениеОборудованияЗаБалансом.тбОборудование.( |
|||
6
Мимохожий Однако
28.06.14
✎
16:15
|
Убери для начала
| ПеремещениеОборудованияЗаБалансом.Дата |
|||
7
Мимохожий Однако
28.06.14
✎
16:16
|
И попробуй взять не документ, а табличную часть документа в запрос
|
|||
8
kobzon
28.06.14
✎
16:17
|
И наверно можно уже так писать:
|СГРУППИРОВАТЬ ПО | ПеремещениеОборудованияЗаБалансом.КонтрагентПолучатель; |
|||
9
antihacker
28.06.14
✎
16:18
|
Дату убрал не помогло.
|
|||
10
Мимохожий Однако
28.06.14
✎
16:18
|
Полный запрос покажи
|
|||
11
Мимохожий Однако
28.06.14
✎
16:19
|
Возьми не таблицу документа в качестве источника, а табличную часть тбОборудование
|
|||
12
antihacker
28.06.14
✎
16:19
|
"ВЫБРАТЬ
| ПеремещениеОборудованияЗаБалансом.тбОборудование.( | КонтрагентПолучатель, | СотрудникПолучатель | ) |ИЗ | Документ.ПеремещениеОборудованияЗаБалансом КАК ПеремещениеОборудованияЗаБалансом |ГДЕ | ПеремещениеОборудованияЗаБалансом.Дата >= &Дата | И ПеремещениеОборудованияЗаБалансом.тбОборудование.СотрудникПолучатель = &СотрудникПолучатель | |СГРУППИРОВАТЬ ПО | ПеремещениеОборудованияЗаБалансом.тбОборудование.(КонтрагентПолучатель)"; |
|||
13
Мимохожий Однако
28.06.14
✎
16:20
|
См (11) ты вместо поля КонтрагентПолучатель получаешь таблицу значений
|
|||
14
antihacker
28.06.14
✎
16:20
|
ПеремещениеОборудованияЗаБалансом.КонтрагентПолучатель;
Пишет не найдено поле |
|||
15
Мимохожий Однако
28.06.14
✎
16:21
|
Пишешь запрос руками или конструктором?
|
|||
16
antihacker
28.06.14
✎
16:21
|
Конструктором.
А как брать только табличную часть ? |
|||
17
Мимохожий Однако
28.06.14
✎
16:22
|
Разверни ветку документа и укажи
|
|||
18
antihacker
28.06.14
✎
16:23
|
Это где вкладка группировка ?
|
|||
19
Мимохожий Однако
28.06.14
✎
16:24
|
жми не бойся
|
|||
20
antihacker
28.06.14
✎
16:28
|
Ну я так и делаю и такой запрос получаю.
|
|||
21
Мимохожий Однако
28.06.14
✎
16:31
|
Запрос показывай. Скобок не должно быть. Какая структура у табличной части? Какие у нее реквизиты?
|
|||
22
antihacker
28.06.14
✎
16:34
|
Вот запрос
ВЫБРАТЬ ПеремещениеОборудованияЗаБалансом.тбОборудование.( КонтрагентПолучатель, ПРЕДСТАВЛЕНИЕ(ПеремещениеОборудованияЗаБалансом.тбОборудование.КонтрагентПолучатель), СотрудникПолучатель, ПРЕДСТАВЛЕНИЕ(ПеремещениеОборудованияЗаБалансом.тбОборудование.СотрудникПолучатель) ) ИЗ Документ.ПеремещениеОборудованияЗаБалансом КАК ПеремещениеОборудованияЗаБалансом ГДЕ ПеремещениеОборудованияЗаБалансом.Дата >= &Дата СГРУППИРОВАТЬ ПО ПеремещениеОборудованияЗаБалансом.тбОборудование.(СотрудникПолучатель, КонтрагентПолучатель) Когда добавляю только КонтрагентПолучатель, то СотрудникПолучатель тоже попадает в запрос. Хотя в поле "групповое поле" конструктора его нет. Когда нажимаю ок выводит Ошибка при вызове метода контекста (Выполнить): {(2, 2)}: Группировка по таблицам верхнего уровня и вложенным таблицам |
|||
23
2S
28.06.14
✎
16:34
|
перепиши запрос через табличную часть
|
|||
24
2S
28.06.14
✎
16:38
|
ЫБРАТЬ
блабла ИЗ Документ.ПеремещениеОборудованияЗаБалансом.тбОборудование |
|||
25
antihacker
28.06.14
✎
16:39
|
2S, можешь писать полностью
|
|||
26
Мимохожий Однако
28.06.14
✎
16:48
|
Для начала
Выбрать * ИЗ Документ.ПеремещениеОборудованияЗаБалансом.тбОборудование |
|||
27
antihacker
28.06.14
✎
16:51
|
аууууу
|
|||
28
antihacker
28.06.14
✎
16:52
|
В таком варианте ругает что поле Дата не найдено.
|
|||
29
2S
28.06.14
✎
16:57
|
к дате надо обращаться по ссылке в этом случае
Консоль в руки |
|||
30
Мимохожий Однако
28.06.14
✎
16:57
|
Скопируй (26)в свою консоль и посмотри
|
|||
31
Мимохожий Однако
28.06.14
✎
16:58
|
Выбрать
* ИЗ Документ.ПеремещениеОборудованияЗаБалансом.тбОборудование |
|||
32
antihacker
28.06.14
✎
17:08
|
пишет Документ.ПеремещениеОборудованияЗаБалансом.тбОборудование
не найдено |
|||
33
antihacker
28.06.14
✎
17:08
|
"ВЫБРАТЬ
| ПеремещениеОборудованияЗаБалансом.тбОборудование.( | КонтрагентПолучатель, | ПРЕДСТАВЛЕНИЕ(ПеремещениеОборудованияЗаБалансом.тбОборудование.КонтрагентПолучатель), | СотрудникПолучатель, | ПРЕДСТАВЛЕНИЕ(ПеремещениеОборудованияЗаБалансом.тбОборудование.СотрудникПолучатель) | ) |ИЗ | Документ.ПеремещениеОборудованияЗаБалансом.тбОборудование "; |
|||
34
antihacker
28.06.14
✎
17:09
|
Ребята вы подсказываете один путь, но у отказывает другая часть решения.
Исправьте мой запрос с конструктора. Как должно быть в целом ? |
|||
35
2S
28.06.14
✎
17:10
|
ВЫБРАТЬ
| тбОборудование.КонтрагентПолучатель, | тбОборудование.СотрудникПолучатель, |ИЗ | Документ.ПеремещениеОборудованияЗаБалансом.тбОборудование КАК тбОборудование"; дату получишь как тбОборудование.Ссылка.Дата |
|||
36
antihacker
28.06.14
✎
17:32
|
ВЫБРАТЬ
ПеремещениеОборудованияЗаБалансомтбОборудование.КонтрагентПолучатель, ПеремещениеОборудованияЗаБалансомтбОборудование.СотрудникПолучатель, ПеремещениеОборудованияЗаБалансомтбОборудование.Ссылка.Дата ИЗ Документ.ПеремещениеОборудованияЗаБалансом.тбОборудование КАК ПеремещениеОборудованияЗаБалансомтбОборудование ГДЕ ПеремещениеОборудованияЗаБалансомтбОборудование.Ссылка.Дата >= &Дата И ПеремещениеОборудованияЗаБалансомтбОборудование.СотрудникПолучатель = &СотрудникПолучатель и это работает, но записи повторяются |
|||
37
wanderer_ица
28.06.14
✎
17:36
|
Сотрудника и дату уберите из запроса
|
|||
38
antihacker
28.06.14
✎
17:37
|
Так я же по ним фильтрую...
|
|||
39
antihacker
28.06.14
✎
17:40
|
вот так вроде работает
ВЫБРАТЬ ПеремещениеОборудованияЗаБалансомтбОборудование.КонтрагентПолучатель КАК КонтрагентПолучатель ИЗ Документ.ПеремещениеОборудованияЗаБалансом.тбОборудование КАК ПеремещениеОборудованияЗаБалансомтбОборудование ГДЕ ПеремещениеОборудованияЗаБалансомтбОборудование.Ссылка.Дата >= &Дата И ПеремещениеОборудованияЗаБалансомтбОборудование.СотрудникПолучатель = &СотрудникПолучатель СГРУППИРОВАТЬ ПО ПеремещениеОборудованияЗаБалансомтбОборудование.КонтрагентПолучатель |
|||
40
dj_serega
28.06.14
✎
19:45
|
(38) Элементы условия не обязательны в полях запроса.
|
|||
41
m-serg74
28.06.14
✎
22:14
|
(39) думаю ВЫБРАТЬ РАЗЛИЧНЫЕ
быстрее чем ВЫБРАТЬ + ГРУППИРОВАТЬ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |