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

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

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

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

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

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

    КонецЕсли;

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


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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 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

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

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


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


Теги:
 

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

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

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

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

Ответов: 14
Просмотров: 4911
Последний ответ 20 Июл 2016, 22:56
от Азамат Хубиев
Возможно ли языком запросов без конкатенации текста запроса и без СКД преобразовать строки таблицы в столбцы (колонки) выходной таблицы?

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

Ответов: 3
Просмотров: 211
Последний ответ 29 Май 2017, 15:29
от alex0402
Какую консоль запросов используете вы в управляемом приложении или что за консоль в видео?

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

Ответов: 1
Просмотров: 228
Последний ответ 17 Апр 2017, 09:40
от LexaK
Объединение организации-кредитора и организации-должника

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

Ответов: 0
Просмотров: 781
Последний ответ 11 Авг 2015, 12:26
от news

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

alex0402
92 Сообщений
oleg-x
79 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
68 Сообщений
Golickoff Golickoff
51 Сообщений
AIFrame
45 Сообщений
ilyay ilyay
42 Сообщений
Амал
30 Сообщений
Dethmontt Dethmontt
22 Сообщений
lansy
22 Сообщений
wise wise
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal