Добрый вечер всем.
Беда случилась - есть готовый отчет (взял обработку здесь), немного его поддредактировал под свои нужды (пара столбцов новых). Все работает, все считает как надо.
Нооо я бы не писал здесь если было бы вообще все гладко. По номенклатуре которая используется в отчете надо делать отбор - и его можно сделать в пользовательском интерфейсе через форму настроек, но еще одно но - при таком положении дел у меня неверно считается процент от общих продаж.

Попробую объяснить.

Есть контрагент. Рядом с ним столбец с суммой продаж по этому контрагенту. Контрагентов сами понимаете хватает. И вот в конце есть поле итогов этих сумм (это важно). Следующий идет столбец с "процент от общих продаж). Считается он следующим образом: Сумма (продаж по этому контру) / СуммаИтого.

И вот если я делаю отбор в пользовательском интерфейсе, то номенклатура отбирается. Но суммы продаж контрагентов вне отбора все равно попадают в СуммаИтого. А мне этого не надо - необходимо чтобы столбец "процент от общих продаж" давал в сумме 100%, а не как сейчас 14 процентов за годовой отрезок времени.

Проанализировав инфу понимаю, что кроме как перевода на СКД проблему не решить (в скд же при настройке полей для вывода я же смогу указать отбор по определенной группе товаров из справочника номенклатура?).

И вот вопрос - как заставить уже существующий запрос работать в скд? Сейчас проверяю его в консоли запросов - не выводит ничего. Параметры тоже указывал которые есть в запросе. В чем может быть беда?

```1c
    ПостроительОтчетаОтчет.Текст =
    "ВЫБРАТЬ
    | Sales.Номенклатура КАК Номенклатура,
    | Sales.Контрагент КАК Покупатель,
    | Sales.ДоговорКонтрагента КАК ДоговорКонтрагента,
    | СУММА(Sales.Количество) КАК Количество,
    | СУММА(Sales.Сумма) КАК Net_Sales_YTD,
    | СРЕДНЕЕ(Sales.Цена) КАК Цена,
    | Sales.Регистратор КАК Регистратор,
    | ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК GP1_RUB,
    | ВЫБОР
    | КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
    | ТОГДА 0
    | ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
    | КОНЕЦ КАК GP1_Percent,
    | PrimeCost.ЦенаСебест КАК ЦенаСебест,
    | ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК COGS,
    | СУММА(ВЫБОР
    | КОГДА AllSales.Сумма = 0
    | ТОГДА 0
    | ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма / AllSales.Сумма * 100 КАК ЧИСЛО(15, 2))
    | КОНЕЦ) КАК Bayers_Share_In_Total_Net_Sales
    |ИЗ
    | (ВЫБРАТЬ
    | ХозрасчетныйОборотыДтКт.СубконтоКт3 КАК Номенклатура,
    | ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Контрагент,
    | ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК ДоговорКонтрагента,
    | ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
    | ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
    | ВЫБОР
    | КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
    | ТОГДА 0
    | ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) / ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК ЧИСЛО(15, 2))
    | КОНЕЦ КАК Цена,
    | ХозрасчетныйОборотыДтКт.Регистратор КАК Регистратор
    | ИЗ
    | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК Sales
    | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    | ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
    | ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
    | ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
    | ВЫБОР
    | КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
    | ТОГДА 0
    | ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотКт
    | КОНЕЦ КАК ЦенаСебест
    | ИЗ
    | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
    | &НачПер,
    | &КонПер,
    | Период,
    | СчетДт = &Сч9002
    | ИЛИ СчетДт = &Сч9102,
    | ,
    | СчетКт = &Сч43
    | ИЛИ СчетКт = &Сч4101
    | ИЛИ СчетКт = &Сч4104
    | ИЛИ СчетКт = &Сч10,
    | ,
    | Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК PrimeCost
    | ПО Sales.Номенклатура = PrimeCost.Номенклатура
    | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    | СУММА(ХозрасчетныйОборотыДтКт.СуммаОборот) КАК Сумма
    | ИЗ
    | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК AllSales
    | ПО (ИСТИНА)
    |
    |СГРУППИРОВАТЬ ПО
    | Sales.Номенклатура,
    | Sales.Контрагент,
    | Sales.ДоговорКонтрагента,
    | Sales.Регистратор,
    | PrimeCost.ЦенаСебест,
    | ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)),
    | ВЫБОР
    | КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
    | ТОГДА 0
    | ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
    | КОНЕЦ,
    | ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2))
    |ИТОГИ
    | СУММА(Количество),
    | СУММА(Net_Sales_YTD),
    | СРЕДНЕЕ(Цена),
    | СУММА(GP1_RUB),
    | СРЕДНЕЕ(GP1_Percent),
    | СРЕДНЕЕ(ЦенаСебест),
    | СУММА(COGS),
    | СУММА(Bayers_Share_In_Total_Net_Sales)
    |ПО
    | ОБЩИЕ,
    | Покупатель";
```

Бух 2.0.
---
Вот, решение.
---
Дополнение: выводит в консоли запросов одну строчку где все пусто кроме суммы. Период в параметрах заполнено, организация тоже.
---
нормально все в скд работает и отбирает.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
ну на скрине видно, что многие столбцы пустые
Без использования СКД выглядит примерно так:
---
извиняюсь, не увидел второй скрин
---
Ну потому что это сделано на демо базе ERP, в вашем случае счета учета и проводки с их аналитикой могут отличаться от демки.
---
да, по второму скрину видно. что у Вас нормально там всё.
---
просто вопрос, запрос изменяли как-то? или все получилось без этого и надо было настроить только парметры и дет.записи?
---
заменял его так, чтобы его можно было впихнуть в схему, но не сильно.

Если вы реально пытались его переделать под скд, то при попытке его туда вставить 1с выдала бы наводящие замечания.

То что он у вас в консоле не отрабатывает, так это вы параметры неверные выставили, скорее всего.
---
Вот, решение.
---
самое интересное - ругалось только на итоги и поле по (сааамый самыый конец). Я это просто удалял.
(12) увидел Ваше сообщение после того как начал писать) если Вы не обидетесь, то я завтра все проверю и уже завтра sm отдам. До 12 утра напишу) без обид только.
---
Вот так всегда :)
---
спасибо большое за помощь, со всем разобрался кроме отбора по группе (как сделать в самом скд. чтоб через пользовательские настройки не лазить). Но это думаю сделаю еще. Еще раз спасибо
---
Ставите отбор не в списке, а в группе из списка и все.
---
я может не так объяснил. Т.е. настраивать (пытаться) буду так, чтобы когда заходишь в отчет, нажимаешь сформировать и отбор уже был. с насттройками из первого скрина идет бесконечный вывод отчета. Оно и понятно. На втором скрине указано где находится та подгруппа по которой надо делать отбор (т.е все элементы что находятся в папке net sales film и подпаках дальше). В самом СКД это вообще получится сделать? Или надо лезть в модуль обработки и прописывать там? Если да. то это жопа, ибо не умею))
---
В настройках скд нельзя установить отбор на неопределенный элемент (на самом деле можно, но не нужно). Это именно настройки.
Что вам мешает вывести в шапку отчета отбор по группе и пользователь эту группу укажет ?