8.х Помогите Разобраться с запросом.

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

  1. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

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

    Товар1,Склад1
    Товар1,Склад2
    Товар1,Склад3
    Товар2,склад2
    Товар2,склад3
    ....................

    ??
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну добавте сортировку и все

    УПОРЯДОЧИТЬ ПО
    ТМЦ,
    Склад

    Это в самом конце добавлять

    |СГРУППИРОВАТЬ ПО
    | ОстаткиТМЦОстатки.ТМЦ,
    | ОстаткиТМЦОстатки.Организация,
    | ОстаткиТМЦОстатки.Склад,
    | ОстаткиТМЦОстатки.КоличествоОстаток
    |УПОРЯДОЧИТЬ ПО
    | ТМЦ,
    | Склад
  3. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    а для чего тогда метод "СГРУППИРОВАТЬ" служит? Я просто думал он это делает
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Сгруппировать - это аналог метода свернуть У Таблицы значений
  5. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    В моем Запросе этот метод "СГРУППИПОВАТЬ" не актуальный , так как запрос уже подщитывает итоги по измерениям ?
  6. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    У меня Получился код:
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	ОстаткиТМЦОстатки.Организация КАК Организация,
    |	ОстаткиТМЦОстатки.Склад КАК Склад,
    |	ОстаткиТМЦОстатки.ТМЦ КАК ТМЦ,
    |	ОстаткиТМЦОстатки.КоличествоОстаток КАК Количество
    |ИЗ
    |	РегистрНакопления.ОстаткиТМЦ.Остатки(&МоментВремени,"+?(ОтборДляОстатков.Свойство("СписокТМЦ"),"ТМЦ В (&СписокТМЦ))",")")+" КАК ОстаткиТМЦОстатки
    //|	РегистрНакопления.ОстаткиТМЦ.Остатки(&МоментВремени, ) КАК ОстаткиТМЦОстатки
    |ГДЕ
    |	ОстаткиТМЦОстатки.Организация = &Организация
    |Итоги ПО
    |    ТМЦ";
    
    
    
    Запрос.УстановитьПараметр("МоментВремени",ОтборДляОстатков.МоментВремени);
    Запрос.УстановитьПараметр("Организация",ОтборДляОстатков.Организация);
    Результат = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока Результат.Следующий() Цикл
    Сообщить("Итоги "+Результат.Количество);
    Выборка2 = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока Выборка2.Следующий() Цикл
    
    КонецЦикла;
    
    КонецЦикла;
    
    
    
    у меня не получается получить итоги по группировкам , выдает NULL вместо количество товаров на всех складах.
  7. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Код:
    "ВЫБРАТЬ
    |    ОстаткиТМЦОстатки.Организация КАК Организация,
    |    ОстаткиТМЦОстатки.Склад КАК Склад,
    |    ОстаткиТМЦОстатки.ТМЦ КАК ТМЦ,
    |    ОстаткиТМЦОстатки.КоличествоОстаток КАК Количество
    |ИЗ
    |    РегистрНакопления.ОстаткиТМЦ.Остатки(&МоментВремени, Организация = &Организация) КАК ОстаткиТМЦОстатки
    |ИТОГИ
    |    СУММА(Количество)
    |ПО
    |    ТМЦ"
    
    
    
    Вы не указали что суммировать.

    Код:
    Выборка2 = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    и вот это - зачем так? просто уже без группировок, у вас же только по номенклатуре итоги.
  8. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Мне сначало надо получить в отчет итого по организации, а затем с разбивкой по складу.
  9. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Тогда в запрос не забудьте дописать:
    Код:
    "ПО
    Номенклатура,
    Склад"
    
    

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