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

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

  1. TopicStarter Overlay
    php5
    Offline

    php5

    Регистрация:
    20 фев 2007
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Есть запрос, который считает процент от продаж услуг. Считает он по всем документам одинакого как указано в карточке сотрудника.

    Хочу сделать, чтобы считал по определеннному контрагенту другой процент. Посоветуйте или подскажите как сделать так, чтобы считала по определенному контрагенту другой процент...

    Код:
    ВЫБРАТЬ
    ЗапросОПроцентеПродажУслуг.видНачисленияиУдержания,
    ЗапросОПроцентеПродажУслуг.База,
    ЗапросОПроцентеПродажУслуг.Процент,
    ЗапросОПроцентеПродажУслуг.Сумма,
    ЗапросОПроцентеПродажУслуг.НоменклатурнаяГруппа,
    NULL КАК Поле1
    ИЗ
    (ВЫБРАТЬ
    ФизическиеЛица.ВидНачисленияУдержания КАК видНачисленияиУдержания,
    ФизическиеЛица.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
    СУММА(ВЫБОР
    КОГДА ФизическиеЛица.ВидНачисленияУдержания = &ПредПУ
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.НоменклатурнаяГруппа <> &ПустаяСсылка
    И ФизическиеЛица.Размер <> 0
    ТОГДА ВЫБОР
    КОГДА х_ПродажиПоСотрудникамОбороты.Номенклатура.НоменклатурнаяГруппа = ФизическиеЛица.НоменклатурнаяГруппа
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.ОтСуммыСоСкидкой = ИСТИНА
    ТОГДА х_ПродажиПоСотрудникамОбороты.СтоимостьОборот
    ИНАЧЕ х_ПродажиПоСотрудникамОбороты.СтоимостьБезСкидокОборот
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА ФизическиеЛица.НоменклатурнаяГруппа = &ПустаяСсылка
    И ФизическиеЛица.Размер <> 0
    ТОГДА ВЫБОР
    КОГДА (НЕ х_ПродажиПоСотрудникамОбороты.Номенклатура.НоменклатурнаяГруппа В (&СписокУслуг))
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.ОтСуммыСоСкидкой = ИСТИНА
    ТОГДА х_ПродажиПоСотрудникамОбороты.СтоимостьОборот / &КоличествоПустого
    ИНАЧЕ х_ПродажиПоСотрудникамОбороты.СтоимостьБезСкидокОборот / &КоличествоПустого
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ) КАК База,
    СУММА(ВЫБОР
    КОГДА ФизическиеЛица.ВидНачисленияУдержания = &ПредПУ
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.НоменклатурнаяГруппа <> &ПустаяСсылка
    И ФизическиеЛица.Размер <> 0
    ТОГДА ВЫБОР
    КОГДА х_ПродажиПоСотрудникамОбороты.Номенклатура.НоменклатурнаяГруппа = ФизическиеЛица.НоменклатурнаяГруппа
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.ОтСуммыСоСкидкой = ИСТИНА
    ТОГДА х_ПродажиПоСотрудникамОбороты.СтоимостьОборот * ФизическиеЛица.Размер / 100
    ИНАЧЕ х_ПродажиПоСотрудникамОбороты.СтоимостьБезСкидокОборот * ФизическиеЛица.Размер / 100
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА ФизическиеЛица.НоменклатурнаяГруппа = &ПустаяСсылка
    И ФизическиеЛица.Размер <> 0
    ТОГДА ВЫБОР
    КОГДА (НЕ х_ПродажиПоСотрудникамОбороты.Номенклатура.НоменклатурнаяГруппа В (&СписокУслуг))
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.ОтСуммыСоСкидкой = ИСТИНА
    ТОГДА х_ПродажиПоСотрудникамОбороты.СтоимостьОборот * ФизическиеЛица.Размер / 100 / &КоличествоПустого
    ИНАЧЕ х_ПродажиПоСотрудникамОбороты.СтоимостьБезСкидокОборот * ФизическиеЛица.Размер / 100 / &КоличествоПустого
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ) КАК Сумма,
    МИНИМУМ(ВЫБОР
    КОГДА ФизическиеЛица.ВидНачисленияУдержания = &ПредПУ
    ТОГДА ФизическиеЛица.Размер
    ИНАЧЕ 0
    КОНЕЦ) КАК Процент
    ИЗ
    РегистрНакопления.х_ПродажиПоСотрудникам.Обороты(&НачалоМесяца, &КонецМесяца, , Сотрудник = &Сотрудник) КАК х_ПродажиПоСотрудникамОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.РасчетЗаработнойПлаты КАК ФизическиеЛица
    ПО х_ПродажиПоСотрудникамОбороты.Сотрудник = ФизическиеЛица.Ссылка
    ГДЕ
    ФизическиеЛица.Ссылка = &Сотрудник
    И х_ПродажиПоСотрудникамОбороты.Номенклатура.Услуга = ИСТИНА
    И ФизическиеЛица.ВидНачисленияУдержания = &ПредПУ
    
    СГРУППИРОВАТЬ ПО
    ФизическиеЛица.ВидНачисленияУдержания,
    ФизическиеЛица.НоменклатурнаяГруппа) КАК ЗапросОПроцентеПродажУслуг
    ГДЕ
    ЗапросОПроцентеПродажУслуг.Процент <> 0
    И ЗапросОПроцентеПродажУслуг.База <> 0
    
  2. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Так в регистре продаж есть сведения о контрагенте? тогда точно также
    ВЫБОР КОГДА Продажи.Контрагент = &Контрагент ....
  3. TopicStarter Overlay
    php5
    Offline

    php5

    Регистрация:
    20 фев 2007
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Вот вся проблема в том, что нету и разных регистраторов поле клиент называется по разному...
  4. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Так вытащите это поле в одно, какая разница? Точно также через
    ВЫБРАТЬ
    КОГДА Документ ССЫЛКА ... ТОГДА Документ.А
    КОГДА Документ ССЫЛКА ... ТОГДА Документ.Б
    КОНЕЦ КАК Контрагент
  5. TopicStarter Overlay
    php5
    Offline

    php5

    Регистрация:
    20 фев 2007
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    2-ой день уже мучаюсь...нифига не получается интегрировать в запрос эти условия...помогите плиз...
  6. TopicStarter Overlay
    php5
    Offline

    php5

    Регистрация:
    20 фев 2007
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Пытаюсь так выбрать ругается...
    Код:
    ВЫБРАТЬ
    ЗапросОПроцентеПродажУслуг.видНачисленияиУдержания,
    ЗапросОПроцентеПродажУслуг.База,
    ЗапросОПроцентеПродажУслуг.Процент,
    ЗапросОПроцентеПродажУслуг.Сумма,
    ЗапросОПроцентеПродажУслуг.НоменклатурнаяГруппа,
    ЗапросОПроцентеПродажУслуг.Контрагент КАК Контрагент
    ИЗ
    (ВЫБРАТЬ
    ФизическиеЛица.ВидНачисленияУдержания КАК видНачисленияиУдержания,
    ФизическиеЛица.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
    ВЫБОР КОГДА х_ПродажиПоСотрудникамОбороты.ДокументПродажи ССЫЛКА Документ.ЧекККМ
    ТОГДА х_ПродажиПоСотрудникамОбороты.ДокументПродажи.х_Клиент
    КОНЕЦ КАК Контрагент,
    СУММА(ВЫБОР
    КОГДА ФизическиеЛица.ВидНачисленияУдержания = &ПредПУ
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.НоменклатурнаяГруппа <> &ПустаяСсылка
    И ФизическиеЛица.Размер <> 0
    ТОГДА ВЫБОР
    КОГДА х_ПродажиПоСотрудникамОбороты.Номенклатура.НоменклатурнаяГруппа = ФизическиеЛица.НоменклатурнаяГруппа
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.ОтСуммыСоСкидкой = ИСТИНА
    ТОГДА х_ПродажиПоСотрудникамОбороты.СтоимостьОборот
    ИНАЧЕ х_ПродажиПоСотрудникамОбороты.СтоимостьБезСкидокОборот
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА ФизическиеЛица.НоменклатурнаяГруппа = &ПустаяСсылка
    И ФизическиеЛица.Размер <> 0
    ТОГДА ВЫБОР
    КОГДА (НЕ х_ПродажиПоСотрудникамОбороты.Номенклатура.НоменклатурнаяГруппа В (&СписокУслуг))
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.ОтСуммыСоСкидкой = ИСТИНА
    ТОГДА х_ПродажиПоСотрудникамОбороты.СтоимостьОборот / &КоличествоПустого
    ИНАЧЕ х_ПродажиПоСотрудникамОбороты.СтоимостьБезСкидокОборот / &КоличествоПустого
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ) КАК База,
    СУММА(ВЫБОР
    КОГДА ФизическиеЛица.ВидНачисленияУдержания = &ПредПУ
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.НоменклатурнаяГруппа <> &ПустаяСсылка
    И ФизическиеЛица.Размер <> 0
    ТОГДА ВЫБОР
    КОГДА х_ПродажиПоСотрудникамОбороты.Номенклатура.НоменклатурнаяГруппа = ФизическиеЛица.НоменклатурнаяГруппа
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.ОтСуммыСоСкидкой = ИСТИНА
    ТОГДА х_ПродажиПоСотрудникамОбороты.СтоимостьОборот * ФизическиеЛица.Размер / 100
    ИНАЧЕ х_ПродажиПоСотрудникамОбороты.СтоимостьБезСкидокОборот * ФизическиеЛица.Размер / 100
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА ФизическиеЛица.НоменклатурнаяГруппа = &ПустаяСсылка
    И ФизическиеЛица.Размер <> 0
    ТОГДА ВЫБОР
    КОГДА (НЕ х_ПродажиПоСотрудникамОбороты.Номенклатура.НоменклатурнаяГруппа В (&СписокУслуг))
    ТОГДА ВЫБОР
    КОГДА ФизическиеЛица.ОтСуммыСоСкидкой = ИСТИНА
    ТОГДА х_ПродажиПоСотрудникамОбороты.СтоимостьОборот * ФизическиеЛица.Размер / 100 / &КоличествоПустого
    ИНАЧЕ х_ПродажиПоСотрудникамОбороты.СтоимостьБезСкидокОборот * ФизическиеЛица.Размер / 100 / &КоличествоПустого
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ) КАК Сумма,
    МИНИМУМ(ВЫБОР
    КОГДА ФизическиеЛица.ВидНачисленияУдержания = &ПредПУ
    ТОГДА ФизическиеЛица.Размер
    ИНАЧЕ 0
    КОНЕЦ) КАК Процент
    ИЗ
    РегистрНакопления.х_ПродажиПоСотрудникам.Обороты(&НачалоМесяца, &КонецМесяца, , Сотрудник = &Сотрудник) КАК х_ПродажиПоСотрудникамОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.РасчетЗаработнойПлаты КАК ФизическиеЛица
    ПО х_ПродажиПоСотрудникамОбороты.Сотрудник = ФизическиеЛица.Ссылка
    ГДЕ
    ФизическиеЛица.Ссылка = &Сотрудник
    И х_ПродажиПоСотрудникамОбороты.Номенклатура.Услуга = ИСТИНА
    И ФизическиеЛица.ВидНачисленияУдержания = &ПредПУ
    
    СГРУППИРОВАТЬ ПО
    ФизическиеЛица.ВидНачисленияУдержания,
    ФизическиеЛица.НоменклатурнаяГруппа,
    х_ПродажиПоСотрудникамОбороты.ДокументПродажи) КАК ЗапросОПроцентеПродажУслуг
    ГДЕ
    ЗапросОПроцентеПродажУслуг.Процент <> 0
    И ЗапросОПроцентеПродажУслуг.База <> 0
    
  7. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    1. В ВТ х_ПродажиПоСотрудникам периодичность поставьте авто, иначе у вас банально нет поля Регистратор :)
    2.
    Код:
    "ВЫБОР КОГДА х_ПродажиПоСотрудникамОбороты.ДокументПродажи ССЫЛКА Документ.ЧекККМ
    ТОГДА х_ПродажиПоСотрудникамОбороты.ДокументПродажи.х_Клиент
    ИНАЧЕ 
    // Тут что будет тогда?
    КОНЕЦ КАК Контрагент,"
    
  8. TopicStarter Overlay
    php5
    Offline

    php5

    Регистрация:
    20 фев 2007
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Вопрос закрыт. Пришлось добавить измерение...
  9. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Это лучшее решение, кстати, для подобной ситуации. Работать будет быстрее
Похожие темы
  1. alp
    Ответов:
    9
    Просмотров:
    771
Загрузка...

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