8.х Проверка есть ли запись в это время

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем skv_79, 29 мар 2017.

  1. TopicStarter Overlay
    skv_79
    Offline

    skv_79 Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    379
    Симпатии:
    6
    Баллы:
    29
    Добрый день!

    Хочу проверить, существует ли между ДатаНачалаРезерва и ДатаОкончанияРезерва уже резерв на это транспортное средство. Вроде легкая задача, а что-то сообразить не могу. Мой запрос не выявит записи резервов на транспортные средства, которые начинаются раньше ДатаНачалаРезерва и оканчиваются позже чем ДатаОкончанияРезерва.

    Код:
        Запрос = Новый Запрос;
        Запрос.Текст =
            "ВЫБРАТЬ
            |    РезервТранспортныхСредствСрезПервых.ТранспортноеСредство,
            |    РезервТранспортныхСредствСрезПервых.Резерв
            |ИЗ
            |    РегистрСведений.РезервТранспортныхСредств.СрезПервых(
            |            ,
            |            ДатаРезерва >= &ДатаНачалаРезерва
            |                И ДатаРезерва <= &ДатаОкончанияРезерва
            |                И ТранспортноеСредство = &ТранспортноеСредство
            |                И Резерв = ИСТИНА) КАК РезервТранспортныхСредствСрезПервых
            |;
            |
            |////////////////////////////////////////////////////////////////////////////////
            |ВЫБРАТЬ
            |    РезервТранспортныхСредствСрезПервых.ТранспортноеСредство,
            |    РезервТранспортныхСредствСрезПервых.Резерв
            |ИЗ
            |    РегистрСведений.РезервТранспортныхСредств.СрезПоследних(
            |            ,
            |            ДатаРезерва >= &ДатаНачалаРезерва
            |                И ДатаРезерва <= &ДатаОкончанияРезерва
            |                И ТранспортноеСредство = &ТранспортноеСредство
            |                И Резерв = ИСТИНА) КАК РезервТранспортныхСредствСрезПервых";
           
        Запрос.УстановитьПараметр("ДатаНачалаРезерва", ДатаНачалаРезерва);
        Запрос.УстановитьПараметр("ДатаОкончанияРезерва", ДатаОкончанияРезерва);
        Запрос.УстановитьПараметр("ТранспортноеСредство", ТранспортноеСредство);   
        РезультатЗапроса = Запрос.Выполнить();
  2. TopicStarter Overlay
    skv_79
    Offline

    skv_79 Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    379
    Симпатии:
    6
    Баллы:
    29
    Походу такие вещи нужно делать на регистрах расчета. Но хочется как-то попроще чтобы было... но работало как положено.
  3. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.224
    Симпатии:
    15
    Баллы:
    29
    Ну а если взять срез последних на дату начала +1 сек...
    + условие по периоду < дата окончания
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.828
    Симпатии:
    1.024
    Баллы:
    204
    СрезПоследних на КонецПериода даст все действующие резервы.
  5. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.224
    Симпатии:
    15
    Баллы:
    29
    ага. я местами перепутал