1. Уважаемые участники и гости, 19 октября codeby будет работать в режиме "Только чтение". Регистрация новых участников будет закрыта. 20 октября портал продолжит работу в прежнем режиме.

Вычисление значения в запросе #2

Тема в разделе "1C и всё что с ней связано", создана пользователем Skellar, 26 сен 2011.

  1. Skellar

    Skellar Well-Known Member

    Репутация:
    0
    Регистрация:
    22 июл 2008
    Сообщения:
    87
    Симпатии:
    0
    Еще один вопрос из цикла занимательных отчетов. Есть у меня в отчете (скрин приложен) ВАЛОВАЯ ПРИБЫЛЬ, которая для каждого элемента вычисляется как Выручка от реализации(значение по счетуКт 90.01) - Себестоимость товара(значение по СчетуДт 90.02). Еще есть ОБЩИЕ ХОЗ РАСЧЕТЫ(Оборот по счетуДТ 90.08).
    Подскажите, как можно сделать разность поэлементно Валовой прибыли и итога за месяц Общих хоз расчетов ? Реализовать все надо в скд, вот код запроса:

    Код:
    ВЫБРАТЬ
    ХозрасчетныйОбороты.Субконто1 КАК Показатель,
    ХозрасчетныйОбороты.Период КАК Период,
    "1 Выручка от реализации товаров" КАК Раздел,
    ЕСТЬNULL(ХозрасчетныйОбороты.СуммаОборотКт, 0) КАК Сумма
    ПОМЕСТИТЬ Сч9001
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(, , Месяц, Счет.Ссылка В ИЕРАРХИИ (&Счет9001), , , , ) КАК ХозрасчетныйОбороты
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ХозрасчетныйОбороты.Субконто1 КАК Показатель,
    ХозрасчетныйОбороты.Период,
    "2 Себестоимость товаров" КАК Раздел,
    ЕСТЬNULL(ХозрасчетныйОбороты.СуммаОборотДт, 0) КАК Сумма
    ПОМЕСТИТЬ Сч9002
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(, , Месяц, Счет.Ссылка В ИЕРАРХИИ (&Счет9002), , , , ) КАК ХозрасчетныйОбороты
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ХозрасчетныйОбороты.СуммаОборотДт КАК Сумма,
    ХозрасчетныйОбороты.Период,
    ХозрасчетныйОбороты.КорСубконто1 КАК Показатель,
    "4 Общие хозяйственные расходы" КАК Раздел
    ПОМЕСТИТЬ Сч9008
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(, , Месяц, Счет.Ссылка В ИЕРАРХИИ (&Счет9008), , , КорСчет.Ссылка = &Счет26, ) КАК ХозрасчетныйОбороты
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    Сч9001.Показатель,
    Сч9001.Период,
    Сч9001.Раздел,
    ЕСТЬNULL(Сч9001.Сумма, 0) КАК Сумма
    ИЗ
    Сч9001 КАК Сч9001
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
    Сч9002.Показатель,
    Сч9002.Период,
    Сч9002.Раздел,
    ЕСТЬNULL(Сч9002.Сумма, 0)
    ИЗ
    Сч9002 КАК Сч9002
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
    Сч9008.Показатель,
    Сч9008.Период,
    Сч9008.Раздел,
    ЕСТЬNULL(Сч9008.Сумма, 0)
    ИЗ
    Сч9008 КАК Сч9008
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
    ВложенныйЗапрос.Показатель,
    ВложенныйЗапрос.Период,
    "3 Валовая прибыль",
    ВложенныйЗапрос.Сумма
    ИЗ
    (ВЫБРАТЬ
    Сч9001.Показатель КАК Показатель,
    Сч9001.Период КАК Период,
    Сч9001.Раздел КАК Раздел,
    ЕСТЬNULL(Сч9001.Сумма, 0) КАК Сумма
    ИЗ
    Сч9001 КАК Сч9001
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
    Сч9002.Показатель,
    Сч9002.Период,
    Сч9002.Раздел,
    ЕСТЬNULL(-Сч9002.Сумма, 0)
    ИЗ
    Сч9002 КАК Сч9002) КАК ВложенныйЗапрос
     

    Вложения:

    • Вычисление значения в запросе #2
      _____3.JPG
      Размер файла:
      123,2 КБ
      Просмотров:
      44
  2. User1C

    User1C Гость

    Репутация:
    0
    Сделай еще 1 подзапрос, получай итоги Общих хоз расчетов, обзави как ВложеныйЗапрос1.Сумма1, потом отнимаешь ВложеныйЗапрос.Сумма - ВложеныйЗапрос1.Сумма1.

    Наверное так:

    Код:
    ВЫБРАТЬ
    ВложенныйЗапрос.Показатель,
    ВложенныйЗапрос.Период,
    "3 Валовая прибыль",
    ВложенныйЗапрос.Сумма - ВложенныйЗапрос1.Сумма1
    ИЗ
    (ВЫБРАТЬ
    Сч9001.Показатель КАК Показатель,
    Сч9001.Период КАК Период,
    Сч9001.Раздел КАК Раздел,
    ЕСТЬNULL(Сч9001.Сумма, 0) КАК Сумма
    ИЗ
    Сч9001 КАК Сч9001
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
    Сч9002.Показатель,
    Сч9002.Период,
    Сч9002.Раздел,
    ЕСТЬNULL(-Сч9002.Сумма, 0)
    ИЗ
    Сч9002 КАК Сч9002) КАК ВложенныйЗапрос
    
    (ВЫБРАТЬ
    ХозрасчетныйОбороты.СуммаОборотДт КАК Сумма1
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(, , Месяц, Счет.Ссылка В ИЕРАРХИИ (&Счет9008), , , КорСчет.Ссылка = &Счет26, ) КАК	 ХозрасчетныйОбороты) КАК ВложенныйЗапрос1

    Либо придется сделать еще 1-ну промежуточную виртуальную таблицу с итогами, потом отнимать от каждого элемента показателя Валовой прибыли.
     
  3. Skellar

    Skellar Well-Known Member

    Репутация:
    0
    Регистрация:
    22 июл 2008
    Сообщения:
    87
    Симпатии:
    0
    Собственно делал через вложенные запросы, вот так :
    Код:
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
    ВП.Показатель,
    ВП.Период,
    "Блин",
    ВП.Сумма
    ИЗ
    Сч9001 КАК Сч9001, Сч9002 КАК сч9002 ,
    (ВЫБРАТЬ
    ВаловаяПрибыль.Показатель КАК Показатель,
    ВаловаяПрибыль.Период КАК Период,
    ВаловаяПрибыль.Раздел КАК Раздел,
    ВаловаяПрибыль.Сумма КАК Сумма
    ИЗ
    ВаловаяПрибыль КАК ВаловаяПрибыль) КАК ВП
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    Сч9008.Период КАК Период,
    Сч9008.Сумма КАК Сумма
    ИЗ
    Сч9008 КАК Сч9008) КАК ОХР
    ПО ВП.Период = ОХР.Период
    
    СГРУППИРОВАТЬ ПО
    ВП.Показатель,
    ВП.Период,
    ВП.Сумма
    Только тут такая проблема, если не делать группировку по ВП.Сумма - ее значение становится больше в несколько раз. А значение ОХР.Сумма постоянно в несколько раз больше ожидаемого. Не понимаю, из-за чего.
     
  4. Skellar

    Skellar Well-Known Member

    Репутация:
    0
    Регистрация:
    22 июл 2008
    Сообщения:
    87
    Симпатии:
    0
    Даже так, если выводить СРЕДНЕЕ(ОХР.Сумма), результат среднего удваивается для тех номенклатур, которые присутствуют в обеих изначальных таблицах: ВЫРУЧКА и СЕБЕСТОИМОСТЬ. Наверное профит будет,если сделать условие на проверку этой задваимости. Только вот как его сделать? ;)
     
  5. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Все не читал, но рискну предположить, что агрегатная функция МАКСИМУМ( вас должна спасти.
     
  6. Skellar

    Skellar Well-Known Member

    Репутация:
    0
    Регистрация:
    22 июл 2008
    Сообщения:
    87
    Симпатии:
    0
    Собственно МАКСИМУМ не спасла, самый каверзный вопрос в теме выше отдельно поднят.
     
  7. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Ну нереально много длинных постов.
     
Загрузка...
Похожие Темы - Вычисление значения запросе
  1. 22608
    Ответов:
    6
    Просмотров:
    378
  2. Tipo4ek
    Ответов:
    1
    Просмотров:
    1.336
  3. Extrem
    Ответов:
    4
    Просмотров:
    1.349
  4. ballack
    Ответов:
    0
    Просмотров:
    1.202
  5. Gelergo
    Ответов:
    1
    Просмотров:
    1.862

Поделиться этой страницей