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