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

Изменяю запрос (секция где), после изменения ошибка, в чем ошибся?

Изменяю запрос (секция где), после изменения ошибка, в чем ошибся?
Я
   SkillUp
 
21.03.19 - 16:35
Есть запрос (ниже), в него надо добавить только одно условие (ГДЕ
        |    (__Документ.Касса = "+ОсновнаяКасса+"
        |            ИЛИ __Документ.КассаОтправитель = "+ОсновнаяКасса+")

Изн. запрос:
        ТекстЗапроса = ТекстЗапроса + "
        |    __Документ.Ссылка,
        |    __Документ.ПометкаУдаления,
        |    " + ?(МетаданныеДокумента.ДлинаНомера, "__Документ.Номер","NULL") + " КАК Номер,
        |    __Документ.Дата,
            |       __Документ.Касса,
                |       __Документ.КассаОтправитель,
        |    __Документ.Проведен,
        |    """ + МетаданныеДокумента.Представление() + """  КАК ВидДокумента,";
        
        Если МетаданныеДокумента.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
            ТекстЗапроса = ТекстЗапроса + "
            |    ВЫБОР КОГДА __Документ.Проведен ТОГДА 0 ИНАЧЕ ВЫБОР КОГДА __Документ.ПометкаУдаления ТОГДА 2 ИНАЧЕ 1 КОНЕЦ КОНЕЦ КАК Иконка";
        Иначе
            ТекстЗапроса = ТекстЗапроса + "
            |    ВЫБОР КОГДА __Документ.ПометкаУдаления ТОГДА 3 ИНАЧЕ 0 КОНЕЦ КАК Иконка";
        КонецЕсли;
        
        Для каждого ВыводимаяГрафа Из СтруктураГраф Цикл
            ТекстЗапроса = ТекстЗапроса + "
            |    ," + ВыводимаяГрафа.Значение[ИмяДокумента] + " КАК " + ВыводимаяГрафа.Ключ;
        КонецЦикла;
        ТекстЗапроса = ТекстЗапроса + "
        |ИЗ Документ." + ИмяДокумента + " КАК __Документ
        |ГДЕ
        |    __Документ.Дата >= НАЧАЛОПЕРИОДА(&ДатаНачалаПериодаЖурнала, ДЕНЬ)
        |    И (__Документ.Дата <= КОНЕЦПЕРИОДА(&ДатаОкончанияПериодаЖурнала, ДЕНЬ) или &ДатаОкончанияПериодаЖурнала = ДатаВремя(1,1,1))
        |";

    ТекстЗапроса = ТекстЗапроса + "
    |УПОРЯДОЧИТЬ ПО Дата";
    ПостроительОтчета.Текст = ТекстЗапроса;
    ПостроительОтчета.ЗаполнитьНастройки();


Делаю так (добавляю условие):


        ТекстЗапроса = ТекстЗапроса + "
        |    __Документ.Ссылка,
        |    __Документ.ПометкаУдаления,
        |    " + ?(МетаданныеДокумента.ДлинаНомера, "__Документ.Номер","NULL") + " КАК Номер,
        |    __Документ.Дата,
            |       __Документ.Касса,
                |       __Документ.КассаОтправитель,
        |    __Документ.Проведен,
        |    """ + МетаданныеДокумента.Представление() + """  КАК ВидДокумента,";
        
        Если МетаданныеДокумента.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
            ТекстЗапроса = ТекстЗапроса + "
            |    ВЫБОР КОГДА __Документ.Проведен ТОГДА 0 ИНАЧЕ ВЫБОР КОГДА __Документ.ПометкаУдаления ТОГДА 2 ИНАЧЕ 1 КОНЕЦ КОНЕЦ КАК Иконка";
        Иначе
            ТекстЗапроса = ТекстЗапроса + "
            |    ВЫБОР КОГДА __Документ.ПометкаУдаления ТОГДА 3 ИНАЧЕ 0 КОНЕЦ КАК Иконка";
        КонецЕсли;
        
        Для каждого ВыводимаяГрафа Из СтруктураГраф Цикл
            ТекстЗапроса = ТекстЗапроса + "
            |    ," + ВыводимаяГрафа.Значение[ИмяДокумента] + " КАК " + ВыводимаяГрафа.Ключ;
        КонецЦикла;
        ТекстЗапроса = ТекстЗапроса + "
        |ИЗ Документ." + ИмяДокумента + " КАК __Документ
        |ГДЕ
        |    __Документ.Дата >= НАЧАЛОПЕРИОДА(&ДатаНачалаПериодаЖурнала, ДЕНЬ)
        |    И (__Документ.Дата <= КОНЕЦПЕРИОДА(&ДатаОкончанияПериодаЖурнала, ДЕНЬ) или &ДатаОкончанияПериодаЖурнала = ДатаВремя(1,1,1))
        |    И (__Документ.Касса = "+ОсновнаяКасса+"
        |            ИЛИ __Документ.КассаОтправитель = "+ОсновнаяКасса+")
        |";


    ТекстЗапроса = ТекстЗапроса + "
    |УПОРЯДОЧИТЬ ПО Дата";
    ПостроительОтчета.Текст = ТекстЗапроса;
    ПостроительОтчета.ЗаполнитьНастройки();

Ошибка : Обработка.УниверсальныйЖурналДокументов.Форма.ОсновнаяФорма.Форма(683)}: Ошибка при установке значения атрибута контекста (Текст)
    ПостроительОтчета.Текст = ТекстЗапроса;
по причине:
{(15, 30)}: Ожидается выражение ")"
И (__Документ.Касса = Касса <<?>>GSL


КАК ДОБАВИТЬ В РАБОЧИЙ ЗАПРОС (Изначальный запрос) УСЛОВИЕ, ЧТОБ НЕ БЫЛО ЭТОЙ ОШИБКИ?
 
 
   rphosts
 
1 - 21.03.19 - 16:42
Может по _документ.дата ?
   SkillUp
 
2 - 21.03.19 - 16:46
(1) 1 мин.
   hhhh
 
3 - 21.03.19 - 16:47
(0)      |    И (__Документ.Касса = &ОсновнаяКасса
        |            ИЛИ __Документ.КассаОтправитель = &ОсновнаяКасса)
   SkillUp
 
4 - 21.03.19 - 16:48
я уже думал ,что нашлась причина, но нет... ( (1)
   SkillUp
 
5 - 21.03.19 - 16:48
(3) 1 мин.
   SkillUp
 
6 - 21.03.19 - 16:51
(3)

Пробую как посоветовал:

        ТекстЗапроса = ТекстЗапроса + "
        |    __Документ.Ссылка,
        |    __Документ.ПометкаУдаления,
        |    __Документ.Касса,
        |    __Документ.КассаОтправитель,
        |    " + ?(МетаданныеДокумента.ДлинаНомера, "__Документ.Номер","NULL") + " КАК Номер,
        |    __Документ.Дата,
            |       __Документ.Касса,
                |       __Документ.КассаОтправитель,
        |    __Документ.Проведен,
        |    """ + МетаданныеДокумента.Представление() + """  КАК ВидДокумента,";
        
        Если МетаданныеДокумента.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
            ТекстЗапроса = ТекстЗапроса + "
            |    ВЫБОР КОГДА __Документ.Проведен ТОГДА 0 ИНАЧЕ ВЫБОР КОГДА __Документ.ПометкаУдаления ТОГДА 2 ИНАЧЕ 1 КОНЕЦ КОНЕЦ КАК Иконка";
        Иначе
            ТекстЗапроса = ТекстЗапроса + "
            |    ВЫБОР КОГДА __Документ.ПометкаУдаления ТОГДА 3 ИНАЧЕ 0 КОНЕЦ КАК Иконка";
        КонецЕсли;
        
        Для каждого ВыводимаяГрафа Из СтруктураГраф Цикл
            ТекстЗапроса = ТекстЗапроса + "
            |    ," + ВыводимаяГрафа.Значение[ИмяДокумента] + " КАК " + ВыводимаяГрафа.Ключ;
        КонецЦикла;
        ТекстЗапроса = ТекстЗапроса + "
        |ИЗ Документ." + ИмяДокумента + " КАК __Документ
        |ГДЕ 
        |    __Документ.Дата >= НАЧАЛОПЕРИОДА(&ДатаНачалаПериодаЖурнала, ДЕНЬ)
        |    И (__Документ.Дата <= КОНЕЦПЕРИОДА(&ДатаОкончанияПериодаЖурнала, ДЕНЬ) или &ДатаОкончанияПериодаЖурнала = ДатаВремя(1,1,1))
        |    И (__Документ.Касса = &ОсновнаяКасса 
        |            ИЛИ __Документ.КассаОтправитель = &ОсновнаяКасса)";
        
ТекстЗапроса.УстановитьПараметр("ОсновнаяКасса", ОсновнаяКасса);

    КонецЦикла;

    ТекстЗапроса = ТекстЗапроса + " 
    |УПОРЯДОЧИТЬ  По_документ.дата";
    ПостроительОтчета.Текст = ТекстЗапроса;
    ПостроительОтчета.ЗаполнитьНастройки();


ОШИБКА: Обработка.УниверсальныйЖурналДокументов.Форма.ОсновнаяФорма.Форма(679)}: Значение не является значением объектного типа (УстановитьПараметр)
        ТекстЗапроса.УстановитьПараметр("ОсновнаяКасса", ОсновнаяКасса);
   vicof
 
7 - 21.03.19 - 16:52
(6) ТекстЗапроса <> Запрос
   SkillUp
 
8 - 21.03.19 - 16:53
(3) или ТекстЗапроса.УстановитьПараметр("ОсновнаяКасса", ОсновнаяКасса); В другом месте надо было?
   SkillUp
 
9 - 21.03.19 - 16:53
(7) Не понял...
   vicof
 
10 - 21.03.19 - 16:54
(9) ТекстЗапроса имеет тип строка и является реквизитом объекта Запрос.
   1Сергей
 
11 - 21.03.19 - 16:55
(9) Запрос.УстановитьПараметр("....
   SkillUp
 
12 - 21.03.19 - 16:55
(11) 1 мин.
   SkillUp
 
13 - 21.03.19 - 16:57
(10) АААА...

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