8.х Период в запросе

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

  1. TopicStarter Overlay
    mhl
    Offline

    mhl Опытный в 1С

    Регистрация:
    23 июн 2007
    Сообщения:
    418
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. Написал такой запрос:
    Код:
    ЗапросДокум = Новый Запрос;
    ЗапросДокум.Текст =
    "ВЫБРАТЬ
    |    ХозрасчетныйДвиженияССубконто.Период,
    |    ХозрасчетныйДвиженияССубконто.Регистратор,
    |    ХозрасчетныйДвиженияССубконто.СубконтоДт1,
    |    ХозрасчетныйДвиженияССубконто.Сумма,
    |    ХозрасчетныйДвиженияССубконто.Содержание,
    |    ХозрасчетныйДвиженияССубконто.СубконтоКт1,
    |    ХозрасчетныйДвиженияССубконто.СчетКт
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто
    |ГДЕ
    |    ХозрасчетныйДвиженияССубконто.Период >= &НачалоПериода
    |    И ХозрасчетныйДвиженияССубконто.Период <= &КонецПериода";
    Если Контрагент.Пустая() = Ложь Тогда
    ЗапросДокум.Текст = ЗапросДокум.Текст +
    "
    |    И ХозрасчетныйДвиженияССубконто.СубконтоДт1 = &ФизЛицо
    |    ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоКт1 = &ФизЛицо";
    КонецЕсли;
    ЗапросДокум.Текст = ЗапросДокум.Текст +
    "
    |Упорядочить По
    |ХозрасчетныйДвиженияССубконто.Период
    |Автоупорядочивание";
    
    ЗапросДокум.УстановитьПараметр("НачалоПериода", НачДата);
    ЗапросДокум.УстановитьПараметр("КонецПериода", КонДата);
    ЗапросДокум.УстановитьПараметр("ФизЛицо", Контрагент);
    
    РезультатДокум = ЗапросДокум.Выполнить();
    ВыборкаДокум = РезультатДокум.Выбрать();
    
    
    Проблема в том, что не выполняется условие даты. Т.е. Выборка.Период может быть меньше, чем НачДата или больше, чем КонДата.
  2. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Попробуй заменить на

    МЕЖДУ &НачалоПериода И &КонецПериода
  3. TopicStarter Overlay
    mhl
    Offline

    mhl Опытный в 1С

    Регистрация:
    23 июн 2007
    Сообщения:
    418
    Симпатии:
    0
    Баллы:
    26
    не помогло(( такое ощущение, что запрос вообще не смотрит на период.
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Хм...
    1. Перепишите полностью весь запрос на использование параметров - половина ошибок исчезнет сама :)
    2.
    Код:
    Если Контрагент.Пустая() = Ложь Тогда
    
    
    заменить на
    Код:
    Если НЕ Контрагент.Пустая() Тогда
    
    
  5. TopicStarter Overlay
    mhl
    Offline

    mhl Опытный в 1С

    Регистрация:
    23 июн 2007
    Сообщения:
    418
    Симпатии:
    0
    Баллы:
    26
    Проблема решилась довольно просто. Всего лишь поменял таблицу запроса с ХозрасчетныйДвиженияССубконто на Хозрасчетный. Всем спасибо за помощь
  6. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    А почему не использовать параметры виртуальной таблицы? И запрос будет быстрее

Поделиться этой страницей