Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:18

Маленький вопросик

Автор djkeysi, 10 ноя 2016, 12:13

0 Пользователей и 1 гость просматривают эту тему.

Kironten

Цитата: djkeysi от 11 ноя 2016, 12:52
Цитата: Kironten от 11 ноя 2016, 12:19
Запрос к регистру с условием
ГДЕ
Регистр.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания

И суммируете ресурс.

данный запрос будет выбить к примеру 18.09.2016 далее значение ресурса и 19.06.2016 значение ресурса, между этими  датами ,без каких либо там часов(что мне и надо) правильно я понимаю?

Ну если у вас есть к примеру записи в регистре:
Измерение                     ресурс
12.01.2016 12:00:15         8
13.01.2016 10:30:00         4
13.01.2016 18:00:15         5

И вы зададите интервал например между 12.01.2016 00:00:00 и 13.01.16 00:00:00, то соответственно получите первые две записи. Суммируете ресурс и получаете грубо говоря итог ресурса на 13.01.16 00.00.00

а вообще, зависит от задачи. Если это единственное предназначение этого регистра, то возможно его лучше будет на регистр накопления поменять, он предназначен для таких вещей.

LexaK

ЦитироватьНу если у вас есть к примеру записи в регистре:
Измерение                     ресурс
12.01.2016 12:00:15         8
13.01.2016 10:30:00         4
13.01.2016 18:00:15         5

И вы зададите интервал например между 12.01.2016 00:00:00 и 13.01.16 00:00:00, то соответственно получите первые две записи.

Э-Э-Э, поправьте меня если я не прав!
по такому условию вы получите только ОДНУ запись из приведенного примера
Добавлено: 11 ноя 2016, 14:31


Цитата: djkeysi от 11 ноя 2016, 12:15
Подскажите, как можно сделать:
Есть у нас регистр сведений(непереодический) в нем есть измерение дата и ресурс время выполнения, каждый день туда пишется информация - к примеру - дата: 18.09.2016 и Время выполнения: 75, таких дат может быть несколько, как мне сделать подсчет, например на 18.09.2016 было столько то времени выполнения, на другие даты столько то, без использования отчета. Просто мне в дальнейшем нужно будет эти значения сравнивать с другим реквизитом на форме и выводить сообщения.

Если у вас в Измерении Дата (состав Дата) без времени
то вам надо рассчитать суммы с группировкой по измерению Дата, вот пример

лкЗапрос = Новый Запрос;
лкЗапрос.Текст = "
    |Выбрать
| Рег.Дата,
| Сумма(Рег.Время) как Время
|из
|   РегистрСведений.<ВашРегистр> Рег
|Где
|   Рег.Дата Между &Дата1 и &Дата2 //для отбора за Период
|Сгруппировать по
| Рег.Дата //группировка по дням (это если Время в дате = 0:00:00
|Упорядочить по
|    1
|";


если помогло нажмите: Спасибо!

Kironten

Цитата: LexaK от 11 ноя 2016, 14:19
ЦитироватьНу если у вас есть к примеру записи в регистре:
Измерение                     ресурс
12.01.2016 12:00:15         8
13.01.2016 10:30:00         4
13.01.2016 18:00:15         5

И вы зададите интервал например между 12.01.2016 00:00:00 и 13.01.16 00:00:00, то соответственно получите первые две записи.

Э-Э-Э, поправьте меня если я не прав!
по такому условию вы получите только ОДНУ запись из приведенного примера
Да, верно.
Я подумал об одном, написал другое.
Мне почему то показалось, что я написал интервал 12.01.2016 00:00:00 и 13.01.2016 12:00:00

djkeysi

Да у меня без времени и нужно постоянно будет вытягивать кодом данные значения. Т.е. будет поле надписи и оно в зависимости, от выбора даты будет подставлять с регистра сведений -- в котором числовой ресурсвремя выполнения.

Kironten

Неправильно я прочитал вопрос.
Думал нужно суммированное времяисполнения на дату.
А нужно время исполнения на датЫ. Тогда запрос Lexak вам подойдет.
Причем можно даже не группировать по датам, т.к. дата это в этом случае измерение, а на одно измерение не может быть различных значений ресурсов.

LexaK

скорее всего в регистре несколько измерений, о чем автор умолчал, поэтому он и хочет видеть итоговую сумму времени по дням,
например в задачах планирования такое можно использовать и т.д.

djkeysi, выложите всю структуру регистра.
если помогло нажмите: Спасибо!

djkeysi

Цитата: LexaK от 11 ноя 2016, 15:53
скорее всего в регистре несколько измерений, о чем автор умолчал, поэтому он и хочет видеть итоговую сумму времени по дням,
например в задачах планирования такое можно использовать и т.д.

djkeysi, выложите всю структуру регистра.
воть :)

djkeysi

Подскажите как можно сделать в данном запросе, чтобы можно было видеть даты не только которые находятся в регистре сведений, а и выводились например даты с 1.09.2016 ...2.09.2016 и т.д. с пустым значением и соотвественно если попал на дату в регистре чтоб он выводил значение?

ВЫБРАТЬ
ВложенныйЗапрос.Дата,
ВложенныйЗапрос.РабочееМесто,
ВложенныйЗапрос.Поле1,
СУММА(ВложенныйЗапрос.ВремяВыполнения) КАК ВремяВыполнения
ИЗ
(ВЫБРАТЬ
ЛимитПроизводства.Дата КАК Дата,
ЛимитПроизводства.РабочееМесто КАК РабочееМесто,
"Забронировано" КАК Поле1,
НАЧАЛОПЕРИОДА(ЛимитПроизводства.Дата, ДЕНЬ) КАК Поле2,
ЛимитПроизводства.ВремяВыполнения КАК ВремяВыполнения
ИЗ
РегистрСведений.ЛимитПроизводства КАК ЛимитПроизводства

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

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

СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Дата,
ВложенныйЗапрос.Поле1,
ВложенныйЗапрос.РабочееМесто

Добавлено: 15 ноя 2016, 11:47


З.Ы. данный отчет СКД

LexaK

странный какой-то запрос, у вас Поле1: Забронировано и Доступно равно одному и тому-же
если помогло нажмите: Спасибо!

djkeysi

Цитата: LexaK от 15 ноя 2016, 11:53
странный какой-то запрос, у вас Поле1: Забронировано и Доступно равно одному и тому-же

я в курсе это тестовый вариант отчет выглядит пока так:
Мне нужно чтобы помимо этих дат писались даты с 1.09.2016 и т.д. и тогда мне где доступно нужно писать во времени выполнения цифру 600 в пустой дате

Добавлено: 15 ноя 2016, 12:28


Цитата: djkeysi от 15 ноя 2016, 11:59
Цитата: LexaK от 15 ноя 2016, 11:53
странный какой-то запрос, у вас Поле1: Забронировано и Доступно равно одному и тому-же

я в курсе это тестовый вариант отчет выглядит пока так:
Мне нужно чтобы помимо этих дат писались даты с 1.09.2016 и т.д. и тогда мне где доступно нужно писать во времени выполнения цифру 600 в пустой дате
что то наподобии если промежуток между этими датами пустой то добавлять дату и время выполнения=600 , только как это реализовать в отчете(
Добавлено: 15 ноя 2016, 12:50


Думаю с датами муть да и нельзя наверно так сделать, можно сделать типо такого: Как такое можно реализовать?

            Забронировано                                  Доступно 
Дата          Раб.место    ВремяВыполнения        Раб.место    ВремяВыполнения
19.09.2016    Закалка        15                    Закалка     585
              раскрой        20                    раскрой     583

Теги:

Похожие темы (1)

Рейтинг@Mail.ru

Поиск