Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Добавление поля на СКД

Добавление поля на СКД
Я
   LittlePumpkin
 
03.08.20 - 12:38
Здравствуйте. Хочу к уже готовому отчету добавить свое поле "Скидка".
В СКД в конструкторе запроса дописал выбор этого поля: Цены.Цена / 100 КАК Скидка.
В настройках отчета в колонках добавил новую группировку, в которой указал путь к Скидка.
Но при попытке сформировать отчет, выдает, что мое поле не найдено.
Подскажите в чем проблема?
   LittlePumpkin
 
1 - 03.08.20 - 13:01
И если пытаюсь через "Вычисляемые поля" добавить поле и так же указать в группировке путь к нему, то тоже пишет, что поле не найдено
   D_E_S_131
 
2 - 03.08.20 - 13:12
Для отчета установил "Стандартные настройки" после изменения СКД?
   LittlePumpkin
 
3 - 03.08.20 - 13:14
Зачем, ведь тогда потеряются мои настройки?
   osa1C
 
4 - 03.08.20 - 13:31
(0) Запрос то покажи или ты думаешь мы на кофейной гуще гадаем...
   LittlePumpkin
 
5 - 03.08.20 - 13:38
ВЫБРАТЬ РАЗЛИЧНЫЕ
    Сегменты.Номенклатура КАК Номенклатура,
    Сегменты.Характеристика КАК Характеристика,
    ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
    РегистрСведений.НоменклатураСегмента КАК Сегменты
{ГДЕ
    Сегменты.Сегмент.* КАК СегментНоменклатуры,
    Сегменты.Номенклатура.* КАК Номенклатура,
    Сегменты.Характеристика.* КАК Характеристика}

ИНДЕКСИРОВАТЬ ПО
    Сегменты.Номенклатура,
    Сегменты.Характеристика,
    ИспользуетсяОтборПоСегментуНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ РАЗЛИЧНЫЕ
    Ассортимент.Номенклатура КАК Номенклатура,
    Ассортимент.ОбъектПланирования КАК ОбъектПланирования,
    ИСТИНА КАК ИспользуетсяОтборПоАссортименту
ПОМЕСТИТЬ ОтборПоАссортименту
ИЗ
    РегистрСведений.Ассортимент.СрезПоследних(&Период, ) КАК Ассортимент
{ГДЕ
    Ассортимент.Номенклатура.* КАК Номенклатура,
    Ассортимент.ОбъектПланирования.* КАК ОбъектПланирования,
    Ассортимент.КоллекцияНоменклатуры.* КАК КоллекцияНоменклатуры,
    Ассортимент.РазрешеныПродажи КАК РазрешеныПродажи}

ИНДЕКСИРОВАТЬ ПО
    Ассортимент.Номенклатура,
    Ассортимент.ОбъектПланирования,
    ИспользуетсяОтборПоАссортименту
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура,
    СвободныеОстаткиОстатки.Характеристика КАК Характеристика,
    СвободныеОстаткиОстатки.Склад КАК Склад,
    СвободныеОстаткиОстатки.ВНаличииОстаток КАК ВНаличииОстаток,
    СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток КАК ВРезервеОстаток,
    ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) - ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток, 0) КАК Остаток,
    ТоварныеОграничения.СтраховоеКоличествоЗапаса КАК СтраховоеКоличествоЗапаса,
    ТоварныеОграничения.МинимальноеКоличествоЗапаса КАК МинимальноеКоличествоЗапаса,
    ТоварныеОграничения.МаксимальноеКоличествоЗапаса КАК МаксимальноеКоличествоЗапаса,
    ТоварныеОграничения.МетодОбеспеченияПотребностей КАК МетодОбеспеченияПотребностей
ПОМЕСТИТЬ СвободныеОстатки
ИЗ
    РегистрНакопления.СвободныеОстатки.Остатки(&Период, ) КАК СвободныеОстаткиОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТоварныеОграничения КАК ТоварныеОграничения
        ПО СвободныеОстаткиОстатки.Номенклатура = ТоварныеОграничения.Номенклатура
            И СвободныеОстаткиОстатки.Характеристика = ТоварныеОграничения.Характеристика
            И СвободныеОстаткиОстатки.Склад = ТоварныеОграничения.Склад
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика,
    ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    ВЫБОР
        КОГДА ЦеныНоменклатурыСрезПоследних.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
            ТОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения
        ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Упаковка
    КОНЕЦ КАК Упаковка,
    ЦеныНоменклатурыСрезПоследних.Валюта КАК Валюта,
    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЦеноваяГруппа КАК ЦеноваяГруппа,
    ВЫБОР
        КОГДА ЦеныНоменклатурыСрезПоследних.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
            ТОГДА СвободныеОстатки.Остаток
        ИНАЧЕ СвободныеОстатки.Остаток / ЦеныНоменклатурыСрезПоследних.Упаковка.КоличествоУпаковок
    КОНЕЦ КАК Остаток,
    ВЫБОР
        КОГДА СвободныеОстатки.Остаток <= 0
            ТОГДА ""
        ИНАЧЕ ВЫБОР
                КОГДА СвободныеОстатки.Остаток <= СвободныеОстатки.МинимальноеКоличествоЗапаса
                    ТОГДА "уточняйте наличие"
                ИНАЧЕ ВЫБОР
                        КОГДА СвободныеОстатки.Остаток < СвободныеОстатки.СтраховоеКоличествоЗапаса + СвободныеОстатки.МинимальноеКоличествоЗапаса
                            ТОГДА "мало"
                        ИНАЧЕ ВЫБОР
                                КОГДА СвободныеОстатки.Остаток < СвободныеОстатки.МаксимальноеКоличествоЗапаса
                                    ТОГДА "достаточно"
                                ИНАЧЕ ВЫБОР
                                        КОГДА СвободныеОстатки.Остаток >= СвободныеОстатки.МаксимальноеКоличествоЗапаса
                                            ТОГДА "много"
                                        ИНАЧЕ "неизвестно"
                                    КОНЕЦ
                            КОНЕЦ
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ КАК ОстатокТекстом,
    СвободныеОстатки.Склад КАК Склад,
    СвободныеОстатки.МетодОбеспеченияПотребностей КАК МетодОбеспеченияПотребностей
ПОМЕСТИТЬ Цены
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены В (&ВидыЦен) {((Номенклатура, Характеристика) В
                (ВЫБРАТЬ
                    ОтборПоСегментуНоменклатуры.Номенклатура,
                    ОтборПоСегментуНоменклатуры.Характеристика
                ИЗ
                    ОтборПоСегментуНоменклатуры
                ГДЕ
                    ОтборПоСегментуНоменклатуры.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)), (Номенклатура В
                (ВЫБРАТЬ
                    ОтборПоАссортименту.Номенклатура
                ИЗ
                    ОтборПоАссортименту
                ГДЕ
                    ОтборПоАссортименту.ИспользуетсяОтборПоАссортименту = &ИспользуетсяОтборПоАссортименту))}) КАК ЦеныНоменклатурыСрезПоследних
        ЛЕВОЕ СОЕДИНЕНИЕ СвободныеОстатки КАК СвободныеОстатки
        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СвободныеОстатки.Номенклатура
            И ЦеныНоменклатурыСрезПоследних.Характеристика = СвободныеОстатки.Характеристика
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, {(ВидЦены) КАК ВидЦеныДиапазон}) КАК ЦеныНоменклатурыОтбор
        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ЦеныНоменклатурыОтбор.Номенклатура
            И ЦеныНоменклатурыСрезПоследних.Характеристика = ЦеныНоменклатурыОтбор.Характеристика}
ГДЕ
    ЦеныНоменклатурыСрезПоследних.Цена > 0
{ГДЕ
    ЦеныНоменклатурыОтбор.Цена КАК ЦенаОт,
    ЦеныНоменклатурыОтбор.Цена КАК ЦенаДо}
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    Цены.Номенклатура КАК Номенклатура,
    Цены.Характеристика КАК Характеристика,
    Цены.ВидЦены КАК ВидЦены,
    Цены.Цена * ВЫБОР
        КОГДА Цены.ЦеноваяГруппа.Наименование = "Распродажа"
                ИЛИ ЕСТЬNULL(НоменклатураДополнительныеРеквизиты.Значение, ЛОЖЬ) = ИСТИНА
            ТОГДА 1
        ИНАЧЕ 1 - &ПроцентСкидки / 100
    КОНЕЦ КАК Цена,
    Цены.Упаковка КАК Упаковка,
    Цены.Валюта КАК Валюта,
    Цены.ЦеноваяГруппа КАК ЦеноваяГруппа,
    Цены.Склад КАК Склад,
    ВЫБОР
        КОГДА Цены.Остаток < 0
            ТОГДА 0
        ИНАЧЕ Цены.Остаток
    КОНЕЦ КАК Остаток,
    ВЫБОР
        КОГДА Цены.МетодОбеспеченияПотребностей = ЗНАЧЕНИЕ(Перечисление.МетодыОбеспеченияПотребностей.ЗаказПодЗаказ)
                ИЛИ Цены.МетодОбеспеченияПотребностей ЕСТЬ NULL
                    И Цены.Остаток > 0
            ТОГДА "под заказ"
        ИНАЧЕ Цены.ОстатокТекстом
    КОНЕЦ КАК ОстатокТекстом,
    Цены.Номенклатура.ФайлКартинки КАК Изображение,
    ЕСТЬNULL(НоменклатураДополнительныеРеквизиты.Значение, ЛОЖЬ) КАК Акция,
    Цены.Цена КАК Цена1
{ВЫБРАТЬ
    Номенклатура.*,
    Характеристика.*,
    ВидЦены.*,
    Цена,
    Упаковка.*,
    Валюта.*,
    ЦеноваяГруппа.*,
    Склад.*}
ИЗ
    Цены КАК Цены
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        ПО Цены.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка
            И (НоменклатураДополнительныеРеквизиты.Свойство.Заголовок = "Акция")
{ГДЕ
    Цены.Номенклатура.*,
    Цены.Характеристика.*,
    Цены.ВидЦены.*,
    Цены.Цена,
    Цены.Упаковка.*,
    Цены.Валюта.*,
    Цены.Склад.*,
    (Цены.Склад В
            (ВЫБРАТЬ
                Склады.Ссылка КАК Склад
            ИЗ
                Справочник.Склады КАК Склады
            ГДЕ
                Склады.Ссылка В ИЕРАРХИИ (&Склад)
                И НЕ Склады.Ссылка.ЭтоГруппа))}
   LittlePumpkin
 
6 - 03.08.20 - 13:39
Он огромный, не уверен что поможет
   LittlePumpkin
 
7 - 03.08.20 - 14:18
Возможно дело в том, что у моего поля нет синей штуки напротив? https://imgur.com/a/D5VbKsJ
Не знаю, что она обозначает(
   IPcorp
 
8 - 03.08.20 - 16:17
а эти моменты у тебя как? http://www.screencapture.ru/file/3a170176
   del123
 
9 - 03.08.20 - 16:38
возможно при компоновки отчета другой запрос берется, в котором нет этих реквизитов. Попробуй на другой базе, где не было этого отчета или переименуй отчет

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