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

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

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

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

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

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

    КонецЕсли;

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


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

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

Оффлайн vitasw

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

Оффлайн LexaK

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

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


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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
89 Сообщений
alex0402
43 Сообщений
AIFrame
42 Сообщений
Oldman06
31 Сообщений
vitasw
29 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
29 Сообщений
Golickoff Golickoff
27 Сообщений
Liv98 Liv98
20 Сообщений
MuI_I_Ika MuI_I_Ika
18 Сообщений
DmitriyF DmitriyF
14 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal