Имя: Пароль:
1C
1С v8
Можно ли сделать в запросе
,
0 ic-kat
 
28.05.12
19:02
есть документ Погрузка, есть регистр сведений состояние погрузки, в нем отражается состояние и время состояния - загружено, отменено и пр.
выбрать запросом все состояния по каждому документу - не проблема, но нужно выбрать только те, у которых время начала погрузки (это одно из состояний) попадало в заданный период. не могу сообразить, как...
1 SnarkHunter
 
28.05.12
19:03
Сравнивать не умеешь?
2 ic-kat
 
28.05.12
19:04
что с чем?
3 1C-band
 
28.05.12
19:05
(0) Условием.
4 ic-kat
 
28.05.12
19:08
может где-то вас не понимаю, но, если ставить условия период состояния в заданном интервале, то не весь цикл погрузки может вывестись. т.е. если конец погрузки не попадает в интервал, нам запись все равно нужна, но условием будет резаться
5 Мимохожий Однако
 
28.05.12
19:09
Показывай код, не стесняйся.
6 Fragster
 
гуру
28.05.12
19:12
МаксимальнаяДатаЦепочки >= &НачалоПериода И МинимальнаяДатаЦепочки <= &КонецПериода , не?
7 Deniskind
 
28.05.12
19:12
Первым запросом выбирайте из регистра сведений только поле погрузки, попавшие в условие по времени. Без повторяющихся. А во втором - все записи регистра, соединенными с первым запросом по погрузкам.
8 Fragster
 
гуру
28.05.12
19:13
(5) лучше личико
9 ic-kat
 
28.05.12
19:18
в общем нужно получить вот такое

машина 1     начало погрузки      13:00
            остановка погрузки   15:00
            продолжение погрузки 18:15
            завершение погрузки  19:00

условие: должны попадать те, у которых начало попадает в интервал, например 12:00 до 18:00
делаю:
                   
                |    ЗагрузкаМашины.Ссылка КАК Ссылка,
                |    ЗагрузкаМашины.Машина КАК Машина,
                |    СобытияЗагрузки.Событие,
                |    СобытияЗагрузки.Период КАК Период
                |ИЗ
                |    РегистрСведений.СобытияЗагрузкиКАК СобытияЗагрузки
                |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗагрузкаМашиныКАК ЗагрузкаМашины
                |        ПО СобытияЗагрузки.ЗаданиеСкладу = ЗагрузкаМашины.Ссылка
                |ГДЕ
                |    И СобытияЗагрузки.Событие <> &Событие
                |    И СобытияЗагрузки.Период МЕЖДУ &ДатаН И &ДатаК
                |
                |УПОРЯДОЧИТЬ ПО
                |    ЗагрузкаМашины.Дата,
                |    ЗагрузкаМашины.Машина,
                |    Период
                |ИТОГИ ПО
                |    Ссылка";

отрезаются все события, не попавшие в период
10 ic-kat
 
28.05.12
19:21
(6) нужно всю цепочку, у которой начало в интервале
11 ic-kat
 
28.05.12
19:22
(7) щас попробую сообразить, как это
12 Deniskind
 
28.05.12
19:28
(11) Вот так, примерно:

ВЫБРАТЬ
   СобытияЗагрузки.ЗагрузкаМашины,
   СобытияЗагрузки.Событие,
   СобытияЗагрузки.Период
ИЗ
   РегистрСведений.СобытияЗагрузки КАК СобытияЗагрузки
ГДЕ
   СобытияЗагрузки.ЗагрузкаМашины В
           (ВЫБРАТЬ
               СобытияЗагрузки.ЗагрузкаМашины
           ИЗ
               РегистрСведений.СобытияЗагрузки КАК СобытияЗагрузки
           ГДЕ
               СобытияЗагрузки.Период МЕЖДУ &ДатаНачала И &ДатаОкончания)
13 ic-kat
 
28.05.12
20:24
(12) отвлекли. это же только часть? соображаю, что получится
14 ic-kat
 
28.05.12
20:25
и теперь с этим слеплять второй, да?
15 Deniskind
 
28.05.12
20:26
(14) Нет, это как бы 2 уже :)
Там, еще слова РАЗЛИЧНЫЕ не хватает, после 2-го выбрать
16 ic-kat
 
28.05.12
20:31
тогда не поняла, вложенный выбирает все записи из РС с датой из интервала, ну пусть, все различные
ага, а потом выбираются все записи по каждому из документов, у которых есть выбранная запись.
наверное путанно написала. вроде поняла, щас свой подокручиваю
17 Азазелло
 
28.05.12
20:35
ВЫБРАТЬ
   СобытияЗагрузки.ЗагрузкаМашины,
   СобытияЗагрузки1.Событие,
   СобытияЗагрузки1.Период
ИЗ
   Документ.ЗагрузкаМашиныКАК ЗагрузкаМашины
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СобытияЗагрузки КАК СобытияЗагрузки
   ПО СобытияЗагрузки.ЗагрузкаМашины = ЗагрузкаМашины.Ссылка    
       И СобытияЗагрузки.Событие = &СобытиеНачалаОтгрузки
       И СобытияЗагрузки.Период МЕЖДУ &НачалоСобытия И &КонецСобытия
   ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СобытияЗагрузки КАК СобытияЗагрузки1
   ПО СобытияЗагрузки1.ЗагрузкаМашины = ЗагрузкаМашины.Ссылка
       И СобытияЗагрузки1.Период > СобытияЗагрузки.Период
18 Азазелло
 
28.05.12
20:37
(17) + нужные упорядочивания/группировки
19 Азазелло
 
28.05.12
20:38
(17) условие на период в последнем джойне >= должно быть, а не >
20 ic-kat
 
28.05.12
22:42
(12) спасибо, почти так сделала, получилось
(17) тоже завтра со свежей головой попробую.
всем спасибо)
21 Ненавижу 1С
 
гуру
28.05.12
22:49
а фото?
22 ic-kat
 
28.05.12
22:54
хм, оба работают, но если выбирать по группировкам, то почему-то разные по количеству результаты выдают...
23 Азазелло
 
28.05.12
22:56
(22) ну тогда надо смотреть на обходы группировок
24 ic-kat
 
28.05.12
22:57
(21)что-то у вас оно не слишком информативное)
25 Азазелло
 
28.05.12
22:59
(24) пол не тот :)
26 ic-kat
 
28.05.12
23:01
отмазка)
27 Азазелло
 
28.05.12
23:03
это в (24) отмазка :) лучшая защита - нападение? :)
28 ic-kat
 
28.05.12
23:07
(27) ну, тип того.
завтра сдам отчет если - подумаю над фото
29 Fragster
 
гуру
29.05.12
11:35
(28) как там? народ волнуется...
30 ic-kat
 
29.05.12
19:42
там не фонтан ((
идея нужна
есть еще некий регистр, в котором фиксируются грузы, которые по времени загружаются в машину.
их тоже нужно вывести, но если прикручивать через левое соединение, то получается,
что каждому из состояний ставится каждый загруженный груз.
в итоге выборка раздувается, т.е. для (9) и списка записей хода погрузки
15:10  груз1
15:18  груз2
14:40  груз3
16:20  груз4
17:21  груз5
18:01  груз6

получается:

машина 1        начало погрузки          13:00    15:10  груз1
               начало погрузки          13:00      15:18  груз2
               начало погрузки          13:00      14:40  груз3
               начало погрузки        13:00      16:20  груз4
               начало погрузки        13:00      17:21  груз5
машина 1        остановка погрузки      15:00    15:10  груз1
               остановка погрузки      15:00    15:18  груз2
               остановка погрузки      15:00    14:40  груз3
               остановка погрузки      15:00    16:20  груз4
               остановка погрузки      15:00    17:21  груз5
машина 1        продолжение погрузки    18:15    15:10  груз1
               продолжение погрузки    18:15    15:18  груз2
               продолжение погрузки    18:15    14:40  груз3
               продолжение погрузки    18:15    16:20  груз4
               продолжение погрузки    18:15    17:21  груз5
машина 1        завершение погрузки      19:00    15:10  груз1
               завершение погрузки    19:00    15:18  груз2
               завершение погрузки    19:00    14:40  груз3
               завершение погрузки    19:00    16:20  груз4
               завершение погрузки    19:00    17:21  груз5

ее бы как-нибудь не так раздуть, как - нибудь вот так хотя бы

машина 1                начало погрузки          13:00    15:10  груз1
               остановка погрузки      15:00    15:18  груз2
               продолжение погрузки    18:15    14:40  груз3
               завершение погрузки      19:00    16:20  груз4
                                       17:21  груз5
31 Азазелло
 
29.05.12
21:02
(30) о как... тут уже левым соединением не отделаться...
в первом запросе получать события загрузки, нумеровать строки результата в пределах документа погрузки, помещать во времТабл1
затем, вторым запросом получать грузы, тоже нумеровать строки результата в пределах погрузки, помещать во времТабл2
а затем делать полное соединение полученных времТабл1 и времТабл2 по условию равенства документов погрузки и номеров строк
32 ic-kat
 
29.05.12
21:07
ой, намудрила я сегодня с таблицами, как раз с полным соединением. но там как-то не кузяво вышло,
почти то же самое, только нагромождено. вот думаю, стоит ли с запросом париться, или вывести как есть в тз, а там перебором...
33 Азазелло
 
29.05.12
21:14
(32) а здесь уже многое от постановки задачи зависит. Если требуют одним запросом - значит надо делать запросом. Если нет жестких требований - тогда лучше воспользоваться теми средствами, которыми владеете на данный момент. Наберетесь опыта - всегда можно будет вернуться и переделать. Как красивее и правильнее.
34 ic-kat
 
29.05.12
21:16
ага, если бы еще потом 30 програмеров не тыкали в мой код и не ржали )
35 Азазелло
 
29.05.12
21:17
(32) на мое скромное имхо, отдельными запросами выгрузить в тз1 и тз2 результаты запросов на состояния погрузок и грузы, добавить колонку с номером, пронумеровать, дальше засунуть в третий запрос, в котором уже и сделать полное объединение.
36 ic-kat
 
29.05.12
21:17
одним не требуют, надо чтоб работало. насколько медленнее тз перебирает? сильно критично?
37 Азазелло
 
29.05.12
21:18
(34) здоровая критика - это хорошо. ну и пусть ржут, это они на вас возмещают то, что над ними тоже когда-то ржали. программерами не рождаются :)
38 Азазелло
 
29.05.12
21:19
(36) есть случаи, когда специально уходят от одного запроса в сторону обхода ТЗ. Запрос запросу рознь. Главное, запросов в цикле не делать.
39 ic-kat
 
29.05.12
21:29
(35)в смысле не в одном запросе даже это делать?
40 Азазелло
 
29.05.12
21:38
(39) ну, получается, тремя. первые два собирают базовые наборы данных, третий - их объединяет
41 Deniskind
 
29.05.12
22:24
(30) Тут какая-то неясность иметься:

машина 1                начало погрузки          13:00    15:10  груз1
               остановка погрузки       15:00    15:18  груз2
               продолжение погрузки     18:15    14:40  груз3
               завершение погрузки      19:00    16:20  груз4
                                       17:21  груз5

Если, допустим, началу погрузки еще как-то можно поставить в соответствие какой-то груз, то в остановку погрузки ставить груз - это странная логика. Было бы неплохо, если бы вы структуру своих данных полностью описали. Скорее всего вам потребуется определять интервалы погрузок (Начало - остановка) и для этого интервала указывать грузы, которые были загружены.
Т.е.

Машина 1
 Интервал 13:00 - 15:00
   Груз1  15:10
   Груз2  15:18
 Интервал 18:15 - 19:00
   Груз3  14:40
   Груз4  16:20
   Груз5  17:21

Если так, то надо, конечно, подумать будет, как такое реализовать. Скорее всего, проще уже будет временные таблицы использовать.
42 ic-kat
 
31.05.12
08:13
(41)
надо было как-то вот так в идеале:

машина 1        начало погрузки          13:00    
               остановка погрузки       15:00    сумма грузов, попавших в этот интервал
               продолжение погрузки     18:15    
               завершение погрузки      19:00    сумма грузов, попавших в этот интервал

сделала цикл в цикле, на пока
43 Deniskind
 
31.05.12
08:40
(42) Так вы структуру данных опишите подробнее. Обещаю подумать над запросом :)
44 Deniskind
 
31.05.12
08:47
Документ.ЗагрузкаМашины
Машина

РегистрСведений.СобытияЗагрузки
Событие
Период
ЗаданиеСкладу = Документ.ЗагрузкаМашины

НекийРегистрВКоторомФиксируютсяГрузы
Груз
Период
ЧтоТоЕщеДолжноБыть
45 ic-kat
 
31.05.12
12:34
да, есть еще один док, который связан с погрузкой через регистр,
и у этого дока есть как раз записи в регистр ХодПогрузки
структура такая:
http://yulochka.narod.ru/1.jpg
46 Азазелло
 
31.05.12
13:40
(45) как мне кажется, здесь уже запросом решать нецелесообразно. проще и нагляднее обходами тз. по идее, все просто должно быть. как делала, что не получилось?
47 ic-kat
 
31.05.12
13:44
так получилось цикл в цикле.
считала всегда, что цикл в цикле и запрос в цикле - не айс.
дело еще в том, что по этому отчету нужно диаграмму ввыводить. типа ганта.
но не ганта, потому что по требованиям нужно, чтобы к каждому интервалу текст выводился,
причем и снизу и сверху. у ганта такой возможности нет.
придется ее в макете рисовать, а там тоже в цикле добавлять области,
уже получается тройная вложенность цикла.
48 Азазелло
 
31.05.12
15:16
(47) если не хочешь цикл-в цикле-в цикле, собирай данные поэтапно
а) собери таблицу
Погрузка1  НачалоПогрузки1 ОкончаниеПогрузки1
Погрузка1  НачалоПогрузки2 ОкончаниеПогрузки2
Погрузка1  НачалоПогрузки3 ОкончаниеПогрузки3
б) по таблице в А пробегись циклом и дополни ее данными по суммам грузов, т.е. чтобы на выходе получилось
Погрузка1  НачалоПогрузки1 ОкончаниеПогрузки1 СуммаГрузов1
Погрузка1  НачалоПогрузки2 ОкончаниеПогрузки2 СуммаГрузов2
Погрузка1  НачалоПогрузки3 ОкончаниеПогрузки3 СуммаГрузов3
в) в одни проход пробегись по Б и выведи в макет
49 ic-kat
 
31.05.12
19:28
мне нужно и диаграмму, для которой как раз в два столбца удобно, и отчет,
а вот в него нужно выводить все в 1 столбик - тз такое
50 Deniskind
 
31.05.12
21:47
В общем вот такой ваш запрос получился:

ВЫБРАТЬ
   СобытияПогрузкиНачало.ЗагрузкаМашины,
   СобытияПогрузкиНачало.Период КАК НачалоПериода,
   МИНИМУМ(СобытияПогрузкиОкончание.Период) КАК ОкончаниеПериода
ПОМЕСТИТЬ ИнтервалыЗагрузок
ИЗ
   РегистрСведений.СобытияПогрузки КАК СобытияПогрузкиНачало
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СобытияПогрузки КАК СобытияПогрузкиОкончание
       ПО (СобытияПогрузкиОкончание.Период > СобытияПогрузкиНачало.Период)
ГДЕ
   (СобытияПогрузкиНачало.СобытиеЗагрузки = ЗНАЧЕНИЕ(Перечисление.СобытияЗагрузки.НачалоЗагрузки)
           ИЛИ СобытияПогрузкиНачало.СобытиеЗагрузки = ЗНАЧЕНИЕ(Перечисление.СобытияЗагрузки.ПродолжениеЗагрузки))
   И СобытияПогрузкиНачало.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
   И (СобытияПогрузкиОкончание.СобытиеЗагрузки = ЗНАЧЕНИЕ(Перечисление.СобытияЗагрузки.ОстановкаЗагрузки)
           ИЛИ СобытияПогрузкиОкончание.СобытиеЗагрузки = ЗНАЧЕНИЕ(Перечисление.СобытияЗагрузки.ЗавершениеЗагрузки))

СГРУППИРОВАТЬ ПО
   СобытияПогрузкиНачало.ЗагрузкаМашины,
   СобытияПогрузкиНачало.Период
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ИнтервалыЗагрузок.ЗагрузкаМашины.Машина,
   ИнтервалыЗагрузок.НачалоПериода,
   ИнтервалыЗагрузок.ОкончаниеПериода,
   СУММА(ХодПогрузки.Сумма) КАК Сумма,
   ХодПогрузки.Номенклатура КАК Номенклатура,
   ХодПогрузки.Период КАК ВремяЗагрузки
ИЗ
   РегистрСведений.ХодПогрузки КАК ХодПогрузки
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИнтервалыЗагрузок КАК ИнтервалыЗагрузок
       ПО ХодПогрузки.Период >= ИнтервалыЗагрузок.НачалоПериода
           И ХодПогрузки.Период <= ИнтервалыЗагрузок.ОкончаниеПериода
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗагруженныеМашины КАК ЗагруженныеМашины
       ПО ХодПогрузки.ЗагрузкаМашиныМаршрут = ЗагруженныеМашины.ЗагрузкаМашиныМаршрут
           И (ИнтервалыЗагрузок.ЗагрузкаМашины = ЗагруженныеМашины.ЗагрузкаМашины)

СГРУППИРОВАТЬ ПО
   ИнтервалыЗагрузок.ЗагрузкаМашины.Машина,
   ИнтервалыЗагрузок.НачалоПериода,
   ИнтервалыЗагрузок.ОкончаниеПериода,
   ХодПогрузки.Номенклатура,
   ХодПогрузки.Период


Вариант отчета больше похож на предложенный мной. Пример конфигурации с тестовыми данными тут http://clck.ru/d/DQx2asVL19kz7
Готов ответить на вопросы :)
51 Deniskind
 
31.05.12
21:48
(50) Ссылка не получилась. Вот http://clck.ru/d/DQx2asVL19kz7
52 Deniskind
 
31.05.12
21:51
Да, во втором запросе группировка лишней будет. Вот так, лучше:

ВЫБРАТЬ
   ИнтервалыЗагрузок.ЗагрузкаМашины.Машина,
   ИнтервалыЗагрузок.НачалоПериода,
   ИнтервалыЗагрузок.ОкончаниеПериода,
   ХодПогрузки.Сумма КАК Сумма,
   ХодПогрузки.Номенклатура КАК Номенклатура,
   ХодПогрузки.Период КАК ВремяЗагрузки
ИЗ
   РегистрСведений.ХодПогрузки КАК ХодПогрузки
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИнтервалыЗагрузок КАК ИнтервалыЗагрузок
       ПО ХодПогрузки.Период >= ИнтервалыЗагрузок.НачалоПериода
           И ХодПогрузки.Период <= ИнтервалыЗагрузок.ОкончаниеПериода
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗагруженныеМашины КАК ЗагруженныеМашины
       ПО ХодПогрузки.ЗагрузкаМашиныМаршрут = ЗагруженныеМашины.ЗагрузкаМашиныМаршрут
           И (ИнтервалыЗагрузок.ЗагрузкаМашины = ЗагруженныеМашины.ЗагрузкаМашины)
53 ic-kat
 
03.06.12
18:26
(50) ого, какую вы работу проделали...
а нет ли тут какого-то оповещения, если в свою ветку кто-то написал? а то я только что увидела :(
по первой части получается, что если любое событие, означающее начало (продолжение) попадает в интервал, то документ погрузки подходит.
а надо, чтобы только те, у которых именно начало в интервале.
54 ic-kat
 
03.06.12
19:22
можно тоже вложенным, не будет ли нагромождения
55 dklushin
 
03.06.12
23:24
до сих пор бросает в дрожь от кода
выбрать ...
       ПО ХодПогрузки.Период >= ИнтервалыЗагрузок.НачалоПериода
           И ХодПогрузки.Период <= ИнтервалыЗагрузок.ОкончаниеПериода

нельзя проще:

выбрать ...
       ПО ХодПогрузки.Период МЕЖДУ ИнтервалыЗагрузок.НачалоПериода
           И ИнтервалыЗагрузок.ОкончаниеПериода

?? аналогично работает, как раз как <= && >=
56 ic-kat
 
04.06.12
06:37
(55) да не принципиально, вы бы чего по делу лучше сказали...
57 ic-kat
 
04.06.12
07:46
(50)Сдавать, похоже, буду со вложенными циклами - сроки горят, а для себе все равно потом разбираться буду.
58 Deniskind
 
04.06.12
09:29
(53) Оповещений нет.
Для ограничения загрузок только по началу погрузки я предлагаю создать еще одну временную таблицу. Полный запрос будет таким:


ВЫБРАТЬ
   СобытияПогрузки.ЗагрузкаМашины
ПОМЕСТИТЬ Загрузки
ИЗ
   РегистрСведений.СобытияПогрузки КАК СобытияПогрузки
ГДЕ
   СобытияПогрузки.СобытиеЗагрузки = ЗНАЧЕНИЕ(Перечисление.СобытияЗагрузки.НачалоЗагрузки)
   И СобытияПогрузки.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
   СобытияПогрузкиНачало.ЗагрузкаМашины,
   СобытияПогрузкиНачало.Период КАК НачалоПериода,
   МИНИМУМ(СобытияПогрузкиОкончание.Период) КАК ОкончаниеПериода
ПОМЕСТИТЬ ИнтервалыЗагрузок
ИЗ
   РегистрСведений.СобытияПогрузки КАК СобытияПогрузкиНачало
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Загрузки КАК Загрузки
       ПО СобытияПогрузкиНачало.ЗагрузкаМашины = Загрузки.ЗагрузкаМашины
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СобытияПогрузки КАК СобытияПогрузкиОкончание
       ПО (СобытияПогрузкиОкончание.ЗагрузкаМашины = СобытияПогрузкиНачало.ЗагрузкаМашины)
           И (СобытияПогрузкиОкончание.Период > СобытияПогрузкиНачало.Период)
ГДЕ
   (СобытияПогрузкиНачало.СобытиеЗагрузки = ЗНАЧЕНИЕ(Перечисление.СобытияЗагрузки.НачалоЗагрузки)
           ИЛИ СобытияПогрузкиНачало.СобытиеЗагрузки = ЗНАЧЕНИЕ(Перечисление.СобытияЗагрузки.ПродолжениеЗагрузки))
   И (СобытияПогрузкиОкончание.СобытиеЗагрузки = ЗНАЧЕНИЕ(Перечисление.СобытияЗагрузки.ОстановкаЗагрузки)
           ИЛИ СобытияПогрузкиОкончание.СобытиеЗагрузки = ЗНАЧЕНИЕ(Перечисление.СобытияЗагрузки.ЗавершениеЗагрузки))

СГРУППИРОВАТЬ ПО
   СобытияПогрузкиНачало.ЗагрузкаМашины,
   СобытияПогрузкиНачало.Период
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ИнтервалыЗагрузок.ЗагрузкаМашины.Машина,
   ИнтервалыЗагрузок.НачалоПериода,
   ИнтервалыЗагрузок.ОкончаниеПериода,
   ХодПогрузки.Сумма КАК Сумма,
   ХодПогрузки.Номенклатура КАК Номенклатура,
   ХодПогрузки.Период КАК ВремяЗагрузки
ИЗ
   РегистрСведений.ХодПогрузки КАК ХодПогрузки
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИнтервалыЗагрузок КАК ИнтервалыЗагрузок
       ПО ХодПогрузки.Период >= ИнтервалыЗагрузок.НачалоПериода
           И ХодПогрузки.Период <= ИнтервалыЗагрузок.ОкончаниеПериода
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗагруженныеМашины КАК ЗагруженныеМашины
       ПО ХодПогрузки.ЗагрузкаМашиныМаршрут = ЗагруженныеМашины.ЗагрузкаМашиныМаршрут
           И (ИнтервалыЗагрузок.ЗагрузкаМашины = ЗагруженныеМашины.ЗагрузкаМашины)