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

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

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

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

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

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

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