8.х Запрос - отловить исключить КоличествоОборот =0

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

  1. TopicStarter Overlay
    wary
    Offline

    wary Опытный в 1С

    Регистрация:
    5 авг 2009
    Сообщения:
    139
    Симпатии:
    1
    Баллы:
    26
    Добрый день!

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

    wary Опытный в 1С

    Регистрация:
    5 авг 2009
    Сообщения:
    139
    Симпатии:
    1
    Баллы:
    26
    решил вот так

    Код:
    (НЕ СУММА(ЗаказыПокупателейОстаткиИОбороты.КоличествоОборот) = 0)
    
    
    может еще есть какие-то способы?
  3. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    1. Не очень понятно, зачем сортировать сначала по дате, а потом по номеру.
    2. Зачем разворот до регистратора?
  4. TopicStarter Overlay
    wary
    Offline

    wary Опытный в 1С

    Регистрация:
    5 авг 2009
    Сообщения:
    139
    Симпатии:
    1
    Баллы:
    26
    Нужно было сделать следующее:

    1. Отобрать все документы ЗаказПокупателя за период - для этого взял регистр накопления по таблице ЗаказыПокупателейОстаткиИОбороты (хотя можно было и просто ЗаказыПокупателейОбороты). Разворачиваю по регистратору для того, что в регистре ЗаказыПокупателейОстаткиИОбороты регистраторы не только ЗаказПокупателя . Потом Сделал еще отбор по типу документа Регистратор ССЫЛКА Документ.ЗаказПокупателя

    Тем самым у меня отобрались за период только документы ЗаказПокупателя (проведенные)

    2. После мне надо было определить, закрыта ли потребность по этим заказам, для этого левым соединеним получил конечный остаток.

    3. По сортировке - намудрил.
  5. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Это УТ 10.3?
    Вроде как задача проще решается...

    Потребность считается закрытой, если резервы по заказам все установлены, либо товар уже отгружен. В Вашем решении не учитывается документ ИзменениеЗаказа и КорректировкаЗаказа, например.

    Т.е., имхо, просто не используете почему-то стандартный функционал.
  6. TopicStarter Overlay
    wary
    Offline

    wary Опытный в 1С

    Регистрация:
    5 авг 2009
    Сообщения:
    139
    Симпатии:
    1
    Баллы:
    26
    не совсем понял ход ваших мыслей.
    Мне нужно сделать отчет по не закрытым заказам покупателей, для этого:
    1. Отобрать вообще документы заказов за период
    2. Показать по ним остаток на текущий момент.

    Все. Причем тут корректировки ?? это уже в тему про то как корректировать.....или я что-то не понимаю?
  7. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Про документ ИзменениеЗаказа не скажу, а с КорректировкойЗаказа - там вроде все ок должно быть. ТС ведь сворачивает по измерению ЗаказПокупателя, т.е. документ КорректировкаЗаказа когда делает движение по РН, то в Измерении ЗаказПокупателя ведь пишется корректируемый заказ.
    Только вот в параметрах ВТ периодичность Регистратор не нужна я думаю. wary уберите периодичность Регистратор, и уберите условие СУММА(ЗаказыПокупателейОстаткиИОбороты.КоличествоОборот) и попробуйте.

    И еще вот здесь
    Код:
    |СГРУППИРОВАТЬ ПО
    |    ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя.Ссылка,
    
    
    слово Ссылка уберите. Оно не нужно.
  8. TopicStarter Overlay
    wary
    Offline

    wary Опытный в 1С

    Регистрация:
    5 авг 2009
    Сообщения:
    139
    Симпатии:
    1
    Баллы:
    26
    всем спасибо, тему можно считать закрытой.

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