|
Запрос к разным табличным частям одного документа | ☑ | ||
---|---|---|---|---|
0
Max_Fokin
02.09.16
✎
16:24
|
Доброго времени суток.
Подскажите Есть документ Выработка В нем 2 табличных части 1 Выработка 2 Сотрудник В тч выработка может быть несколько записей В ТЧ сотрудник 1 запись могу ли я одним запросом получить данные из обоих тч? |
|||
1
Dmitrii
гуру
02.09.16
✎
16:25
|
(0) Да
|
|||
2
Горогуля
02.09.16
✎
16:25
|
разрешаю
|
|||
3
Max_Fokin
02.09.16
✎
16:25
|
каким способом ?
вложенным запросом ? |
|||
4
Горогуля
02.09.16
✎
16:26
|
а какой сакральный смысл имеет ТЧ с одной строкой?
|
|||
5
Горогуля
02.09.16
✎
16:26
|
(3) способом ИЗ
|
|||
6
Max_Fokin
02.09.16
✎
16:28
|
документ сдельный наряд, выработка заносится на одного сотрудника
|
|||
7
Max_Fokin
02.09.16
✎
16:29
|
Запрос.Текст =
"ВЫБРАТЬ | СдельныйНарядВыработка.ТехнологическаяОперация КАК ТехнологическаяОперация, | СдельныйНарядВыработка.Количество, | СдельныйНарядВыработка.Ссылка.Номер |ИЗ | Документ.СдельныйНаряд.Выработка КАК СдельныйНарядВыработка |ГДЕ | СдельныйНарядВыработка.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | И СдельныйНарядВыработка.Ссылка.Подразделение = &Лущ | И НЕ СдельныйНарядВыработка.Ссылка.ПометкаУдаления | И СдельныйНарядВыработка.ТехнологическаяОперация В ИЕРАРХИИ(&ТехОП) | И СдельныйНарядВыработка.Количество > 0 | И НЕ СдельныйНарядВыработка.ТехнологическаяОперация = &Профил | |СГРУППИРОВАТЬ ПО | СдельныйНарядВыработка.ТехнологическаяОперация, | СдельныйНарядВыработка.Количество, | СдельныйНарядВыработка.Ссылка.Номер | |УПОРЯДОЧИТЬ ПО | ТехнологическаяОперация"; |
|||
8
Горогуля
02.09.16
✎
16:29
|
(6) сотрудник просится в шапку. или в ТЧ про выработку
|
|||
9
Dmitrii
гуру
02.09.16
✎
16:30
|
Берете бумагу. Рисуете план запроса. (это такая таблица, какую вы хотите получить на выходе).
В плане подписываете поля, источники (откуда эти поля взялись), условия, связи (если таблиц-источников больше чем одна). Всё. Текст запроса фактически готов. Можно подходить к компьютеру и запускать 1С. |
|||
10
Горогуля
02.09.16
✎
16:30
|
(7) молодец
|
|||
11
Max_Fokin
02.09.16
✎
16:31
|
я выбираю из определенных сдельных нарядов, в других несколько сотрудников
|
|||
12
Горогуля
02.09.16
✎
16:32
|
(11) запросу пофиг. бумажку взял?
|
|||
13
Max_Fokin
02.09.16
✎
16:36
|
я знаю откуда какие данные попадают в запрос, я не могу понять как собрать воедино
нужно ли делать вложенный запрос а потом объединять по ссылке на документ либо это всё сделать лучше в одном запросе |
|||
14
Горогуля
02.09.16
✎
16:37
|
это всё сделать лучше в одном запросе. но только после того, как поймёшь, что хочешь иметь на выходе
|
|||
15
Max_Fokin
02.09.16
✎
16:40
|
собрал всё в кучу получилась каша, выработка попадает какая нужна, а сотрудники лезут из других сдельных нарядов
|
|||
16
Max_Fokin
02.09.16
✎
16:41
|
Запрос.Текст =
"ВЫБРАТЬ | СдельныйНарядВыработка.ТехнологическаяОперация КАК ТехнологическаяОперация, | СУММА(СдельныйНарядВыработка.Количество) КАК Количество, | СдельныйНарядВыработка.Ссылка.Номер, | СдельныйНарядИсполнители.Сотрудник, | СУММА(СдельныйНарядИсполнители.ОтработаноЧасов) КАК ОтработаноЧасов |ИЗ | Документ.СдельныйНаряд.Выработка КАК СдельныйНарядВыработка, | Документ.СдельныйНаряд.Исполнители КАК СдельныйНарядИсполнители |ГДЕ | СдельныйНарядВыработка.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | И СдельныйНарядВыработка.Ссылка.Подразделение = &Лущ | И НЕ СдельныйНарядВыработка.Ссылка.ПометкаУдаления | И СдельныйНарядВыработка.ТехнологическаяОперация В ИЕРАРХИИ(&ТехОП) | И СдельныйНарядВыработка.Количество > 0 | И НЕ СдельныйНарядВыработка.ТехнологическаяОперация = &Профил | |СГРУППИРОВАТЬ ПО | СдельныйНарядВыработка.ТехнологическаяОперация, | СдельныйНарядВыработка.Ссылка.Номер, | СдельныйНарядИсполнители.Сотрудник | |УПОРЯДОЧИТЬ ПО | ТехнологическаяОперация"; |
|||
17
Горогуля
02.09.16
✎
16:42
|
(15) а должны лезть откуда?
|
|||
18
youalex
02.09.16
✎
16:42
|
(15) соединение по ссылка
|
|||
19
Max_Fokin
02.09.16
✎
16:43
|
нужна строка
сотрудник такой то часов 10 и колво по тех операциям, а сами тех операции будут заколовком колонки |
|||
20
Горогуля
02.09.16
✎
16:44
|
кстати, за запрос к документам в приличном обществе принято называть автора разными словами
|
|||
21
Горогуля
02.09.16
✎
16:44
|
(19) а это ты уже запросом не получишь
|
|||
22
Max_Fokin
02.09.16
✎
16:46
|
либо одни запросом выработку, и номер документа, а сотрудников перебором тз по номеру документа ?
|
|||
23
Горогуля
02.09.16
✎
16:47
|
(22) либо объяснить это всё СКДе
|
|||
24
CountR
02.09.16
✎
16:49
|
В ТЧ Сотрудник всегда одна запись? Если введено более 1го сотрудника, то как между ними распределяется выработка?
|
|||
25
Max_Fokin
02.09.16
✎
16:51
|
в тч сотрудник одна запись
|
|||
26
CountR
02.09.16
✎
16:54
|
Необходимо добавить в поле Таблицы конструктора запроса обе ТЧ, выбрать из них необходимые поля и заполнить вкладку Связи - сделать связь по полю Ссылка. Соединение должно быть полное - т.е. галочки Все поля должны быть установлены.
Потестировать в консоли запросов. |
|||
27
lubitelxml
02.09.16
✎
16:54
|
(25) зачем одна запись в таблице? Вынеси его в реквизит шапки документа
|
|||
28
Max_Fokin
02.09.16
✎
17:01
|
CountR Спасибо , всё получилось
|
|||
29
CountR
02.09.16
✎
17:02
|
велкам ;)
|
|||
30
Chameleon1980
02.09.16
✎
17:10
|
еще бывает такое типа ключ связи (зависит от конфы и специфики)
тогда связи можно дополнить (если вдруг так нужно) по ключу помимо по ссылке |
|||
31
Max_Fokin
02.09.16
✎
17:16
|
Задам ещё вопрос, допустим всё так же но сотрудников будет несколько то и выработка делится пропорционально колву, как тут поступить?
|
|||
32
Горогуля
02.09.16
✎
17:17
|
(31) обходить и считать
|
|||
33
CountR
02.09.16
✎
17:23
|
(31) Через группировку делается. При этом функцией группировки для выработки будет Сумма, а для сотрудников - Количество различных. Далее сумма выработки делится на количество сотрудников - и получаем сумму на одного сотрудника.
Можно сделать в рамках одной выборки, либо разбить на два этапа, через временную таблицу. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |