Тонкая настройка СКД (добавление строки)
Всем добрый день. Исправляю старенький отчет скд для бух 2.0
Сейчас там два набора данных:
и
Связаны они между собой регистратором и номенклатурой.
Отчет вообще выводит какому контрагенту сколько было продано определенного товара, выводит себестоимость, чистую прибыль и еще что-то, не суть. Ну соответственно группировка идет по контрагенту.
Но понадобилось буху еще выводить данные с регламентных операций – которые корректируют себестоимость товаров по счету 90.02 при закрытии месяца.
Там, как известно, нет привязки к покупателю и необходимо данные из этих корректировок вынести в позицию «Прочие покупатели».
Т.е. идет список покупателей, и в самом конце (ну или где там исходя из моей сортировки) должна находится строка "Прочие покупатели". Сам запрос я уже написал:
Сразу скажу, что выводится общая сумма по результатам данного запроса должна в поле COGS (второй набор данный).
И вот как результаты запихнуть строкой еще одной? Реализовывал кто нибудь что-то подобное?
Сейчас там два набора данных:
ВЫБРАТЬ
Sales.Номенклатура КАК Номенклатура,
Sales.Контрагент КАК Покупатель,
Sales.ДоговорКонтрагента КАК ДоговорКонтрагента,
Sales.Количество КАК Количество,
Sales.Сумма КАК Сумма,
Sales.Цена КАК Цена,
Sales.Регистратор КАК Регистратор,
ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК Др,
ВЫБОР
КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
КОНЕЦ КАК GP1_Percent1,
PrimeCost.ЦенаСебест КАК ЦенаСебест,
ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК СебестоимостьСтарая,
Sales.СуммаБезНдс КАК Net_Sales_YTD
ИЗ
(ВЫБРАТЬ
ХозрасчетныйОборотыДтКт.СубконтоКт3 КАК Номенклатура,
ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Контрагент,
ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК ДоговорКонтрагента,
ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
ХозрасчетныйОборотыДтКт.СуммаНУОборотКт КАК СуммаБезНдс,
ВЫБОР
КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) / ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК ЧИСЛО(15, 2))
КОНЕЦ КАК Цена,
ХозрасчетныйОборотыДтКт.Регистратор КАК Регистратор
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК Sales
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
ВЫБОР
КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
ТОГДА 0
ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотКт
КОНЕЦ КАК ЦенаСебест
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
&НачПер,
&КонПер,
Период,
СчетДт = &Сч9002
ИЛИ СчетДт = &Сч9102,
,
СчетКт = &Сч43
ИЛИ СчетКт = &Сч4101
ИЛИ СчетКт = &Сч4104
ИЛИ СчетКт = &Сч10,
,
Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК PrimeCost
ПО Sales.Номенклатура = PrimeCost.Номенклатура
Показатьи
ВЫБРАТЬ
ХозрасчетныйОбороты.Регистратор КАК Реализация,
ХозрасчетныйОбороты.Счет КАК Счет,
ХозрасчетныйОбороты.Субконто1 КАК Номенклатура,
ХозрасчетныйОбороты.Субконто2 КАК Партия,
ХозрасчетныйОбороты.Субконто3 КАК Склад,
ХозрасчетныйОбороты.КорСчет КАК КорСчет,
-ХозрасчетныйОбороты.СуммаОборот КАК COGS
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПер, &КонПер, Регистратор, Счет В ИЕРАРХИИ (&Сч4104), , Организация = &Организация, КорСчет В ИЕРАРХИИ (&Сч9002), ) КАК ХозрасчетныйОбороты
ПоказатьСвязаны они между собой регистратором и номенклатурой.
Отчет вообще выводит какому контрагенту сколько было продано определенного товара, выводит себестоимость, чистую прибыль и еще что-то, не суть. Ну соответственно группировка идет по контрагенту.
Но понадобилось буху еще выводить данные с регламентных операций – которые корректируют себестоимость товаров по счету 90.02 при закрытии месяца.
Там, как известно, нет привязки к покупателю и необходимо данные из этих корректировок вынести в позицию «Прочие покупатели».
Т.е. идет список покупателей, и в самом конце (ну или где там исходя из моей сортировки) должна находится строка "Прочие покупатели". Сам запрос я уже написал:
ВЫБРАТЬ
ХозрасчетныйОбороты.Регистратор КАК Регистратор,
ХозрасчетныйОбороты.Счет КАК Счет,
ХозрасчетныйОбороты.Субконто1 КАК Номенклатура,
ХозрасчетныйОбороты.КорСчет КАК КорСчет,
-ХозрасчетныйОбороты.СуммаОборот КАК COGS,
ХозрасчетныйОбороты.Субконто1.Наименование КАК Наименование
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПер, &КонПер, Регистратор, Счет В ИЕРАРХИИ (&Сч4104), , , КорСчет В ИЕРАРХИИ (&Сч9002), ) КАК ХозрасчетныйОбороты
ГДЕ
ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РегламентнаяОперация
ПоказатьСразу скажу, что выводится общая сумма по результатам данного запроса должна в поле COGS (второй набор данный).
И вот как результаты запихнуть строкой еще одной? Реализовывал кто нибудь что-то подобное?
По теме из базы знаний
- 1С8:борьба - личный опыт работы с платформой 1с8
- Управляемая консоль запросов, отчетов 3.9.0 (расширение, внешняя обработка)
- Разные хм... неожиданности при работе с УТ 11 и платформой
- СКД. Отчеты с картинками
- Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
"Прочие покупатели" или через &ПрочиеПокупатели
в итоге
ВЫБРАТЬ
ХозрасчетныйОбороты.Субконто1 КАК Номенклатура,
"Прочие покупатели",
"Договор",
0,
-ХозрасчетныйОбороты.СуммаОборот КАК COGS,
0,
ХозрасчетныйОбороты.Регистратор КАК Регистратор,
Null,
Null,
Null,
Null,
Null
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПер, &КонПер, Регистратор, Счет В ИЕРАРХИИ (&Сч4104), , , КорСчет В ИЕРАРХИИ (&Сч9002), ) КАК ХозрасчетныйОбороты
ГДЕ
ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РегламентнаяОперация
в итоге
ВЫБРАТЬ
ХозрасчетныйОбороты.Субконто1 КАК Номенклатура,
"Прочие покупатели",
"Договор",
0,
-ХозрасчетныйОбороты.СуммаОборот КАК COGS,
0,
ХозрасчетныйОбороты.Регистратор КАК Регистратор,
Null,
Null,
Null,
Null,
Null
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПер, &КонПер, Регистратор, Счет В ИЕРАРХИИ (&Сч4104), , , КорСчет В ИЕРАРХИИ (&Сч9002), ) КАК ХозрасчетныйОбороты
ГДЕ
ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РегламентнаяОперация
(5) Добрый вечер. Объедини все 3 запроса
Да, прочие контрагенты появляются, себестоимость выводит как надо, но для всех других контрагентов значения себестоимости пропало. Так понимаю соединение где то не то выбрал. А где и какое надо?
ВЫБРАТЬ
Sales.Регистратор КАК Регистратор,
NULL КАК Счет,
NULL КАК Номенклатура,
NULL КАК КорСчет,
NULL КАК COGS,
Sales.Контрагент КАК Покупатель,
Sales.ДоговорКонтрагента КАК ДоговорКонтрагента,
Sales.Количество КАК Количество,
Sales.Сумма КАК Сумма,
Sales.Цена КАК Цена,
ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК Др,
ВЫБОР
КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
КОНЕЦ КАК GP1_Percent1,
PrimeCost.ЦенаСебест КАК ЦенаСебест,
ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК СебестоимостьСтарая,
Sales.СуммаБезНдс КАК Net_Sales_YTD
ИЗ
(ВЫБРАТЬ
ХозрасчетныйОборотыДтКт.СубконтоКт3 КАК Номенклатура,
ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Контрагент,
ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК ДоговорКонтрагента,
ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
ХозрасчетныйОборотыДтКт.СуммаНУОборотКт КАК СуммаБезНдс,
ВЫБОР
КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) / ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК ЧИСЛО(15, 2))
КОНЕЦ КАК Цена,
ХозрасчетныйОборотыДтКт.Регистратор КАК Регистратор
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК Sales
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
ВЫБОР
КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
ТОГДА 0
ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотКт
КОНЕЦ КАК ЦенаСебест
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
&НачПер,
&КонПер,
Период,
СчетДт = &Сч9002
ИЛИ СчетДт = &Сч9102,
,
СчетКт = &Сч43
ИЛИ СчетКт = &Сч4101
ИЛИ СчетКт = &Сч4104
ИЛИ СчетКт = &Сч10,
,
Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК PrimeCost
ПО Sales.Номенклатура = PrimeCost.Номенклатура
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ХозрасчетныйОбороты.Регистратор,
ХозрасчетныйОбороты.Счет,
ХозрасчетныйОбороты.Субконто1,
ХозрасчетныйОбороты.КорСчет,
-ХозрасчетныйОбороты.СуммаОборот,
NULL,
NULL,
0,
0,
0,
NULL,
NULL,
NULL,
NULL,
0
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПер, &КонПер, Регистратор, Счет В ИЕРАРХИИ (&Сч4104), , Организация = &Организация, КорСчет В ИЕРАРХИИ (&Сч9002), ) КАК ХозрасчетныйОбороты
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ХозрасчетныйОбороты.Регистратор,
ХозрасчетныйОбороты.Счет,
ХозрасчетныйОбороты.Субконто1,
ХозрасчетныйОбороты.КорСчет,
-ХозрасчетныйОбороты.СуммаОборот,
"Прочие покупатели",
"Договор",
0,
0,
0,
NULL,
NULL,
NULL,
NULL,
0
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПер, &КонПер, Регистратор, Счет В ИЕРАРХИИ (&Сч4104), , , КорСчет В ИЕРАРХИИ (&Сч9002), ) КАК ХозрасчетныйОбороты
ГДЕ
ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РегламентнаяОперация
ПоказатьДа, прочие контрагенты появляются, себестоимость выводит как надо, но для всех других контрагентов значения себестоимости пропало. Так понимаю соединение где то не то выбрал. А где и какое надо?
Прикрепленные файлы:

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот