Имя: Пароль:
1C
1С v8
Ошибка в запросе при формировании прайса
0 vlad_161
 
15.10.14
02:12
1с8 торговля писанная-переписанная.
В существующей обработке по формированию прайса понадобилось вставить фильтр по наличию описания (не пустого реквизита с типом строка ОсновнаяКартинка справочника Номенклатура). добавил     
если ТолькоСОписанием тогда
ТекстПостроителя=ТекстПостроителя+"
        |ГДЕ
        |    Номенклатура.ОсновнаяКартинка<>""
        |";
     КонецЕсли;
1 vlad_161
 
15.10.14
02:13
1с8 торговля писанная-переписанная.
В существующей обработке по формированию прайса понадобилось вставить фильтр по наличию описания (не пустого реквизита с типом строка ОсновнаяКартинка справочника Номенклатура). добавил    

если ТолькоСОписанием тогда
    ТекстПостроителя=ТекстПостроителя+"
    |ГДЕ
    |    Номенклатура.ОсновнаяКартинка<>""
    |";
КонецЕсли;
2 vlad_161
 
15.10.14
02:16
перед секцией
|УПОРЯДОЧИТЬ ПО
3 vlad_161
 
15.10.14
02:18
но выдает ошибку {Форма.ФормаОстатков.Форма(942)}: Ошибка при установке значения атрибута контекста (Текст)
    ПостроительСвободныйОстаток.Текст=ТекстПостроителя;
по причине:
{(327, 1)}: Синтаксическая ошибка "ГДЕ"
<<?>>ГДЕ
   .Текст модуля где формируется запрос:
Процедура ОсновныеДействияФормыСформировать(Кнопка)
    МассивТиповЦен=Новый Массив;
    РаскрашиватьРентабельность=ложь;
    
    ПостроительСвободныйОстаток = Новый ПостроительОтчета;
    ТекстПостроителя = "
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    |НастройкаЗагрузкиЦенКонтрагентов.ТипЦены КАК ТипЦенПоставщиков
    |ПОМЕСТИТЬ ТипыЦенПоставщиков
    |ИЗ
    |РегистрСведений.НастройкаЗагрузкиЦенКонтрагентов КАК НастройкаЗагрузкиЦенКонтрагентов
    |ГДЕ
    |НастройкаЗагрузкиЦенКонтрагентов.Использование
    |И НастройкаЗагрузкиЦенКонтрагентов.Поставщик
    |;
    |ВЫБРАТЬ
    |    СгруппированныйЗапрос.Номенклатура.Наименование КАК Наименование,
    |    СгруппированныйЗапрос.Номенклатура КАК Номенклатура,
    |   Сайт.АдресСайта КАК Фото,
    |    ВЫБОР КОГДА СгруппированныйЗапрос.Количество < 0
    |        ТОГДА ВЫБОР КОГДА СгруппированныйЗапрос.Количество + СгруппированныйЗапрос.ВПути < 0
    |                    ТОГДА СгруппированныйЗапрос.Количество + СгруппированныйЗапрос.ВПути
    |                    ИНАЧЕ 0
    |              КОНЕЦ
    |        ИНАЧЕ СгруппированныйЗапрос.Количество
    |    КОНЕЦ КАК СвободныйОстаток,
    |    ВЫБОР КОГДА СгруппированныйЗапрос.Количество < 0
    |        ТОГДА ВЫБОР КОГДА СгруппированныйЗапрос.Количество + СгруппированныйЗапрос.ВПути < 0
    |                    ТОГДА 0
    |                    ИНАЧЕ СгруппированныйЗапрос.ВПути + СгруппированныйЗапрос.Количество
    |              КОНЕЦ
    |        ИНАЧЕ СгруппированныйЗапрос.ВПути
    |    КОНЕЦ КАК ВПути,
    |    СгруппированныйЗапрос.ДатаПоступления КАК ДатаПоступления,
    |    ЕСТЬNULL(АкционныйТовар.Цена,0) КАК Акция,
    |    ВЫБОР КОГДА СгруппированныйЗапрос.Уценка>0 тогда ""Уцененный Товар""
    |        КОГДА ЕСТЬNULL(АкционныйТовар.Цена,0) > 0
    |        ТОГДА ""Акционный Товар""
    |        ИНАЧЕ ""Основной Прайс""
    |    КОНЕЦ КАК ПризнакАкции,
    |    СгруппированныйЗапрос.НормаЗапасов,
    |   СгруппированныйЗапрос.Приход,
    |    СгруппированныйЗапрос.Расход,
    |    СгруппированныйЗапрос.Цена1С,
    |    СгруппированныйЗапрос.ПодЗаказ,
    |    СгруппированныйЗапрос.Уценка,
    |   СгруппированныйЗапрос.ПричинаУценки,
    |   СгруппированныйЗапрос.ДокументОприходования КАК ДокументОприходования";
    
    если ПоказыватьПродажиЗа тогда
        ТекстПостроителя=ТекстПостроителя+",
    |   ВЫБОР
    |       КОГДА ЕСТЬNULL(ЗакупкиОбороты.КоличествоОборот, 0) > 0
    |           ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЗакупкиОбороты.СтоимостьОборот, 0) / ЕСТЬNULL(ЗакупкиОбороты.КоличествоОборот, 0) КАК ЧИСЛО(10,2))
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК ПоследняяЗакупка,
    |   ЗакупкиОбороты.Контрагент КАК Контрагент,
    |   РАЗНОСТЬДАТ(СгруппированныйЗапрос.МинимальнаяДата,&ТекДата, ДЕНЬ) КАК СрокХранения
    |";
    конецесли;
    
     если ФлажокЦен тогда
        ОтборПрайсов=Новый Структура;
        ОтборПрайсов.Вставить("П",Истина);
        МассивВыбранныхПрайсов=ДеревоЦен.Строки.НайтиСтроки(ОтборПрайсов,Истина);
        если МассивВыбранныхПрайсов.Количество()>0 тогда
            для сч=0 по МассивВыбранныхПрайсов.Количество()-1 цикл
                ТипЦен=МассивВыбранныхПрайсов[сч].ТипЦен;
                
                если не ЗначениеЗаполнено(ТипЦен.БазовыйТипЦен) тогда
                    РаскрашиватьРентабельность=Истина;
                конецесли;
                
                //МассивТиповЦен.Добавить(ТипЦен);
                МассивТиповЦен.Добавить(МассивВыбранныхПрайсов[сч]);
                
                ПорядокОкругления=ТипЦен.ПорядокОкругления;
                ОкруглятьВБольшуюСторону = ТипЦен.ОкруглятьВБольшуюСторону;
                
                ВалютаПрайса=ТипЦен.ВалютаЦены;
                если Валюта=ВалютаПрайса тогда
                    КоэфПересчета=1;
                иначе
                    СтруктураВалюты = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(, Новый Структура("Валюта", ВалютаПрайса));
                    КоэфПересчета=СтруктураВалюты.Курс/КурсВалюты*КратностьВалюты/СтруктураВалюты.Курс;
                конецЕсли;
                ПроцентСкидкиНаценки=ТипЦен.ПроцентСкидкиНаценки;    
                
                ТекстПостроителя=ТекстПостроителя+",
                |    ЕСТЬNULL("+сокрЛП(ТипЦен.Наименование)+".Цена,0) КАК Цена_"+сокрЛП(ТипЦен.Наименование)+",
                |    "+КоэфПересчета+" КАК КоэфПересчета_"+сокрЛП(ТипЦен.Наименование);
                
                если сч>0 тогда
                    ТекстПостроителя=ТекстПостроителя+",
                    |    "+ПроцентСкидкиНаценки+" КАК Р_"+сокрЛП(ТипЦен.Наименование)+",
                    |    "+ПорядокОкругления+" КАК ПО_"+сокрЛП(ТипЦен.Наименование)+",
                    //|    "+ОкруглятьВБольшуюСторону+" КАК ОБ_"+сокрЛП(ТипЦен.Наименование);
                    |    Истина КАК ОБ_"+сокрЛП(ТипЦен.Наименование);
                конецЕсли;
            конецЦикла;
        конецЕсли;
    конецЕсли;
    
    ТекстПостроителя=ТекстПостроителя+"
     |ИЗ
     |    (ВЫБРАТЬ
     |        ВложенныйЗапрос.Номенклатура КАК Номенклатура,
     |        СУММА(ВложенныйЗапрос.Количество) КАК Количество,
     |        СУММА(ВложенныйЗапрос.ВПути) КАК ВПути,
     |        МАКСИМУМ(ВложенныйЗапрос.ДатаПоступления) КАК ДатаПоступления,
     |        СУММА(ВложенныйЗапрос.НормаЗапасов) КАК НормаЗапасов,
     |        СУММА(ВложенныйЗапрос.Приход) КАК Приход,
     |        СУММА(ВложенныйЗапрос.Расход) КАК Расход,
     |        МАКСИМУМ(ВложенныйЗапрос.ДокументОприходования) КАК ДокументОприходования,
     |      ВЫБОР
     |          КОГДА СУММА(ВложенныйЗапрос.КоличествоДляЦены) = 0
     |              ТОГДА 0
     |            ИНАЧЕ ВЫРАЗИТЬ(СУММА(ВложенныйЗапрос.СтоимостьДляЦены) / СУММА(ВложенныйЗапрос.КоличествоДляЦены) КАК ЧИСЛО(10,2))
     |        КОНЕЦ КАК Цена1С,
     |      МИНИМУМ(ВложенныйЗапрос.МинимальнаяДата) КАК МинимальнаяДата,
     |        максимум(ВложенныйЗапрос.ПодЗаказ) как ПодЗаказ,
     |        МАКСИМУМ(ВложенныйЗапрос.Уценка) КАК Уценка,
     |        ВложенныйЗапрос.ПричинаУценки КАК ПричинаУценки
     |    ИЗ
     |        (ВЫБРАТЬ
     |            ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
     |            ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Количество,
     |            0 КАК ВПути,
     |            &ДДД КАК ДатаПоступления,
     |            0 КАК НормаЗапасов,
     |            0 КАК Приход,
     |            0 КАК Расход,
     |            ЕСТЬNULL(ТоварыНаСкладахОстатки.ДокументОприходования, ЗНАЧЕНИЕ(Документ.ПоступлениеТоваровУслуг.ПустаяСсылка)) КАК ДокументОприходования,
     |          ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоДляЦены,
     |            ВЫБОР
     |              КОГДА ЕСТЬNULL(ТоварыНаСкладахОстатки.ДокументОприходования.НДСВключенВСтоимость, ЛОЖЬ)
     |                    ТОГДА ЕСТЬNULL(ТоварыНаСкладахОстатки.СтоимостьОстаток, 0)
     |              ИНАЧЕ ЕСТЬNULL(ТоварыНаСкладахОстатки.СтоимостьОстаток * 1.18, 0)
     |            КОНЕЦ КАК СтоимостьДляЦены,
     |            ЕСТЬNULL(НАЧАЛОПЕРИОДА(ТоварыНаСкладахОстатки.ДокументОприходования.Дата,ДЕНЬ),&ТекДата) КАК МинимальнаяДата,
     |            0 КАК ПодЗаказ,
     |            0 КАК Уценка,
     |            """" КАК ПричинаУценки
     |        ИЗ
     |            РегистрНакопления.ПартииТоваровНаСкладах.Остатки(
     |                    ,
     |                    Склад В
     |                        (ВЫБРАТЬ РАЗЛИЧНЫЕ
     |                            СоставГруппДоступностиСкладов.Склад
     |                        ИЗ
     |                            РегистрСведений.СоставГруппДоступностиСкладов КАК СоставГруппДоступностиСкладов
     |                            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
     |                            ПО СоставГруппДоступностиСкладов.Склад = КатегорииОбъектов.Объект
     |                        ГДЕ
     |                            СоставГруппДоступностиСкладов.ГруппаДоступности = &ГруппаДоступности
     |                            И (КатегорииОбъектов.Категория ЕСТЬ NULL ИЛИ не КатегорииОбъектов.Категория = &Категория))";
     если ФлажокОтбораКатегорий и (не КатегорияНоменклатуры=Справочники.КатегорииОбъектов.ПустаяСсылка()) и (РавноКатегория или НеРавноКатегория) тогда
         ТекстПостроителя=ТекстПостроителя+"
     |                    И ("+?(НеРавноКатегория,"НЕ","")+" Номенклатура В
     |                        (ВЫБРАТЬ
     |                            ДоступныеТовары.Объект
     |                        ИЗ
     |                            РегистрСведений.КатегорииОбъектов КАК ДоступныеТовары
     |                        ГДЕ
     |                            ДоступныеТовары.Категория = &Красный))";
    конецЕсли;
     ТекстПостроителя=ТекстПостроителя+"
     |                        И Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) {(Организация).* КАК Организация, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстатки";
     если ПоказыватьПодЗаказ тогда
         ТекстПостроителя=ТекстПостроителя+"
         |   объединить все
         |ВЫБРАТЬ РАЗЛИЧНЫЕ
         |    ЗагруженныйПрайс.Номенклатура,
         |    0,
         |    0,
         |  &ДДД,
         |    0,
         |    0,
         |    0,
         |    ЗНАЧЕНИЕ(Документ.ПоступлениеТоваровУслуг.ПустаяСсылка),
         |  0,
         |  0,
         |    &ТекДата,
         |ВЫБОР
         |    КОГДА ЕСТЬNULL(ЗагруженныйПрайс.Цена, 0) = 0
         |        ТОГДА 0
         |    ИНАЧЕ 1
         |КОНЕЦ КАК ПодЗаказ,
          |    0 КАК Уценка,
          |    """" КАК ПричинаУценки
         |ИЗ
         |РегистрСведений.ЗагруженныйПрайс КАК ЗагруженныйПрайс
         |ГДЕ
         |ЗагруженныйПрайс.ТипЦен В
         |        (ВЫБРАТЬ
         |            ТипыЦенПоставщиков.ТипЦенПоставщиков
         |        ИЗ
         |            ТипыЦенПоставщиков)
         |И НЕ ЗагруженныйПрайс.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.пустаяссылка)
         |И ЗагруженныйПрайс.Цена>0
         |{ГДЕ
         |ЗагруженныйПрайс.Номенклатура.*}    
         //СВН
         |{ГДЕ
         |    ЗагруженныйПрайс.Контрагент.Ссылка.* КАК ПоставщикНаЗаказ}
         //СВН/
         |";
     конецЕсли;
     //|       ОБЪЕДИНИТЬ ВСЕ
     //|  ПОЛНОЕ СОЕДИНЕНИЕ
     //|       (ВЫБРАТЬ
     //|          АкционныйТовар.Номенклатура,
     //|        0,
     //|        0,
     //|        &ДДД,
     //|          0,
     //|        0,
     //|        Значение(Документ.ПоступлениеТоваровУслуг.ПустаяСсылка),
     //|        ЕСТЬNULL(АкционныйТовар.Цена,0),
     //|        0,
     //|        0
     //|     ИЗ
     //|          РегистрСведений.АкционныйТовар.СрезПоследних( ,
     //|            ВидСкладов = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Оптовый)
     //|            И (НЕ Цена = 0) {(Организация).* КАК Организация}) КАК АкционныйТовар
     //|     ПО ТоварыНаСкладахОстатки.Номенклатура=АкционныйТовар.Номенклатура
     //|";    
    
     //|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АкционныйТовар.СрезПоследних(,ВидСкладов = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Оптовый)
     //|                                И (НЕ Цена = 0) {(Организация).* КАК Организация}) КАК АкционныйТовар
     //|        ПО ТоварыНаСкладахОстатки.Организация = АкционныйТовар.Организация
     //|        И ТоварыНаСкладахОстатки.Номенклатура = АкционныйТовар.Номенклатура
     //|";
    
     если ПоказыватьПродажиЗа тогда
         ТекстПостроителя=ТекстПостроителя+"
         |  ОБЪЕДИНИТЬ ВСЕ
         |ВЫБРАТЬ
         |    ПлановыеПоказателиАналитикаСрезПоследних.Номенклатура,
         |    0,
         |    0,
         |  &ДДД,
         |    ЕСТЬNULL(ПлановыеПоказателиАналитикаСрезПоследних.Количество,0),
         |    0,
         |    0,
         |    ЗНАЧЕНИЕ(Документ.ПоступлениеТоваровУслуг.ПустаяСсылка),
         |  0,
         |  0,
         |    &ТекДата,
         |  0,
         |    0,
         |    0,
         |  """"
         |ИЗ
         |  РегистрСведений.ПлановыеПоказателиАналитика.СрезПоследних(
         |      ,
         |      Период = НАЧАЛОПЕРИОДА(&ДатаКон, МЕСЯЦ)
         |              И Сценарий=&Сценарий
         |                И Склад В
         |                        (ВЫБРАТЬ РАЗЛИЧНЫЕ
         |                            СоставГруппДоступностиСкладов.Склад
         |                        ИЗ
         |                            РегистрСведений.СоставГруппДоступностиСкладов КАК СоставГруппДоступностиСкладов
         |                            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
         |                            ПО СоставГруппДоступностиСкладов.Склад = КатегорииОбъектов.Объект
         |                        ГДЕ
         |                            СоставГруппДоступностиСкладов.ГруппаДоступности = &ГруппаДоступности
         |                            И (КатегорииОбъектов.Категория ЕСТЬ NULL ИЛИ не КатегорииОбъектов.Категория = &Категория))";
         если ФлажокОтбораКатегорий и (не КатегорияНоменклатуры=Справочники.КатегорииОбъектов.ПустаяСсылка()) и (РавноКатегория или НеРавноКатегория) тогда
             ТекстПостроителя=ТекстПостроителя+"
         |                    И ("+?(НеРавноКатегория,"НЕ","")+" Номенклатура В
         |                        (ВЫБРАТЬ
         |                            ДоступныеТовары.Объект
         |                        ИЗ
         |                            РегистрСведений.КатегорииОбъектов КАК ДоступныеТовары
         |                        ГДЕ
         |                            ДоступныеТовары.Категория = &Красный))";
         конецЕсли;
         ТекстПостроителя=ТекстПостроителя+"
         |                         {(Организация).* КАК Организация, (Сценарий).* КАК Сценарий,(Склад).* КАК Склад}) КАК ПлановыеПоказателиАналитикаСрезПоследних
         |
         |
         | ОБЪЕДИНИТЬ ВСЕ
         |
         |ВЫБРАТЬ
         |    ПартииТоваровНаСкладахОбороты.Номенклатура,
         |    0,
         |    0,
         |  &ДДД,
         |    0,
         |    ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.КоличествоПриход,0),
         |    ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.КоличествоРасход,0),
         |    ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.ДокументОприходования, ЗНАЧЕНИЕ(Документ.ПоступлениеТоваровУслуг.ПустаяСсылка)),
         |  0,
         |  0,
         |    &ТекДата,
         |    0 КАК ПодЗаказ,
         |    0 КАК Уценка,
          |    """" КАК ПричинаУценки
         |ИЗ
         |  РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&ДатаНач, ,Регистратор,
         |                    Склад В
         |                        (ВЫБРАТЬ РАЗЛИЧНЫЕ
         |                            СоставГруппДоступностиСкладов.Склад
         |                        ИЗ
         |                            РегистрСведений.СоставГруппДоступностиСкладов КАК СоставГруппДоступностиСкладов
         |                            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
         |                            ПО СоставГруппДоступностиСкладов.Склад = КатегорииОбъектов.Объект
         |                        ГДЕ
         |                            СоставГруппДоступностиСкладов.ГруппаДоступности = &ГруппаДоступности
         |                            И (КатегорииОбъектов.Категория ЕСТЬ NULL ИЛИ не КатегорииОбъектов.Категория = &Категория))";
         если ФлажокОтбораКатегорий и (не КатегорияНоменклатуры=Справочники.КатегорииОбъектов.ПустаяСсылка()) и (РавноКатегория или НеРавноКатегория) тогда
             ТекстПостроителя=ТекстПостроителя+"
         |                    И ("+?(НеРавноКатегория,"НЕ","")+" Номенклатура В
         |                        (ВЫБРАТЬ
         |                            ДоступныеТовары.Объект
         |                        ИЗ
         |                            РегистрСведений.КатегорииОбъектов КАК ДоступныеТовары
         |                        ГДЕ
         |                            ДоступныеТовары.Категория = &Красный))";
         конецЕсли;
         ТекстПостроителя=ТекстПостроителя+"
         |                        И Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) {(Организация).* КАК Организация, (Склад).* КАК Склад}) КАК ПартииТоваровНаСкладахОбороты
         |    ГДЕ
         |    (НЕ ПартииТоваровНаСкладахОбороты.КоличествоПриход = ПартииТоваровНаСкладахОбороты.КоличествоРасход)
         |    И (НЕ(ПартииТоваровНаСкладахОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров
         |        И ПартииТоваровНаСкладахОбороты.Регистратор.СкладОтправитель.ВидСклада = ПартииТоваровНаСкладахОбороты.Регистратор.СкладПолучатель.ВидСклада))
         |    И (НЕ ПартииТоваровНаСкладахОбороты.Регистратор ССЫЛКА Документ.КорректировкаСерийИХарактеристикТоваров)
         |    И (НЕ ПартииТоваровНаСкладахОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров)
         |    И (НЕ ПартииТоваровНаСкладахОбороты.Регистратор ССЫЛКА Документ.ОприходованиеТоваров)
         |    И (НЕ ПартииТоваровНаСкладахОбороты.Регистратор ССЫЛКА Документ.ГТДИмпорт)
         |";
        
     КонецЕсли;
     ТекстПостроителя=ТекстПостроителя+"
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ РАЗЛИЧНЫЕ
    |        УцененныйТовар.Номенклатура,
    |        УцененныйТовар.Количество,
    |        0,
    |        &ДДД,
    |        0,
    |        0,
    |        0,
    |        ЗНАЧЕНИЕ(Документ.ПоступлениеТоваровУслуг.ПустаяСсылка),
    |        0,
    |        0,
    |        &ТекДата,
    |        0,
    |        УцененныйТовар.Цена,
    |        УцененныйТовар.ПричинаУценки
    |    ИЗ
    |        РегистрСведений.УцененныйТовар КАК УцененныйТовар
    |    {ГДЕ
    |        УцененныйТовар.Номенклатура.*}
     |        
     |        ОБЪЕДИНИТЬ ВСЕ
     |        
     |        ВЫБРАТЬ
     |            ЗаказыПокупателейОстаток.Номенклатура,
     |            ЕСТЬNULL(-ЗаказыПокупателейОстаток.КоличествоОстаток, 0),
     |            0,
     |          &ДДД,
     |            0,
     |            0 КАК Приход,
     |            0 КАК Расход,
     |            ЗНАЧЕНИЕ(Документ.ПоступлениеТоваровУслуг.ПустаяСсылка),
     |          0,
     |          0,
     |            &ТекДата,
     |            0 КАК ПодЗаказ,
     |    0 КАК Уценка,
     |    """" КАК ПричинаУценки
     |        ИЗ
     |            РегистрНакопления.ЗаказыПокупателей.Остатки(,
     |                ЗаказПокупателя.СкладГруппа В
     |                        (ВЫБРАТЬ РАЗЛИЧНЫЕ
     |                            СоставГруппДоступностиСкладов.Склад
     |                        ИЗ
     |                            РегистрСведений.СоставГруппДоступностиСкладов КАК СоставГруппДоступностиСкладов
     |                        ГДЕ
     |                            СоставГруппДоступностиСкладов.ГруппаДоступности = &ГруппаДоступности)";
     если ФлажокОтбораКатегорий и (не КатегорияНоменклатуры=Справочники.КатегорииОбъектов.ПустаяСсылка()) и (РавноКатегория или НеРавноКатегория) тогда
         ТекстПостроителя=ТекстПостроителя+"
     |                    И ("+?(НеРавноКатегория,"НЕ","")+" Номенклатура В
     |                    (ВЫБРАТЬ
     |                        ДоступныеТовары.Объект
     |                    ИЗ
     |                        РегистрСведений.КатегорииОбъектов КАК ДоступныеТовары
     |                    ГДЕ
     |                        ДоступныеТовары.Категория = &Красный))";
     конецЕсли;
     ТекстПостроителя=ТекстПостроителя+"
     |                    {(ЗаказПокупателя.Организация).* КАК Организация, (ЗаказПокупателя.СкладГруппа).* КАК Склад}
     |            ) КАК ЗаказыПокупателейОстаток
     |        
     |        ОБЪЕДИНИТЬ ВСЕ
     |        
     |        ВЫБРАТЬ
     |            ЗаказыПоставщикамОстаток.Номенклатура,
     |            0,
     |          "+?(НеУчитыватьПоследующиеПриходы,"
     |            ВЫБОР КОГДА КОНЕЦПЕРИОДА(ЗаказыПоставщикамОстаток.ЗаказПоставщику.ДатаПоступления, ДЕНЬ) < &ДатаКон
     |                ТОГДА ЕСТЬNULL(ЗаказыПоставщикамОстаток.КоличествоОстаток, 0)
     |                ИНАЧЕ 0
     |            КОНЕЦ,
     |          ВЫБОР КОГДА КОНЕЦПЕРИОДА(ЗаказыПоставщикамОстаток.ЗаказПоставщику.ДатаПоступления, ДЕНЬ) < &ДатаКон
     |                ТОГДА КОНЕЦПЕРИОДА(ЗаказыПоставщикамОстаток.ЗаказПоставщику.ДатаПоступления, ДЕНЬ)
     |              ИНАЧЕ &ДДД
     |            КОНЕЦ,","
     |            ЕСТЬNULL(ЗаказыПоставщикамОстаток.КоличествоОстаток, 0),
     |            КОНЕЦПЕРИОДА(ЗаказыПоставщикамОстаток.ЗаказПоставщику.ДатаПоступления, ДЕ
4 patria0muerte
 
15.10.14
02:42
В параметр запроса передавай свое пустое значение определенного типа. С ним и сравнивай.
Что то вроде:
Запрос.УстановитьПараметр("ПустаяСтрока", "");
И потом в запросе:
|ГДЕ
|Номенклатура.ОсновнаяКартинка <> &ПустаяСтрока";
5 vlad_161
 
16.10.14
11:07
patria0muerte  ничего не изменилось
{Форма.ФормаОстатков.Форма(941)}: Ошибка при установке значения атрибута контекста (Текст)
    ПостроительСвободныйОстаток.Текст=ТекстПостроителя;
по причине:
{(327, 1)}: Синтаксическая ошибка "ГДЕ"
<<?>>ГДЕ

в коде изменял:
если ТолькоСОписанием тогда
    ТекстПостроителя=ТекстПостроителя+"
    |ГДЕ
    |    Номенклатура.ОсновнаяКартинка <> &ПустаяСтрока";
КонецЕсли;

...
ПостроительСвободныйОстаток.Параметры.Вставить("ПустаяСтрока", "");
6 Крошка Ру
 
16.10.14
11:20
(1) Потому что там должно быть

|ГДЕ
    |    Номенклатура.ОсновнаяКартинка<>""""
    |";
7 shuhard_серый
 
16.10.14
11:25
(3) не нужно постить на форум свой код
нужно взять отладчик и позырить ТекстПостроителя в конце процедуры
8 vlad_161
 
16.10.14
12:10
Крошка Ру - код не работает, выходит та же ошибка,    shuhard_серый - посмотрю
9 vlad_161
 
16.10.14
17:55
shuhard_серый
разобрался, по одному из условий в коде уже была секция ГДЕ,
условия в ней взял в () и дописал

|   Номенклатура.ОсновнаяКартинка <> &ПустаяСтрока";
patria0muerte  извиняюсь - по Вашему все работает, с """" - никак
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший