Имя: Пароль:
1C
1С v8
1С 8 3 УТП ошибка в запросе ХЕЛП
0 Nysha1210
 
10.12.18
23:36
Создаю запрос, в котором сливаю результаты по 2 регистрам накопления. Когда добавляю условие по Периоду - реезультат Запроса 0. В чём может быть ошибка в запросе? Спасибо.

        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("НачалоПериода",ДатаНач);
        Запрос.УстановитьПараметр("ОкончаниеПериода",ДатаКон);    
                
        Запрос.Текст = "ВЫБРАТЬ
                       |    Закупки.Период,
                       |    Закупки.Номенклатура,
                       |    Закупки.Количество,
                       |    Закупки.Регистратор.Ссылка,
                       |    Закупки.Регистратор.Комментарий,
                       |    ЗаказыПокупателей.Период,
                       |    ЗаказыПокупателей.Регистратор.Ссылка КАК РегистраторСсылка1,
                       |    ЗаказыПокупателей.Количество КАК Количество1,
                       |    ЗаказыПокупателей.Номенклатура КАК Номенклатура1
                       |ИЗ
                       |    РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей
                       |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки КАК Закупки
                       |        ПО ЗаказыПокупателей.Номенклатура = Закупки.Номенклатура
                       |            И ЗаказыПокупателей.Период = Закупки.Период
                       |ГДЕ
                       |    Закупки.Период >= &НачалоПериода
                       |    И Закупки.Период <= &ОкончаниеПериода
                       |    И ЗаказыПокупателей.Период >= &НачалоПериода
                       |    И ЗаказыПокупателей.Период <= &ОкончаниеПериода
                       |    И ЗаказыПокупателей.Номенклатура = &Тов
                       |    И Закупки.Номенклатура = &Тов"
                       ;
                      
        //отбор по категории товара              
        Запрос.УстановитьПараметр("Тов",ПолеВвода1);
                
        ЗапросТовары = Запрос.Выполнить().Выгрузить();
1 AlvlSpb
 
10.12.18
23:48
(0) Закупки.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода
И И ЗаказыПокупателей.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода
А правильно - запрос к вирт таблицам регистров и даты в параметры этих таблиц
2 Nysha1210
 
10.12.18
23:56
Если использовать МЕЖДУ, то Даты НачалоПериода и ОкончанияПериода тоже будут учтены?
3 Nysha1210
 
11.12.18
00:01
Не помогло((( по Регистру - ЗаказыПокупателей отбор производится, а по Закупкам - нет (((
4 Nysha1210
 
11.12.18
00:06
Видит записи только по Регистру ЗакупкиПокупателей. Почему?

"ВЫБРАТЬ
                       |    Закупки.Период,
                       |    Закупки.Номенклатура,
                       |    Закупки.Количество,
                       |    Закупки.Регистратор.Ссылка,
                       |    Закупки.Регистратор.Комментарий,
                       |    ЗаказыПокупателей.Период КАК Период1,
                       |    ЗаказыПокупателей.Регистратор.Ссылка КАК РегистраторСсылка1,
                       |    ЗаказыПокупателей.Количество КАК Количество1,
                       |    ЗаказыПокупателей.Номенклатура КАК Номенклатура1
                       |ИЗ
                       |    РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей
                       |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки КАК Закупки
                       |        ПО (ЗаказыПокупателей.Номенклатура = Закупки.Номенклатура)
                       |ГДЕ
                       |    Закупки.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода
                       |    И ЗаказыПокупателей.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода
                       |    И ЗаказыПокупателей.Номенклатура = &Тов
                       |    И Закупки.Номенклатура = &Тов"
5 AlvlSpb
 
11.12.18
00:12
(4) Попробуйте пакетный запрос с помещением о врем таблицу и соединение врем таблиц.
И еще раз. Не лучше ли сделать запрос к вирт таблицам регистров?
6 Nysha1210
 
11.12.18
00:14
Я не знаю как сделать запрос к вирт таблицам регистров. Извините.
7 timurhv
 
11.12.18
00:16
Даты увеличьте
8 AlvlSpb
 
11.12.18
00:28
(6) Предполагаю что это УНФ.
"ВЫБРАТЬ
|    ЗакупкиОбороты.Номенклатура КАК Номенклатура,
|    ЗакупкиОбороты.КоличествоОборот КАК Количество,
|    ПРЕДСТАВЛЕНИЕССЫЛКИ(ЗакупкиОбороты.Регистратор) КАК Регистратор,
|    ЗакупкиОбороты.Регистратор.Комментарий КАК Комментарий
|ПОМЕСТИТЬ ВТ_Закупки
|ИЗ
|    РегистрНакопления.Закупки.Обороты(&НачалоПериода, &КонецПериода, Авто, Номенклатура = &Тов) КАК ЗакупкиОбороты
|
|ИНДЕКСИРОВАТЬ ПО
|    Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ЗаказыПокупателейОбороты.Номенклатура КАК Номенклатура,
|    ЗаказыПокупателейОбороты.КоличествоОборот КАК Количество,
|    ПРЕДСТАВЛЕНИЕССЫЛКИ(ЗаказыПокупателейОбороты.Регистратор) КАК Регистратор,
|    ЗаказыПокупателейОбороты.Регистратор.Комментарий КАК Комментарий
|ПОМЕСТИТЬ ВТ_ЗаказыПокупателей
|ИЗ
|    РегистрНакопления.ЗаказыПокупателей.Обороты(&НачалоПериода, &КонецПериода, Авто, Номенклатура = &Тов) КАК ЗаказыПокупателейОбороты
|
|ИНДЕКСИРОВАТЬ ПО
|    Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ВТ_ЗаказыПокупателей.Номенклатура КАК Номенклатура,
|    ВТ_ЗаказыПокупателей.Количество КАК Количество,
|    ВТ_ЗаказыПокупателей.Регистратор КАК Регистратор,
|    ВТ_ЗаказыПокупателей.Комментарий КАК Комментарий,
|    ВТ_Закупки.Номенклатура КАК Номенклатура1,
|    ВТ_Закупки.Количество КАК Количество1,
|    ВТ_Закупки.Регистратор КАК Регистратор1,
|    ВТ_Закупки.Комментарий КАК Комментарий1
|ИЗ
|    ВТ_ЗаказыПокупателей КАК ВТ_ЗаказыПокупателей
|        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Закупки КАК ВТ_Закупки
|        ПО ВТ_ЗаказыПокупателей.Номенклатура = ВТ_Закупки.Номенклатура"
9 Nysha1210
 
11.12.18
14:01
Спасибо. Попробую и отпишусь )))
10 Nysha1210
 
11.12.18
20:34
Спасибо. Всё получилось нормально. Вопрос закрыт.