Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

печать ценников по остатку

печать ценников по остатку
Я
   _barracuda_
 
05.04.18 - 09:48
Добрый день УТП типовая.обработка по печати ценников.Хотелось бы чтобы печатало по реальному количеству на складе.а печатает все по 1

ВЫБРАТЬ
    ИСТИНА КАК Печать,
    СпрНоменклатура.Номенклатура КАК Номенклатура,
    СпрНоменклатура.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    СпрНоменклатура.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
    0 КАК Цена,
    1 КАК Количество
ИЗ
    (ВЫБРАТЬ
        СпрНоменклатура.Ссылка КАК Номенклатура,
        ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаНоменклатуры
    ИЗ
        Справочник.Номенклатура КАК СпрНоменклатура
    ГДЕ НЕ СпрНоменклатура.ЭтоГруппа
    {ГДЕ
        СпрНоменклатура.Ссылка.* КАК Номенклатура}
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ
        СпрХарактеристики.Владелец,
        СпрХарактеристики.Ссылка
    ИЗ
        Справочник.ХарактеристикиНоменклатуры КАК СпрХарактеристики
    {ГДЕ
        СпрХарактеристики.Владелец.* КАК Номенклатура,
        СпрХарактеристики.Ссылка.* КАК ХарактеристикаНоменклатуры}
    ) КАК СпрНоменклатура

ЛЕВОЕ СОЕДИНЕНИЕ
    (ВЫБРАТЬ
        НаСкладе.Номенклатура,
        НаСкладе.ХарактеристикаНоменклатуры,
        СУММА(НаСкладе.Количество) КАК Количество
    ИЗ
        (ВЫБРАТЬ
            НаСкладе.Номенклатура,
            НаСкладе.ХарактеристикаНоменклатуры,
            НаСкладе.КоличествоОстаток КАК Количество
        ИЗ
            РегистрНакопления.ТоварыНаСкладах.Остатки(, {Номенклатура.* КАК Номенклатура,
               ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
               Склад.* КАК Склад}) КАК НаСкладе
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            ВРознице.Номенклатура,
            ВРознице.ХарактеристикаНоменклатуры,
            ВРознице.КоличествоОстаток КАК Количество
        ИЗ
            РегистрНакопления.ТоварыВРознице.Остатки(, {Номенклатура.* КАК Номенклатура,
               ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
               Склад.* КАК Склад}) КАК ВРознице
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            ВНТТ.Номенклатура,
            ВНТТ.ХарактеристикаНоменклатуры,
            ВНТТ.КоличествоОстаток КАК Количество
        ИЗ
            РегистрНакопления.ТоварыВНТТ.Остатки(, {Номенклатура.* КАК Номенклатура,
               ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
               Склад.* КАК Склад}) КАК ВНТТ
        ) КАК НаСкладе
    СГРУППИРОВАТЬ ПО
        НаСкладе.Номенклатура,
        НаСкладе.ХарактеристикаНоменклатуры
    ) КАК НаСкладе
ПО
    СпрНоменклатура.Номенклатура = НаСкладе.Номенклатура
    И СпрНоменклатура.ХарактеристикаНоменклатуры = НаСкладе.ХарактеристикаНоменклатуры
ГДЕ
    ЕСТЬNULL(НаСкладе.Количество, 0) > 0

УПОРЯДОЧИТЬ ПО
    СпрНоменклатура.Номенклатура.Наименование,
    СпрНоменклатура.ХарактеристикаНоменклатуры.Наименование
 
 
   Cool_Profi
 
1 - 05.04.18 - 09:52
ВЫБРАТЬ
...
    0 КАК Цена,
    1 КАК Количество

А сколько оно должно при таком запросе печатать?
   _barracuda_
 
2 - 05.04.18 - 09:52
(1) (( так понятно.подскажите как лучше переделать
   Ненавижу 1С
 
3 - 05.04.18 - 09:56
   _barracuda_
 
4 - 05.04.18 - 09:59
(3)там много трепа,по делу ноль слов.ни примера ничего
   Ненавижу 1С
 
5 - 05.04.18 - 10:01
НаСкладе.Количество КАК Количество
   _barracuda_
 
6 - 05.04.18 - 10:21
(5) извините запрос скопировал с отладчика чтобы полностью посмотреть а в процедуре это выглядит так:


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

    ТекстЗапроса = ТекстЗапроса + "
    |УПОРЯДОЧИТЬ ПО
    |    СпрНоменклатура.Номенклатура.Наименование,
    |    СпрНоменклатура.ХарактеристикаНоменклатуры.Наименование
    |";

    // Соответствие имен полей в запросе и их представлений в отчете.

    СтруктураПредставлениеПолей = Новый Структура(
    "Номенклатура,   ХарактеристикаНоменклатуры,    Склад",
    "Номенклатура", "Характеристика номенклатуры", "Склад");

    ПостроительОтчета.Текст = ТекстЗапроса;


естественно ругается на НаСкладе.Количество КАК Количество  поле не найдено
   _barracuda_
 
7 - 05.04.18 - 10:29
ругается на НаСкладе.Количество КАК Количество  поле не найдено
   Ненавижу 1С
 
8 - 05.04.18 - 10:31
(7) позовите уже программиста
   _barracuda_
 
9 - 05.04.18 - 10:32
)

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