Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
20 Янв 2017, 00:39
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Объединение 2 запросов в 1 по номенклатуре  (Прочитано 534 раз)

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

Оффлайн Руслан Ханов

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-01-11
  • Сайт: 
есть 2 запроса один по виду движения приходу ,другой по расходу,надо объединить их в 1 запрос по номенклатуре
 Запрос = Новый  Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ЗаказыНаПроизводство.ЗаказНаПроизводство,
                   |    ЗаказыНаПроизводство.ВидДвижения,
                   |    ЗаказыНаПроизводство.Номенклатура,
                   |    СУММА(ЗаказыНаПроизводство.Количество) КАК КоличествоРасход
                   |ИЗ
                   |    РегистрНакопления.ЗаказыНаПроизводство КАК ЗаказыНаПроизводство
                   |ГДЕ
                   |    ЗаказыНаПроизводство.ЗаказНаПроизводство = &Регистратор
                   |    И ЗаказыНаПроизводство.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ЗаказыНаПроизводство.Номенклатура,
                   |    ЗаказыНаПроизводство.ЗаказНаПроизводство,
                   |    ЗаказыНаПроизводство.ВидДвижения";
    Запрос.УстановитьПараметр("Регистратор",ЗаказНаПроизводство);
        Таблица = Запрос.Выполнить().Выбрать();
    Если Таблица.Количество()> 0 Тогда
        Пока Таблица.Следующий() Цикл
            НоваяСтрока = ТабличноеПоле1.Добавить();
            НоваяСтрока.Номенклатура = Таблица.Номенклатура;
            //НоваяСтрока.ВЗаказе = Таблица.КоличествоПриход;
            НоваяСтрока.ВыпущеноЦехом = Таблица.КоличествоРасход;

        КонецЦикла;
    КонецЕсли;
Запрос = Новый  Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ЗаказыНаПроизводство.ЗаказНаПроизводство,
                   |    ЗаказыНаПроизводство.ВидДвижения,
                   |    ЗаказыНаПроизводство.Номенклатура,
                   |    СУММА(ЗаказыНаПроизводство.Количество) КАК КоличествоПриход
                   |ИЗ
                   |    РегистрНакопления.ЗаказыНаПроизводство КАК ЗаказыНаПроизводство
                   |ГДЕ
                   |    ЗаказыНаПроизводство.ЗаказНаПроизводство = &Регистратор
                   |    И ЗаказыНаПроизводство.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ЗаказыНаПроизводство.Номенклатура,
                   |    ЗаказыНаПроизводство.ЗаказНаПроизводство,
                   |    ЗаказыНаПроизводство.ВидДвижения";
    Запрос.УстановитьПараметр("Регистратор",ЗаказНаПроизводство);
        Таблица = Запрос.Выполнить().Выбрать();
    Если Таблица.Количество()> 0 Тогда
        Пока Таблица.Следующий() Цикл
            НоваяСтрока = ТабличноеПоле1.Добавить();
            НоваяСтрока.Номенклатура = Таблица.Номенклатура;
            НоваяСтрока.ВЗаказе = Таблица.КоличествоПриход;
             
    КонецЦикла;

    КонецЕсли;

Если можно с кодом пожалуйста,заранее благодарен


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1095
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
ну, или так:
"ВЫБРАТЬ
| ЗаказыНаПроизводство.ЗаказНаПроизводство,
| СУММА(ВЫБОР
| КОГДА ЗаказыНаПроизводство.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ЗаказыНаПроизводство.Количество
| ИНАЧЕ 0
| КОНЕЦ) КАК КоличествоПриход,
| СУММА(ВЫБОР
| КОГДА ЗаказыНаПроизводство.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ТОГДА ЗаказыНаПроизводство.Количество
| ИНАЧЕ 0
| КОНЕЦ) КАК КоличествоРасход
|ИЗ
| РегистрНакопления.ЗаказыНаПроизводство КАК ЗаказыНаПроизводство
|
|СГРУППИРОВАТЬ ПО
| ЗаказыНаПроизводство.ЗаказНаПроизводство"

Оффлайн LexaK

  • *****
  • Сообщений: 1083
  • РЕПУТАЦИЯ: 283
  • КПД: 26%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
а по чему не хотите использовать (не можете?) виртуальную таблицу Обороты? запрос гораздо проще выглядит (и по уверениям 1С быстрее :D)
судя по всему вид вашего регистра накопления ЗаказыНаПроизводство  - Остатки.
такой запрос должен работать
    Запрос = Новый  Запрос;
    Запрос.Текст = "
        |ВЫБРАТЬ
        |    //Рег.ЗаказНаПроизводство, //это поле по идее не нужно, в вашем цикле не используется
        |    Рег.Номенклатура,
        |    Рег.КоличествоПриход,
        |    Рег.КоличествоРасход
        |ИЗ
        |    РегистрНакопления.ЗаказыНаПроизводство.Обороты(,,,ЗаказНаПроизводство = &Заказ) КАК Рег
        |";

        Запрос.УстановитьПараметр("Заказ",ЗаказНаПроизводство);
        Таблица = Запрос.Выполнить().Выбрать();
       
        //Если Таблица.Количество()> 0 Тогда  - можно не проверять количество,
        //так как ниже идет выборка Следующий, если запрос не вернет данных, у вас цикл по любому не отработает
        Пока Таблица.Следующий() Цикл
            НоваяСтрока = ТабличноеПоле1.Добавить();
            НоваяСтрока.Номенклатура  = Таблица.Номенклатура;
            НоваяСтрока.ВЗаказе       = Таблица.КоличествоПриход;
            НоваяСтрока.ВыпущеноЦехом = Таблица.КоличествоРасход;
        КонецЦикла;


понятное дело, у меня вашей базы нет, проверить запрос не могу, поэтому могут быть ошибки, попробуйте его сами.
Помогло? - Нажми СПАСИБО!!!
                       :)


Теги:
 

Объединение конфигураций "Документооборот гос. учреждения" и "Гос. и муницип. закупки"

Автор Рената МарсельевнаРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 784
Последний ответ 19 Янв 2015, 20:02
от дфтын
Для объекта не определена форма по умолчанию, соответствующая текущему режиму запуска. Объект: "Консоль Запросов"

Автор Азамат ХубиевРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 1739
Последний ответ 20 Июл 2016, 22:56
от Азамат Хубиев
Объединение организации-кредитора и организации-должника

Автор newsРаздел Новости

Ответов: 0
Просмотров: 378
Последний ответ 11 Авг 2015, 12:26
от news
Вывод набора данных "объединение" скд в дерево значений

Автор Gae4kaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 1075
Последний ответ 02 Июн 2015, 12:19
от Gae4ka
Нужно в отчете вывести результат двух разных запросов в две соседних колонки

Автор Pava_PavРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 3273
Последний ответ 31 Окт 2011, 15:18
от Pava_Pav

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
158 Сообщений
alex0402
69 Сообщений
MuI_I_Ika MuI_I_Ika
43 Сообщений
LexaK
35 Сообщений
alexandr_ll
34 Сообщений
crow1983
31 Сообщений
sertak sertak
27 Сообщений
Vzonder
21 Сообщений
BuhRust
20 Сообщений
дфтын дфтын
17 Сообщений

* Кто онлайн

  • Точка Гостей: 210
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal