|
Результат запроса | ☑ | ||
---|---|---|---|---|
0
first_may
27.05.22
✎
11:50
|
Добрый день.
Есть некоторый запрос, который получает данные СтатьяКалькуляции КоличествоВыпуск КоличествоВыручка СуммаВыручки ЦенаВыручки СебестоимостьРеал СтоимостьЗатратОбщая СтоимостьЗатрат СтоимостьНаЕдиницу КоличествоВыручкаОбщая СуммаВыручкиОбщая Амортизация оборудования 42 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 1 332 048,025 3 459,865 385 4 294 865,32 Амортизация оборудования 142 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 393 986,03556235 1 023,34035211 385 4 294 865,32 Амортизация оборудования 108 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 518 018,6763906 1 345,50305556 385 4 294 865,32 Амортизация оборудования 134 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 417 507,58992635 1 084,43529851 385 4 294 865,32 Амортизация оборудования 1 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 55 946 017,05 145 314,33 385 4 294 865,32 Амортизация оборудования 110 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 508 600,1550014 1 321,03936364 385 4 294 865,32 Амортизация оборудования 126 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 444 016,00833205 1 153,28833333 385 4 294 865,32 Амортизация оборудования 10 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 5 594 601,705 14 531,433 385 4 294 865,32 Амортизация оборудования 79 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 708 177,43101105 1 839,42189873 385 4 294 865,32 Амортизация оборудования 62 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 902 355,11371005 2 343,77951613 385 4 294 865,32 Амортизация оборудования 69 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 810 811,84130485 2 106,00478261 385 4 294 865,32 Амортизация оборудования 316 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 177 044,3577518 459,85547468 385 4 294 865,32 а мне для СКД надо, что бы было вот так СтатьяКалькуляции КоличествоВыпуск КоличествоВыручка СуммаВыручки ЦенаВыручки СебестоимостьРеал СтоимостьЗатратОбщая СтоимостьЗатрат СтоимостьНаЕдиницу КоличествоВыручкаОбщая СуммаВыручкиОбщая Амортизация оборудования 42 385 4 294 865,32 11 155,49433766 2 964 020,23 145 314,33 1 332 048,025 3 459,865 385 4 294 865,32 Амортизация оборудования 142 393 986,03556235 1 023,34035211 Амортизация оборудования 108 518 018,6763906 1 345,50305556 Амортизация оборудования 134 417 507,58992635 1 084,43529851 Амортизация оборудования 1 55 946 017,05 145 314,33 Амортизация оборудования 110 508 600,1550014 1 321,03936364 Амортизация оборудования 126 444 016,00833205 1 153,28833333 Амортизация оборудования 10 5 594 601,705 14 531,433 Амортизация оборудования 79 708 177,43101105 1 839,42189873 Амортизация оборудования 62 902 355,11371005 2 343,77951613 Амортизация оборудования 69 810 811,84130485 2 106,00478261 Амортизация оборудования 316 177 044,3577518 459,85547468 Наглядно вот https://disk.yandex.ru/i/SeWPOqhum_u_9Q Потому что при построении отчета получается, что итог по колонки например КоличествоВыручка, равен количество записей * на значение. Можно наверное обработать через Процедура ПриКомпоновкеРезультата но есть ли решение через запрос? Подскажите пож, как лучше поступить? |
|||
1
Ненавижу 1С
гуру
27.05.22
✎
12:05
|
я так понимаю это месяцы, а почему тогда количество выручка из месяца в месяц общая?
|
|||
2
first_may
27.05.22
✎
12:11
|
не месяца, но смысл похожий..
количество выручка общая и связана левым соединением с запросом где получается количество выпуска.. а потом скажем показатели "это месяцы", строятся в колоyrf[ |
|||
3
first_may
27.05.22
✎
12:12
|
выводятся в колонках.. а общий итог тоже в начальной колонки
|
|||
4
vicof
27.05.22
✎
12:12
|
А почему не сгруппировать по статье калькуляции?
|
|||
5
yopQua
27.05.22
✎
12:13
|
ну да, нужна же группировка какая то
|
|||
6
first_may
27.05.22
✎
12:18
|
Если группировать по СтатьяКалькуляции,
то с КоличествоВыручка СуммаВыручки ЦенаВыручки - понятно, делать МАКСИМУМ например, но КоличествоВыпуск различные же и они так и останутся |
|||
7
VoditelKobyly
27.05.22
✎
12:22
|
Нужно не соединение, а объединение
|
|||
8
yopQua
27.05.22
✎
12:23
|
где надо сумма, где не надо просто ресурс, без функций сумм и максимумов
ну а так то надо понимать смысл отчета, где что |
|||
9
DimVad
27.05.22
✎
12:25
|
Мне в голову пришло несколько решений :
1. По некоторым колонкам использовать итоги, а по некоторым - максимум. Ну, понятно. Откуда идёт "Количество выпуска" - там "максимум". 2. Вместо соединения в запросе делать соединения в наборах данных. Тогда суммирование нормально отработают (в Хрусталёвой по СКД там вроде целая подглавка была про это дело). 3. Ну и наконец - результат запроса выгружаем в ТЗ, там его художественно обрабатываем программным способом и запихиваем обратно. Тут можно творить всё, что угодно. |
|||
10
first_may
27.05.22
✎
12:27
|
Может так понятней будет..
Отчет на скд https://disk.yandex.ru/i/zfh3HQXMqE8yUA А итоговый запрос вот такой |ВЫБРАТЬ | ВременаяВыручка.Организация КАК Организация, | ВременаяВыручка.Номенклатура КАК Номенклатура, | ВременаяВыручка.Серия КАК Серия, | ВЫБОР | КОГДА ВременнаяИтог.СтатьяКалькуляции ЕСТЬ NULL | ТОГДА &СтатьяКалькуляции | ИНАЧЕ ВременнаяИтог.СтатьяКалькуляции | КОНЕЦ КАК СтатьяКалькуляции, | Выпуск.Количество КАК КоличествоВыпуск, | ВременаяВыручка.КоличествоВыручка КАК КоличествоВыручка, | ВременаяВыручка.СуммаВыручки КАК СуммаВыручки, | ВременаяВыручка.ЦенаВыручки КАК ЦенаВыручки, | ВременаяВыручка.СебестоимостьРеал КАК СебестоимостьРеал, | ВЫБОР | КОГДА ВременнаяИтог.СтатьяКалькуляции ЕСТЬ NULL | ТОГДА ВременаяВыручка.СебестоимостьРеал | ИНАЧЕ ВременнаяИтог.СтоимостьЗатрат | КОНЕЦ КАК СтоимостьЗатратОбщая, | ВЫБОР | КОГДА Выпуск.Количество = 0 | ТОГДА 0 | ИНАЧЕ ВЫБОР | КОГДА ВременнаяИтог.СтатьяКалькуляции ЕСТЬ NULL | ТОГДА ВременаяВыручка.СебестоимостьРеал | ИНАЧЕ ВЫБОР | КОГДА Выпуск.Количество = 0 | ТОГДА 0 | ИНАЧЕ ВременнаяИтог.СтоимостьЗатрат / Выпуск.Количество * ВременаяВыручка.КоличествоВыручка | КОНЕЦ | КОНЕЦ | КОНЕЦ КАК СтоимостьЗатрат, | ВЫБОР | КОГДА Выпуск.Количество = 0 | ТОГДА 0 | ИНАЧЕ ВЫБОР | КОГДА ВременнаяИтог.СтатьяКалькуляции ЕСТЬ NULL | ТОГДА ВЫБОР | КОГДА ВременаяВыручка.КоличествоВыручка = 0 | ТОГДА 0 | ИНАЧЕ ВременаяВыручка.СебестоимостьРеал / ВременаяВыручка.КоличествоВыручка | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА Выпуск.Количество = 0 | ТОГДА 0 | ИНАЧЕ ВременнаяИтог.СтоимостьЗатрат / Выпуск.Количество | КОНЕЦ | КОНЕЦ | КОНЕЦ КАК СтоимостьНаЕдиницу, | ВременаяВыручкаОбщая.КоличествоВыручкаОбщая КАК КоличествоВыручкаОбщая, | ВременаяВыручкаОбщая.СуммаВыручкиОбщая КАК СуммаВыручкиОбщая |ИЗ | ВременаяВыручка КАК ВременаяВыручка | ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяИтог КАК ВременнаяИтог | ПО ВременаяВыручка.Номенклатура = ВременнаяИтог.Продукция | И ВременаяВыручка.Серия = ВременнаяИтог.СерияПродукции | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВыпускПродукции КАК Выпуск | ПО ВременаяВыручка.Организация = Выпуск.Организация | И ВременаяВыручка.Номенклатура = Выпуск.АналитикаУчетаНоменклатуры.Номенклатура | И ВременаяВыручка.Серия = Выпуск.АналитикаУчетаНоменклатуры.Серия | ЛЕВОЕ СОЕДИНЕНИЕ ВременаяВыручкаОбщая КАК ВременаяВыручкаОбщая | ПО ВременаяВыручка.Организация = ВременаяВыручкаОбщая.Организация | И ВременаяВыручка.Номенклатура = ВременаяВыручкаОбщая.Номенклатура"; |
|||
11
VoditelKobyly
27.05.22
✎
12:28
|
(9) по условию задачи нужно получить данные из запроса.
Ответ в (7). С одного запроса приходит одна запись , со второго остальные. |
|||
12
first_may
27.05.22
✎
12:35
|
(11)
2. Вместо соединения в запросе делать соединения в наборах данных. Тогда суммирование нормально отработают (в Хрусталёвой по СКД там вроде целая подглавка была про это дело). получается мой запрос разбить на наборы данных ВременаяВыручка ВременнаяИтог РегистрНакопления.ВыпускПродукции ВременаяВыручкаОбщая и делать в скж на вкладвке Связи наборов данных ? |
|||
13
VoditelKobyly
27.05.22
✎
12:38
|
(12) Если это приемлемо, то Да.
В зависимости от ресурсов, можно отделить часть запроса. |
|||
14
DimVad
27.05.22
✎
12:42
|
(11) Я не спорю. Так идти можно. Но только в строчке где выпуск 42 там сумма выручки 4 миллиона. А где 142 - там 0.
Если завтра понадобится добавить вычисляемые поля - всё накроется медным тазом :-) Я бы посмотрел не устроят ли меня "максимумы" вместо "суммы" по отдельным столбцам, а если нет - делал бы так, как прописано у Хрусталёвой. А вообще в СКД можно задавать весьма интересные алгоритмы суммирования по столбцам. Там есть функции интересные всякие в стиле "берём максимум по такой группировке и сумма по такой...". Там целая песня. А разделение на наборы данных с другой стороны позволяют разорвать запрос на части и упрощать его. Короче, [s]повор[/s] программист сам выбирает рецепт. Много их. |
|||
15
first_may
27.05.22
✎
12:48
|
Я пробовал вот так https://disk.yandex.ru/i/6Hi3CT5TVieG_w
но результат иногда правильный, а иногда нет |
|||
16
DimVad
27.05.22
✎
12:53
|
(15) Я так с ходу не скажу. Но вот попробуйте сделать копию своего отчета и там запрос разорвите на два источника данных. Вы увидите как чудно просто СКД поймёт где надо суммировать а где - нет :-)
|
|||
17
first_may
30.05.22
✎
11:56
|
Спасибо всем..
Сделал как советовали 2. Вместо соединения в запросе делать соединения в наборах данных. Тогда суммирование нормально отработают (в Хрусталёвой по СКД там вроде целая подглавка была про это дело). Даже запросы не трогал, просто сделал два набора с одним запросом, а связал на второй закладке СКД СПАСИБО ВСЕМ! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |