8.х отчет анализа цен за период

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Raideres, 9 ноя 2016.

  1. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
    Здавствуйте!
    Подскажите пожалуйста, есть ли отчет анализа цен за период а не на дату

    Вложения:

  2. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
  3. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
  4. ste4kin48455
    Offline

    ste4kin48455 Опытный в 1С

    Регистрация:
    15 дек 2014
    Сообщения:
    63
    Симпатии:
    1
    Баллы:
    29
    1. для какой конфы анализЦен.erf?
    2. при чем тут этот отчет?
    3. в какой конфе нужен анализ цен за период?
  5. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
    1.упп или торговля
    2.это стандартный
    3.упп
  6. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
    ап выручайте очень нужен
  7. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
        ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
        ЦеныНоменклатуры.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        NULL КАК Контрагент,
        ЦеныНоменклатуры.ТипЦен КАК ТипЦен,
        КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ) КАК ПериодЦен,
        ВЫБОР
            КОГДА ЦеныНоменклатуры.ЕдиницаИзмерения = &ПустаяЕдиницаИзмерения
                ТОГДА ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность / &КурсВалютыОтчета
            ИНАЧЕ ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент / &КурсВалютыОтчета
        КОНЕЦ КАК Цена,
        0 КАК ПроцентОтклоненияОтЦеныКомпании
    {ВЫБРАТЬ
        ЦеныНоменклатуры.Номенклатура.* КАК Номенклатура,
        ЦеныНоменклатуры.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
        ЦеныНоменклатуры.ТипЦен.* КАК ТипЦен,
        (КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ)) КАК ПериодЦен,
        (0) КАК ПроцентОтклоненияОтЦеныКомпании}
    ИЗ
        РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, ) КАК ЦеныНоменклатуры
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОтчета, ) КАК КурсыВалютСрезПоследних
            ПО ЦеныНоменклатуры.Валюта = КурсыВалютСрезПоследних.Валюта
    {ГДЕ
        ЦеныНоменклатуры.Номенклатура.* КАК Номенклатура,
        ЦеныНоменклатуры.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
        ЦеныНоменклатуры.ТипЦен.* КАК ТипЦен,
        (КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ)) КАК ПериодЦен}
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ЦеныНоменклатуры.Номенклатура,
        ЦеныНоменклатуры.ХарактеристикаНоменклатуры,
        ЦеныНоменклатуры.ТипЦен.Владелец,
        ЦеныНоменклатуры.ТипЦен.ТипЦеныНоменклатуры,
        КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ),
        ВЫБОР
            КОГДА ЦеныНоменклатуры.ЕдиницаИзмерения = &ПустаяЕдиницаИзмерения
                ТОГДА ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность / &КурсВалютыОтчета
            ИНАЧЕ ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент / &КурсВалютыОтчета
        КОНЕЦ,
        ВЫБОР
            КОГДА РублевыеЦеныКомпании.РублеваяЦена ЕСТЬ НЕ NULL
                    И РублевыеЦеныКомпании.РублеваяЦена <> 0
                ТОГДА ВЫБОР
                        КОГДА ЦеныНоменклатуры.ЕдиницаИзмерения = &ПустаяЕдиницаИзмерения
                            ТОГДА 100 * (-РублевыеЦеныКомпании.РублеваяЦена + ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / РублевыеЦеныКомпании.РублеваяЦена
                        ИНАЧЕ 100 * (-РублевыеЦеныКомпании.РублеваяЦена + ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) / РублевыеЦеныКомпании.РублеваяЦена
                    КОНЕЦ
            ИНАЧЕ 0
        КОНЕЦ
    {ВЫБРАТЬ
        (ЦеныНоменклатуры.Номенклатура).* КАК Номенклатура,
        (ЦеныНоменклатуры.ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры,
        (ЦеныНоменклатуры.ТипЦен.Владелец).* КАК Контрагент,
        (ЦеныНоменклатуры.ТипЦен.ТипЦеныНоменклатуры).* КАК ТипЦен,
        (КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ)) КАК ПериодЦен}
    ИЗ
        РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(&ДатаОтчета, ) КАК ЦеныНоменклатуры
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОтчета, ) КАК КурсыВалютСрезПоследних
            ПО ЦеныНоменклатуры.Валюта = КурсыВалютСрезПоследних.Валюта
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                ВЫБОР
                    КОГДА ЦеныКомпании1.ЕдиницаИзмерения = &ПустаяЕдиницаИзмерения
                        ТОГДА ЦеныКомпании1.Цена * КурсыВалютДляЦенКомпании.Курс / КурсыВалютДляЦенКомпании.Кратность
                    ИНАЧЕ ЦеныКомпании1.Цена / ЦеныКомпании1.ЕдиницаИзмерения.Коэффициент * КурсыВалютДляЦенКомпании.Курс / КурсыВалютДляЦенКомпании.Кратность
                КОНЕЦ КАК РублеваяЦена,
                ЦеныКомпании1.Номенклатура КАК Номенклатура,
                ЦеныКомпании1.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                ЦеныКомпании1.ТипЦен КАК ТипЦен
            ИЗ
                РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, ) КАК ЦеныКомпании1
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОтчета, ) КАК КурсыВалютДляЦенКомпании
                    ПО ЦеныКомпании1.Валюта = КурсыВалютДляЦенКомпании.Валюта) КАК РублевыеЦеныКомпании
            ПО (РублевыеЦеныКомпании.Номенклатура = ЦеныНоменклатуры.Номенклатура)
                И (РублевыеЦеныКомпании.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры)
                И ЦеныНоменклатуры.ТипЦен.ТипЦеныНоменклатуры = РублевыеЦеныКомпании.ТипЦен
    {ГДЕ
        ЦеныНоменклатуры.Номенклатура.* КАК Номенклатура,
        ЦеныНоменклатуры.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
        ЦеныНоменклатуры.ТипЦен.Владелец.* КАК Контрагент,
        ЦеныНоменклатуры.ТипЦен.ТипЦеныНоменклатуры.* КАК ТипЦен,
        (КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ)) КАК ПериодЦен,
        (ВЫБОР
                КОГДА РублевыеЦеныКомпании.РублеваяЦена ЕСТЬ НЕ NULL
                        И РублевыеЦеныКомпании.РублеваяЦена <> 0
                    ТОГДА ВЫБОР
                            КОГДА ЦеныНоменклатуры.ЕдиницаИзмерения = &ПустаяЕдиницаИзмерения
                                ТОГДА 100 * (-РублевыеЦеныКомпании.РублеваяЦена + ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / РублевыеЦеныКомпании.РублеваяЦена
                            ИНАЧЕ 100 * (-РублевыеЦеныКомпании.РублеваяЦена + ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) / РублевыеЦеныКомпании.РублеваяЦена
                        КОНЕЦ
                ИНАЧЕ NULL
            КОНЕЦ) КАК ПроцентОтклоненияОтЦеныКомпании}
    {УПОРЯДОЧИТЬ ПО
        Номенклатура.* КАК Номенклатура,
        ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
        Контрагент КАК Контрагент,
        ТипЦен.* КАК ТипЦен}
    ИТОГИ
        СРЕДНЕЕ(Цена),
        СРЕДНЕЕ(ПроцентОтклоненияОтЦеныКомпании)
    ПО
        ОБЩИЕ
    {ИТОГИ ПО
        Номенклатура.* КАК Номенклатура,
        ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
        Контрагент КАК Контрагент,
        ТипЦен.* КАК ТипЦен,
        ПериодЦен КАК ПериодЦен}
  8. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    828
    Симпатии:
    90
    Баллы:
    54
    Хватит спамить... Если дошли до запроса, то в скд при выборе откуда и что брать - чуть выше среднего столбца есть "шестеренки" там для нужного регистра выбрать период месяц ну или в самом запросе...
    КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ) КАК ПериодЦен
    Правда как будет работать - это вопрос.. - конфу не знаю и посмотреть отчет нет возможности..
  9. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
    мне надо указать с Дата 1 по Дата 2 а тут получается на дату.. как задать периодом.. не знаю как это сделать
    ут 10.3 или упп анализ цен или анализ цен поставщика


    и еще раз прошу прощение за флуд
  10. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    828
    Симпатии:
    90
    Баллы:
    54
    &Период - ставим в СКД.. ну или в запросе
    И опять таки - за результат и адекватность полученных данных не уверен - надо смотреть..
  11. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
    не понял куда ставим

    &ДатаОтчета и вот этот параметр задает как раз на дату
    Последнее редактирование: 10 ноя 2016
  12. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    828
    Симпатии:
    90
    Баллы:
    54
    Сейчас немного вчитался в запрос, а как вы представляете результат такого запроса за месяц с разными курсами валют..? И что вы хотите получить в итоге?
    Поковырялся в вашем отчете - смотрите внимательнее откуда и куда идут данные по периоду и разберётесь... Про параметры запроса не забывайте..
    Последнее редактирование: 10 ноя 2016
  13. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
    отчет этот не на скд а через построитель
    мне надо просто сделать ограничение по дате
    у меня получается задаю я например на дату 21.10.2016
    он выводит 01.01.2002,01.02.2002,....20.08.2014...21.10.2016
    а мне не нужно чтобы он выводил все пока до даты не дойдет а надо например с 21.05.2016 по 10.10.2016
    --- Объединение сообщений, 10 ноя 2016 ---
    получается исправить надо стандартный отчет на Дату на отчет с Дата1 по Дата2
  14. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    828
    Симпатии:
    90
    Баллы:
    54
    выше, чуть раньше, исправил уже своё сообщение..
  15. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
    я пробывал задавать параметром период в итоге пустой итог
  16. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
    уменьшил для визуального восприятия
    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
        ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
        ЦеныНоменклатуры.ТипЦен КАК ТипЦен,
        КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ) КАК ПериодЦен,
        ВЫБОР
            КОГДА ЦеныНоменклатуры.ЕдиницаИзмерения = &ПустаяЕдиницаИзмерения
                ТОГДА ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность / &КурсВалютыОтчета
            ИНАЧЕ ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент / &КурсВалютыОтчета
        КОНЕЦ КАК Цена
    ИЗ
        РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, ) КАК ЦеныНоменклатуры
            {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОтчета, ) КАК КурсыВалютСрезПоследних
            ПО ЦеныНоменклатуры.Валюта = КурсыВалютСрезПоследних.Валюта}
    ГДЕ
        ЦеныНоменклатуры.Номенклатура = &Номенклатура
    
    УПОРЯДОЧИТЬ ПО
        ПериодЦен
    ИТОГИ
        СРЕДНЕЕ(Цена)
    ПО
    
  17. ste4kin48455
    Offline

    ste4kin48455 Опытный в 1С

    Регистрация:
    15 дек 2014
    Сообщения:
    63
    Симпатии:
    1
    Баллы:
    29
    гы. справка недвусмысленно намекает, что он по-другому не умеет. у периодического регистра сведений есть параметр Период, который бывает типа Дата, МоментВремени и Граница (собственно в выложенном запросе он и описан). На слух ближе последний вариант, но отличие от даты только в выборе между включением и невключением указываемой даты в выборку в качестве верхнего граничного значения. нижняя граница отсутствует в принципе. а поскольку регистр цен имеет периодичность "в пределах дня", то будут выводится цены на все дни, в которые они менялись, от начала работы базы до (или по) верхнего граничного значения.

    имхо выход - отрезать лишние данные и свернуть полученное после выгрузки результата запроса в ТЗ обработкой самой ТЗ или запросом, который использует эту ТЗ в качестве временной таблицы.
  18. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
    в итог
    в итоге как я понимаю весь отчет летит и получается все с нуля можно сказать делать
  19. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    556
    Симпатии:
    1
    Баллы:
    29
  20. ste4kin48455
    Offline

    ste4kin48455 Опытный в 1С

    Регистрация:
    15 дек 2014
    Сообщения:
    63
    Симпатии:
    1
    Баллы:
    29
    апапапапапапапапап -Hungover- (дразнюсь). твои апы дело не ускорят. только раздражают.
    как вариант. еще мона взять этот отчет и поиграть с соединением с тем же набором данных, но из срезовПервых тех же регистров.