8.х Сумма

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

  1. TopicStarter Overlay
    slaay
    Offline

    slaay Опытный в 1С

    Регистрация:
    27 мар 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    такой вопрос.

    есть два регистранакопления: ЗаказыПоставщикам и ЗаказыПотребителей
    Если делаю запрос в таком виде то все работает


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

    то есть например
    Характеристика Количество Количество1 Количество(должно быть такое)
    Хар1 13 22 10
    Хар2 11 22 12

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

    не получается. подскажите пожалуйста.
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    а почему вы только по номенклатуре соеденяете, а по характеристике нет? и по характеристике то же надо...
  3. TopicStarter Overlay
    slaay
    Offline

    slaay Опытный в 1С

    Регистрация:
    27 мар 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    Решил не создавать новую тему...

    Спрошу здесь...

    В документе ЗаказПоставщику есть КатегорииОбъектов. там добавляется категория типа истина/ложь. Соответственно в каких-то документах галочка ставится в каких то нет.

    Вопрос: как сделать так чтобы из регистра накопления ЗаказыПоставщикам суммировались только те количества заказанного товара у которых категория: истина?
  4. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Делайте левое соединение к РС "КатегорииОбъектов" по "ЗаказПоставщику = КатегорииОбъектов.Объект" + условие "ГДЕ КатегорииОбъектов.Категория = &Категория".
  5. TopicStarter Overlay
    slaay
    Offline

    slaay Опытный в 1С

    Регистрация:
    27 мар 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    делаю вот так:

    Код:
    "ВЫБРАТЬ
    |	ЗаказыПоставщикам.Количество КАК Количество
    |ИЗ
    |	РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПоставщикам КАК ЗаказыПоставщикам
    |		ПО КатегорииОбъектов.Объект = ЗаказыПоставщикам.ЗаказПоставщику
    |ГДЕ
    |	ЗаказыПоставщикам.Период МЕЖДУ &ДатаНач И &ДатаКон
    |	И КатегорииОбъектов.Категория = &Ист";
    
    
    Ист = Истина;

    не получается...
  6. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Нет.
    Код:
    "ВЫБРАТЬ
    |    ЗаказыПоставщикам.Количество КАК Количество
    |ИЗ
    |    РегистрНакопления.ЗаказыПоставщикам КАК ЗаказыПоставщикам
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
    |        ПО ЗаказыПоставщикам.ЗаказПоставщику = КатегорииОбъектов.Объект
    |ГДЕ
    |    ЗаказыПоставщикам.Период МЕЖДУ &ДатаНач И &ДатаКон
    |    И КатегорииОбъектов.Категория = &НаименованиеКатегории";
    
    
    
    
    так попробуйте. Правда вы не выбираете номенклатуру, в итоге в результате у вас что будет? "Количество" - чего?

    &НаименованиеКатегории - это не булево! А элемент из "Справочник.КатегорииОбъектов".

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