Cложности перевода с построителя отчетов на скд.
Добрый вечер всем.
Беда случилась - есть готовый отчет (взял обработку здесь), немного его поддредактировал под свои нужды (пара столбцов новых). Все работает, все считает как надо.
Нооо я бы не писал здесь если было бы вообще все гладко. По номенклатуре которая используется в отчете надо делать отбор - и его можно сделать в пользовательском интерфейсе через форму настроек, но еще одно но - при таком положении дел у меня неверно считается процент от общих продаж.
Попробую объяснить.
Есть контрагент. Рядом с ним столбец с суммой продаж по этому контрагенту. Контрагентов сами понимаете хватает. И вот в конце есть поле итогов этих сумм (это важно). Следующий идет столбец с "процент от общих продаж). Считается он следующим образом: Сумма (продаж по этому контру) / СуммаИтого.
И вот если я делаю отбор в пользовательском интерфейсе, то номенклатура отбирается. Но суммы продаж контрагентов вне отбора все равно попадают в СуммаИтого. А мне этого не надо - необходимо чтобы столбец "процент от общих продаж" давал в сумме 100%, а не как сейчас 14 процентов за годовой отрезок времени.
Проанализировав инфу понимаю, что кроме как перевода на СКД проблему не решить (в скд же при настройке полей для вывода я же смогу указать отбор по определенной группе товаров из справочника номенклатура?).
И вот вопрос - как заставить уже существующий запрос работать в скд? Сейчас проверяю его в консоли запросов - не выводит ничего. Параметры тоже указывал которые есть в запросе. В чем может быть беда?
Бух 2.0.
Беда случилась - есть готовый отчет (взял обработку здесь), немного его поддредактировал под свои нужды (пара столбцов новых). Все работает, все считает как надо.
Нооо я бы не писал здесь если было бы вообще все гладко. По номенклатуре которая используется в отчете надо делать отбор - и его можно сделать в пользовательском интерфейсе через форму настроек, но еще одно но - при таком положении дел у меня неверно считается процент от общих продаж.
Попробую объяснить.
Есть контрагент. Рядом с ним столбец с суммой продаж по этому контрагенту. Контрагентов сами понимаете хватает. И вот в конце есть поле итогов этих сумм (это важно). Следующий идет столбец с "процент от общих продаж). Считается он следующим образом: Сумма (продаж по этому контру) / СуммаИтого.
И вот если я делаю отбор в пользовательском интерфейсе, то номенклатура отбирается. Но суммы продаж контрагентов вне отбора все равно попадают в СуммаИтого. А мне этого не надо - необходимо чтобы столбец "процент от общих продаж" давал в сумме 100%, а не как сейчас 14 процентов за годовой отрезок времени.
Проанализировав инфу понимаю, что кроме как перевода на СКД проблему не решить (в скд же при настройке полей для вывода я же смогу указать отбор по определенной группе товаров из справочника номенклатура?).
И вот вопрос - как заставить уже существующий запрос работать в скд? Сейчас проверяю его в консоли запросов - не выводит ничего. Параметры тоже указывал которые есть в запросе. В чем может быть беда?
ПостроительОтчетаОтчет.Текст =
"ВЫБРАТЬ
| 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.
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(9) заменял его так, чтобы его можно было впихнуть в схему, но не сильно.
Если вы реально пытались его переделать под скд, то при попытке его туда вставить 1с выдала бы наводящие замечания.
То что он у вас в консоле не отрабатывает, так это вы параметры неверные выставили, скорее всего.
Если вы реально пытались его переделать под скд, то при попытке его туда вставить 1с выдала бы наводящие замечания.
То что он у вас в консоле не отрабатывает, так это вы параметры неверные выставили, скорее всего.
(16) я может не так объяснил. Т.е. настраивать (пытаться) буду так, чтобы когда заходишь в отчет, нажимаешь сформировать и отбор уже был. с насттройками из первого скрина идет бесконечный вывод отчета. Оно и понятно. На втором скрине указано где находится та подгруппа по которой надо делать отбор (т.е все элементы что находятся в папке net sales film и подпаках дальше). В самом СКД это вообще получится сделать? Или надо лезть в модуль обработки и прописывать там? Если да. то это жопа, ибо не умею))
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот