Вход | Регистрация


1С:Предприятие ::

Метки: 

Отчет в СКД

Я
   laby1
 
18.04.17 - 09:15
Здравствуйте!

Хочу отчет сделать... Такого плана. Упрощеннно так:

Шапка:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Номенклатура | ДокументПлан | Сумма по плану | Документ заказ | Сумма по документу | Документ поступления | Сумма поступления
-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Для одного плана может быть несколько заказов, для одного заказа несколько поступлений. Но проблема в том, что тогда несколько одинаковых строчек получается по плану. И что самое страшное сумма в итогах суммируется. То есть имею такую картину:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Номенклатура | ДокументПлан | Сумма по плану | Документ заказ | Сумма по документу | Документ поступления | Сумма поступления
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Бачок №1      | План №1         |                 5000 | Заказ №1         |                      2500   | Поступление №1         |                      1100
Бачок №1      | План №1         |                 5000 | Заказ №1         |                      2500   | Поступление №2         |                      1200
Бачок №1      | План №1         |                 5000 | Заказ №2         |                      3000   | Поступление №3         |                      1300
Бачок №1      | План №1         |                 5000 | Заказ №2         |                      3000   | Поступление №4         |                      1400
Итого:                                                      20000                                                  11000                                                              5000

А хотелось бы эту картину:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Номенклатура | ДокументПлан | Сумма по плану | Документ заказ | Сумма по документу | Документ поступления | Сумма поступления
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Бачок №1      | План №1         |                 5000 | Заказ №1         |                      2500   | Поступление №1         |                      1100
                     |                        |                         |                         |                                | Поступление №2         |                      1200
                     |                        |                         | Заказ №2         |                      3000   | Поступление №3         |                      1300
                     |                        |                         |                         |                                | Поступление №4         |                      1400
Итого:                                                        5000                                                  5500                                                                5000
 
 
   Одинесю
 
1 - 18.04.17 - 09:27
Автобиография?
   laby1
 
2 - 18.04.17 - 09:35
(1) да
   laby1
 
3 - 18.04.17 - 09:47
Что, такое не делается в СКД?
   DrShad
 
4 - 18.04.17 - 09:50
(3) делается
   laby1
 
5 - 18.04.17 - 09:51
(4) Хоть куда копать подскажите.
   1Садовник
 
6 - 18.04.17 - 09:52
Посмотри: на вкладке "Другие настройки", настройка "Расположение полей группировок".
   laby1
 
7 - 18.04.17 - 09:54
(6) посмотрел ...
   Strogg
 
8 - 18.04.17 - 09:56
1) определить структуру группировок.
2) в ресурсах, по требуемым группировкам выбирать сумму, а по не требуемым - значение. Что то типа: Выбор когда [ненужнаяДляСуммирвоанияГруппировка] тогда [Значение] иначе [СуммаЗначение]
3) так же, можно в пользовательских полях прописать значение по уровню. Тоже Выбор когда уровень > твоего уровня группировки тогда сумма, иначе 0
   laby1
 
9 - 18.04.17 - 10:09
(8) непонятно ...
   Dotoshin
 
10 - 18.04.17 - 10:12
 
 
   laby1
 
11 - 18.04.17 - 10:25
(10) Сомневаюсь, что там это рассказывается, но щас изучу ...
   DrShad
 
12 - 18.04.17 - 10:27
(11) там более 100 видеоуроков - приятного просмотра
   laby1
 
13 - 18.04.17 - 10:29
(12) 110 уроков отовсюду вырезали - оставили только 51
   laby1
 
14 - 19.04.17 - 10:15
(10) Занимательно, но бесполезно - ничего там нет по моей задаче ...
   laby1
 
15 - 19.04.17 - 11:16
вот сделал ресурсы
 количество и сумма 
  по номенклатуре - Максимум,
  остальное - сумма.

Топливо (10.3)            807 155,172        22 455 790,90
Бензин А-80 (л)            10        219,90
Бензин А-80 (л)        л    10,000    21,99    219,90
Бензин Аи-92 (л)            12 324        373 293,96
Бензин Аи-92 (л)        л    12 324,000    30,29    373 293,96
Дизтопливо (л)            198 651,293        5 518 532,92
Дизтопливо (л)        л    198 651,293    27,78    5 518 532,92
Дизтопливо (л)        л    198 651,293    27,78    5 518 532,92
Дизтопливо (л)        л    198 651,293    27,78    5 518 532,92
Дизтопливо (л)        л    198 651,293    27,78    5 518 532,92
Керосин (л)            216        8 145,36
Керосин (л)        л    216,000    37,71    8 145,36

Теперь по номенклатуре выводит не сумму, а вот как бы сделать, чтоб на выше уровнях группировок суммировала не по детальным записям, а по агрегатным группировок
   DrShad
 
16 - 19.04.17 - 11:18
вычисляемые поля + ВычислитьВыражениеСГруппировкой...
   laby1
 
17 - 19.04.17 - 11:19
то есть в Топливо кол-во 
Топливо (10.3)            807 155,172
она суммирует
198 651,293 4 раза, а надо один.
   laby1
 
18 - 19.04.17 - 11:20
(16) А как мне для группировки вычисляемое поле сделать?
   DrShad
 
19 - 19.04.17 - 11:22
для начала запрос покажи
   laby1
 
20 - 19.04.17 - 11:23
ВЫБРАТЬ
    ПланЗакупокСоставПлана.Номенклатура КАК Номенклатура,
    ВЫБОР
        КОГДА ЕСТЬNULL(ЗаказПоставщикуТовары.Номенклатура, ПланЗакупокСоставПлана.Номенклатура) <> ПланЗакупокСоставПлана.Номенклатура
            ТОГДА ЗаказПоставщикуТовары.Номенклатура
    КОНЕЦ КАК НоменклатураПоЗаказу,
    ПланЗакупокСоставПлана.ЕдиницаИзмерения,
    ПланЗакупокСоставПлана.Количество,
    ПланЗакупокСоставПлана.Цена,
    ПланЗакупокСоставПлана.Сумма,
    ПланЗакупокСоставПлана.СуммаНДС,
    ЗаказПоставщикуТовары.Ссылка КАК Заказ,
    ПланЗакупокСоставПлана.Контрагент,
    ПланЗакупокСоставПлана.Договор,
    ПланЗакупокСоставПлана.Номенклатура.Родитель КАК НоменклатураРодитель,
    ЗаказПоставщикуТовары.Количество КАК Количество1,
    ЗаказПоставщикуТовары.Цена КАК Цена1,
    ЗаказПоставщикуТовары.Сумма КАК Сумма1,
    ЗаказПоставщикуТовары.СуммаНДС КАК СуммаНДС1,
    ЗаказПоставщикуТовары.Ссылка.ДоговорКонтрагента КАК Договор1,
    ЗаказПоставщикуТовары.Ссылка.Контрагент КАК Поставщик,
    ЗаказПоставщикуТовары.Ссылка.ДатаОплаты КАК Оплата,
    ПлатежноеПоручениеИсходящееРасшифровка.Ссылка КАК Платежка,
    ПланЗакупокСоставПлана.Ссылка КАК ПланЗакупок,
    ПоступлениеТоваровУслугТовары.Ссылка КАК Поступление,
    ПоступлениеТоваровУслугТовары.Количество КАК Количество2,
    ПоступлениеТоваровУслугТовары.Цена КАК Цена2,
    ПоступлениеТоваровУслугТовары.Сумма КАК Сумма2,
    ПоступлениеТоваровУслугТовары.СуммаНДС КАК СуммаНДС2,
    СостояниеДоговора.Значение КАК СостояниеДоговора,
    СрокПоставкиДоговора.Значение КАК СрокПоставкиДоговора,
    УсловияОплаты.Значение КАК УсловияОплаты,
    УсловияПоставки.Значение КАК УсловияПоставки,
    Толеранс.Значение КАК Толеранс,
    ПланЗакупокСоставПлана.Номенклатура.ОтветственныйМенеджерЗаПокупки
ИЗ
    Документ.ПланЗакупок.СоставПлана КАК ПланЗакупокСоставПлана
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеИсходящееРасшифровка
            ПО ЗаказПоставщикуТовары.Ссылка = ПлатежноеПоручениеИсходящееРасшифровка.Сделка И ПлатежноеПоручениеИсходящееРасшифровка.Ссылка.Проведен
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
            ПО ЗаказПоставщикуТовары.Ссылка = ПоступлениеТоваровУслугТовары.Ссылка.Сделка
                И ЗаказПоставщикуТовары.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК СостояниеДоговора
            ПО ЗаказПоставщикуТовары.Ссылка.ДоговорКонтрагента = СостояниеДоговора.Объект
                И (СостояниеДоговора.Свойство.Наименование = "Состояние")
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК СрокПоставкиДоговора
            ПО ЗаказПоставщикуТовары.Ссылка.ДоговорКонтрагента = СрокПоставкиДоговора.Объект
                И (СрокПоставкиДоговора.Свойство.Наименование = "Срок поставки")
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК УсловияОплаты
            ПО ЗаказПоставщикуТовары.Ссылка.ДоговорКонтрагента = УсловияОплаты.Объект
                И (УсловияОплаты.Свойство.Наименование = "Условия оплаты")
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК УсловияПоставки
            ПО ЗаказПоставщикуТовары.Ссылка.ДоговорКонтрагента = УсловияПоставки.Объект
                И (УсловияПоставки.Свойство.Наименование = "Условия поставки")
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Толеранс
            ПО ЗаказПоставщикуТовары.Ссылка.ДоговорКонтрагента = Толеранс.Объект
                И (Толеранс.Свойство.Наименование = "Толеранс")
        ПО ПланЗакупокСоставПлана.Ссылка = ЗаказПоставщикуТовары.Заказ
            И (ПланЗакупокСоставПлана.Номенклатура = ЗаказПоставщикуТовары.НоменклатураПоПлануЗакупок
                ИЛИ ПланЗакупокСоставПлана.Номенклатура = ЗаказПоставщикуТовары.Номенклатура)
ГДЕ
    ПланЗакупокСоставПлана.Ссылка = &ПланЗакупок

УПОРЯДОЧИТЬ ПО
    ПланЗакупокСоставПлана.Номенклатура.Родитель.Наименование,
    ПланЗакупокСоставПлана.Номенклатура.Наименование
   DrShad
 
21 - 19.04.17 - 11:28
почему!? почему запросы к документам, а не к регистрам!?
   DrShad
 
22 - 19.04.17 - 11:31
и зачем в СКД столько полей в выборке!?
   Dotoshin
 
23 - 19.04.17 - 11:32
(20) А теперь расскажи простыми русскими словами, что должен делать этот запрос?
   laby1
 
24 - 19.04.17 - 11:41
(21) Ну вот написал к документам. А что если по регистрам - решу свои проблемы?
   DrShad
 
25 - 19.04.17 - 11:42
(24) по крайней мере карму почистишь
   laby1
 
26 - 19.04.17 - 11:42
(22) (23) Анализ плана закупок - сколько заказали - сколько купили, по каким ценам
   laby1
 
27 - 19.04.17 - 11:44
(25) да, не по фен-шую. Н у а зачем, если данных то немного - анализируется один документ и связанные с ним
   DrShad
 
28 - 19.04.17 - 11:45
(27) ну я тогда пас ибо в таком зоопарке соединений влом разбираться
   laby1
 
29 - 19.04.17 - 11:46
или что - сделать один регистр накопления в котором данные как раз для отчета будут собираться
   DrShad
 
30 - 19.04.17 - 11:47
(29) что за конфа?
   laby1
 
31 - 19.04.17 - 11:50
(28) Да суть то не в запросе, а в том как данные типа (0) представить в отчете СКД. Хорошо, сделаю упрощенный запрос, чтоб только суть проблемы выразить, через часок другой выложу.
   laby1
 
32 - 19.04.17 - 11:51
(30) УПП. но для этого отчета связаны документы уже мноюписанно
   DrShad
 
33 - 19.04.17 - 11:51
(31) чтобы представить в СКД такой зоопарк!? СКД многое сама умеет и не нужно ей в основной набор тащить все подряд
 
 
   DrShad
 
34 - 19.04.17 - 11:53
ну вот и используй РН ПланЗакупок + РН ЗаказыПоставщикам и не надо никаких связей документов
   laby1
 
35 - 19.04.17 - 11:54
(33) Наверное, но я еще до этого не дошёл. Наши экономисты хотят портянку, как они делают в экселе ...
   DrShad
 
36 - 19.04.17 - 11:55
(35) так и рисуй ее в настройках структуры, а не в наборе данных
   laby1
 
37 - 19.04.17 - 11:56
(34) они хотят видеть платежку, условия договора, поступление...
   DrShad
 
38 - 19.04.17 - 11:57
(37) и в чем проблема?
   laby1
 
39 - 19.04.17 - 11:58
(36) а откуда данные брать - через регистраторы этих РН?
   laby1
 
40 - 19.04.17 - 11:58
(38) плохо пока представляю
   laby1
 
41 - 19.04.17 - 11:59
и всё ж не понимаю, как РН помогут мне в решении проблемы суммирования ...
   DrShad
 
42 - 19.04.17 - 12:11
доверься старшим
   laby1
 
43 - 19.04.17 - 13:37
То есть мне теперь надо в РН ЗаказыПоставщикам добавлять реквизиты для связи с РН планыЗакупок?
   laby1
 
44 - 19.04.17 - 13:41
или измерения ... ?
   laby1
 
45 - 19.04.17 - 13:42
это план закупок сам (ПЗ) и НоменклатураПланаЗакупок, потому как могут купить не ту номенклатуру, что в ПЗ
   DrShad
 
46 - 19.04.17 - 14:04
не нужно ничего менять, кроме методики, а именно ЗК нужно размещать в ЗП
   laby1
 
47 - 19.04.17 - 14:23
(46) ЧТО??? Какой ЗК??? В КАКОМ ЗП????????????????
   laby1
 
48 - 19.04.17 - 14:44
ладно - молчите ... добавляю в РН ЗаказаПоставщикам измерения ПЗ и НоменклатураПЗ, при проведении ЗП пишу туда их, при проведении поступления ищу ПЗ в ЗП и также пишу туда
   laby1
 
49 - 03.05.17 - 11:36
Переделал на регистры - ничего это не меняет ...

ВЫБРАТЬ
    ПланыЗакупокОбороты.ДокументПланирования,
    ПланыЗакупокОбороты.Номенклатура.Родитель КАК НоменклатураРодитель,
    ПланыЗакупокОбороты.Номенклатура КАК Номенклатура,
    ПланыЗакупокОбороты.КоличествоОборот КАК КоличествоПоПлануЗакупок,
    ЗаказыПоставщикамОбороты.ЗаказПоставщику,
    ЗаказыПоставщикамОбороты.КоличествоПриход КАК КоличествоПоЗаказуПоставщику,
    ЗаказыПоставщикамОбороты.КоличествоРасход КАК КоличествоПоПоступлению,
    ПланыЗакупокОбороты.СтоимостьОборот,
    ЗаказыПоставщикамОбороты.ЗаказПоставщику КАК ЗаказПоставщику1,
    ЗаказыПоставщикамОбороты.ПланЗакупок
ИЗ
    РегистрНакопления.ПланыЗакупок.Обороты(, , Авто, ) КАК ПланыЗакупокОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПоставщикам.Обороты(, , Авто, ) КАК ЗаказыПоставщикамОбороты
        ПО ПланыЗакупокОбороты.ДокументПланирования = ЗаказыПоставщикамОбороты.ПланЗакупок
            И ПланыЗакупокОбороты.Номенклатура = ЗаказыПоставщикамОбороты.НоменклатураПоПлануЗакупок
ГДЕ
    ПланыЗакупокОбороты.ДокументПланирования = &ДокументПланирования


Суммирует всё подряд:


Топливо (10.3)        1 005 806,465    139 877,900    
Бензин А-80 (л)        10,000        
Бензин Аи-92 (л)        12 324,000        
Дизтопливо (л)    Заказ поставщику 00000000566 от 05.04.2017 17:14:17    198 651,293    28 750,000    
Дизтопливо (л)    Заказ поставщику 00000000657 от 18.04.2017 9:24:53    198 651,293    25 110,000    
Дизтопливо (л)    Заказ поставщику 00000000651 от 14.04.2017 20:12:50    198 651,293    29 761,900    
Дизтопливо (л)    Заказ поставщику 00000000652 от 12.04.2017 17:20:07    198 651,293    28 128,000    
Дизтопливо (л)    Заказ поставщику 00000000595 от 10.04.2017 12:38:12    198 651,293    28 128,000
 
  Рекламное место пустует
   PiotrLoginov
 
50 - 03.05.17 - 11:43
(32) да как же можно в УПП самому документы "уже мноюписанно" при таком уровне квалификации? Отвечать не надо.
   DrShad
 
51 - 03.05.17 - 11:58
(49) во-первых условие по документу планирования в параметры таблицы, а не на итоговую выборку
во-вторых что с вычисляемыми полями?
   LordCMEPTb
 
52 - 03.05.17 - 12:03
Еще не было предложения вынести запрос по плану в один набор данных, запрос по документу в другой, а запрос по оплате в третий, а затем соединить эти наборы или объединить (зависит от конечной цели)?
   DrShad
 
53 - 03.05.17 - 12:05
(52) нет тут никакой оплаты )))
   laby1
 
54 - 03.05.17 - 12:30
В общем дельных соображений нету как всегда :(
   DrShad
 
55 - 03.05.17 - 12:35
(54) если вы не поняли ответа - это не означает, что вам его не дали
   DrShad
 
56 - 03.05.17 - 12:36
видео уроки то просмотрел хоть?
   laby1
 
57 - 03.05.17 - 12:37
(56) Да, там бред всё не по теме
   laby1
 
58 - 03.05.17 - 12:38
(52) не было. Конечная цель в (0)
   laby1
 
59 - 03.05.17 - 12:40
(53) Да, в (49) нет. Упростил пример. Потом добавлю. Пока бы разобраться как в принципе сделать. В (15) есть.
   laby1
 
60 - 03.05.17 - 12:40
(51) понял. С выч полями пока ничего, а что надо с ними?
   laby1
 
61 - 03.05.17 - 12:42
(50) Конечно писано ибо ЗП не были связаны с ПЗ
   Franchiser
 
62 - 03.05.17 - 12:46
Самое простое: делай не 1-м запросом а 2-мя наборами.
Или разбирайся с формулами ресурсов.
   vicof
 
63 - 03.05.17 - 12:48
Прострелить коленку уже предлагали?
   laby1
 
64 - 03.05.17 - 13:04
(62) Что это даст?
   ejikbeznojek
 
65 - 03.05.17 - 13:05
(62) +
Я обычно так и делаю, чтобы итоги не суммировались
   laby1
 
66 - 03.05.17 - 13:06
(65) Что именно. "не 1-м запросом а 2-мя наборами" ?
   laby1
 
67 - 03.05.17 - 13:10
(65) (62) (52) Попробую раскидать на разные запросы, что будет посмотрим ...
   Franchiser
 
68 - 03.05.17 - 13:14
(66) при соединении наборами дубликаты сумм не будут учитываться в итогах по ресурсу,  отпадает необходимость писать формулы по суммированию максимумов на разных уровнях группировок.
   laby1
 
69 - 03.05.17 - 13:33
(65) (62) (52) (68) Страннннно ... Разбил на 2 запросааааа аааааа и заработала. Блин 3 недели мучался ...
   laby1
 
70 - 03.05.17 - 13:35
Спасибо :-) Но не пойму механизма - почему так ...
   laby1
 
71 - 03.05.17 - 13:37
(68) в том то и дело, что формулы на разных уровнях группировок. А тут и не надо делать группировок!!!
   Franchiser
 
72 - 03.05.17 - 14:45
(71) Чтобы было правильно нужно использовать агрегат ВычислитьВыражениеСГруппировокойМассив() на некоторых уровнях
   Franchiser
 
73 - 03.05.17 - 14:46
(70) посмотри видеоуроки, там есть про особенность расчета итогов при соединении нескольких наборов данных.
   laby1
 
74 - 03.05.17 - 15:10
(73) Теперь уж пересмотрю, после мучений должно дойти :)



Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует