Имя: Пароль:
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
возможно при компоновки отчета другой запрос берется, в котором нет этих реквизитов. Попробуй на другой базе, где не было этого отчета или переименуй отчет
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан