Имя: Пароль:
1C
1С v8
Подскажите с запросом: Синтаксическая ошибка "ВСЕ"
0 sapravka
 
19.12.14
01:40
Подскажите с запросом.
Здравствуйте.
Если что не так прошу сильно не ругать.
Добавил в табличную часть две строчки, с помощью конструктора запроса добавил их в запрос:

|    РеализацияТоваровУслугТовары.Плотность,
|    РеализацияТоваровУслугТовары.Литры

и теперь данный запрос стал выдавать ошибку:

{ОбщийМодуль.УчетНДС.Модуль(12042)}: Ошибка при вызове метода контекста (Выполнить)
    ВыборкаСтрокТовары = Запрос.Выполнить().Выбрать();
по причине:
{(30, 69)}: Синтаксическая ошибка "ВСЕ"
РеализацияТоваровУслугТовары.Ссылка = &ДокументОснованиеОБЪЕДИНИТЬ <<?>>ВСЕ

подскажите в чем дело?



Вот сам запрос:

Запрос = Новый Запрос;
    Если ТипЗнч(ТекущееОснование) = Тип("ДокументСсылка.РеализацияОтгруженныхТоваров") Тогда
        Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование.ДокументОтгрузки);
    Иначе
        Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование);
    КонецЕсли;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    РеализацияТоваровУслугТовары.Номенклатура КАК Товар,
    |    ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование,
    |    РеализацияТоваровУслугТовары.Номенклатура.Код КАК ТоварКод,
    |    РеализацияТоваровУслугТовары.Номенклатура.Артикул КАК ТоварАртикул,
    |    РеализацияТоваровУслугТовары.СтранаПроисхождения КАК СтранаПроисхождения,
    |    РеализацияТоваровУслугТовары.СтранаПроисхождения.НаименованиеПолное КАК ПредставлениеСтраны,
    |    РеализацияТоваровУслугТовары.СтранаПроисхождения.Код КАК СтранаПроисхожденияКод,
    |    РеализацияТоваровУслугТовары.Номенклатура.БазоваяЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения,
    |    РеализацияТоваровУслугТовары.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
    |    РеализацияТоваровУслугТовары.НомерГТД КАК НомерГТД,
    |    РеализацияТоваровУслугТовары.НомерГТД.Представление КАК ПредставлениеГТД,
    |    РеализацияТоваровУслугТовары.Количество КАК Количество,
    |    РеализацияТоваровУслугТовары.Цена КАК Цена,
    |    РеализацияТоваровУслугТовары.СтавкаНДС КАК СтавкаНДС,
    |    РеализацияТоваровУслугТовары.СуммаНДС КАК СуммаНДС,
    |    РеализацияТоваровУслугТовары.Сумма КАК Сумма,
    |    РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтроки,
    |    ВЫБОР
    |        КОГДА РеализацияТоваровУслугТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
    |            ТОГДА 0
    |        ИНАЧЕ 1
    |    КОНЕЦ КАК ЕстьНДС,
    |    ""Товары"" КАК ВидПоступления,
    |    РеализацияТоваровУслугТовары.Плотность,
    |    РеализацияТоваровУслугТовары.Литры
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    |ГДЕ
    |    РеализацияТоваровУслугТовары.Ссылка = &ДокументОснование";
    Если Не (ТипЗнч(ТекущееОснование) = Тип("ДокументСсылка.РеализацияОтгруженныхТоваров") Или
           ТекущееОснование.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ОтгрузкаБезПереходаПраваСобственности) Тогда
        Запрос.Текст = Запрос.Текст +
        "ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |    РеализацияТоваровУслугУслуги.Номенклатура,
        |    ВЫРАЗИТЬ(РеализацияТоваровУслугУслуги.Содержание КАК СТРОКА(1000)),
        |    РеализацияТоваровУслугУслуги.Номенклатура.Код,
        |    РеализацияТоваровУслугУслуги.Номенклатура.Артикул,
        |    NULL,
        |    """",
        |    """",
        |    РеализацияТоваровУслугУслуги.Номенклатура.БазоваяЕдиницаИзмерения.Представление,
        |    РеализацияТоваровУслугУслуги.Номенклатура.БазоваяЕдиницаИзмерения.Код,
        |    NULL,
        |    """",
        |    РеализацияТоваровУслугУслуги.Количество,
        |    РеализацияТоваровУслугУслуги.Цена,
        |    РеализацияТоваровУслугУслуги.СтавкаНДС,
        |    РеализацияТоваровУслугУслуги.СуммаНДС,
        |    РеализацияТоваровУслугУслуги.Сумма,
        |    РеализацияТоваровУслугУслуги.НомерСтроки,
        |    ВЫБОР
        |        КОГДА РеализацияТоваровУслугУслуги.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
        |            ТОГДА 0
        |        ИНАЧЕ 1
        |    КОНЕЦ КАК ЕстьНДС,
        |    ""Услуги""
        |ИЗ
        |    Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
        |ГДЕ
        |    РеализацияТоваровУслугУслуги.Ссылка = &ДокументОснование
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |    РеализацияТоваровУслугАгентскиеУслуги.Номенклатура,
        |    ВЫРАЗИТЬ(РеализацияТоваровУслугАгентскиеУслуги.Содержание КАК СТРОКА(1000)),
        |    РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.Код,
        |    РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.Артикул,
        |    NULL,
        |    """",
        |    """",
        |    РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.БазоваяЕдиницаИзмерения.Представление,
        |    РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.БазоваяЕдиницаИзмерения.Код,
        |    NULL,
        |    """",
        |    РеализацияТоваровУслугАгентскиеУслуги.Количество,
        |    РеализацияТоваровУслугАгентскиеУслуги.Цена,
        |    РеализацияТоваровУслугАгентскиеУслуги.СтавкаНДС,
        |    РеализацияТоваровУслугАгентскиеУслуги.СуммаНДС,
        |    РеализацияТоваровУслугАгентскиеУслуги.Сумма,
        |    РеализацияТоваровУслугАгентскиеУслуги.НомерСтроки,
        |    ВЫБОР
        |        КОГДА РеализацияТоваровУслугАгентскиеУслуги.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
        |            ТОГДА 0
        |        ИНАЧЕ 1
        |    КОНЕЦ КАК ЕстьНДС,
        |    ""АгентскиеУслуги""
        |ИЗ
        |    Документ.РеализацияТоваровУслуг.АгентскиеУслуги КАК РеализацияТоваровУслугАгентскиеУслуги
        |ГДЕ
        |    РеализацияТоваровУслугАгентскиеУслуги.Ссылка = &ДокументОснование
        |
        |УПОРЯДОЧИТЬ ПО
        |    ВидПоступления,
        |    НомерСтроки";
    Иначе
        Запрос.Текст = Запрос.Текст +
        "УПОРЯДОЧИТЬ ПО
        |    НомерСтроки";
    КонецЕсли;
    
    ВыборкаСтрокТовары = Запрос.Выполнить().Выбрать();
1 Записьдампа
 
19.12.14
01:47
Число колонок в объединяемых выборках разное стало. Для достижения гармонии надо добавить:
...
|    ВЫБОР
|        КОГДА РеализацияТоваровУслугУслуги.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
|            ТОГДА 0
|        ИНАЧЕ 1
|    КОНЕЦ КАК ЕстьНДС,
|    ""Услуги""
| <какая-то плотность>, <какие-то литры>

И
...
|    ВЫБОР
|        КОГДА РеализацияТоваровУслугАгентскиеУслуги.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
|            ТОГДА 0
|        ИНАЧЕ 1
|    КОНЕЦ КАК ЕстьНДС,
|    ""АгентскиеУслуги""
| <какая-то плотность>, <какие-то литры>
2 alle68
 
19.12.14
01:52
Чего не хватает: "&ДокументОснованиеОБЪЕДИНИТЬ"?
Точно, пробела!!!
3 Garykom
 
гуру
19.12.14
01:52
(0) и (1)+ не только еще

РеализацияТоваровУслугТовары.Ссылка = &ДокументОснованиеОБЪЕДИНИТЬ ВСЕ

Пробел вставь посередине запроса, там где второй прибавляется чтобы былоРеализацияТоваровУслугТовары.Ссылка = &ДокументОснование ОБЪЕДИНИТЬ ВСЕ

Тут к примеру
...
|    РеализацияТоваровУслугТовары.Ссылка = &ДокументОснование !Вставить пробел!";
Если Не (ТипЗнч(ТекущееОснование) = Тип("ДокументСсылка.РеализацияОтгруженныхТоваров") Или ...
4 User_Agronom
 
19.12.14
01:52
в строке
...
|    РеализацияТоваровУслугТовары.Ссылка = &ДокументОснование";
...

нужно добавить пробел. Так:
|    РеализацияТоваровУслугТовары.Ссылка = &ДокументОснование ";

или так
|    РеализацияТоваровУслугТовары.Ссылка = &ДокументОснование"+символы.Пс;
5 sapravka
 
19.12.14
02:01
(1) пробовал, но ошибку все равно давало, но вот после постановки пробела:
(3) и (4)
ВСЕ заработало....

!!!СПАСИБО!!!!

А если не сложно, можно пару слов про пробел - просто что то никак не пойму при чем тут пробел?

Добавил пробел:

|    РеализацияТоваровУслугТовары.Ссылка = &ДокументОснование ";

И все заработало...
6 User_Agronom
 
19.12.14
02:25
(5) "РеализацияТоваровУслугТовары.Ссылка = &ДокументОснование" + "ОБЪЕДИНИТЬ ВСЕ"

Даёт: "РеализацияТоваровУслугТовары.Ссылка = &ДокументОснованиеОБЪЕДИНИТЬ ВСЕ"


&ДокументОснованиеОБЪЕДИНИТЬ = параметр запроса. А на ВСЕ ругался.
        |
7 Андрюха
 
19.12.14
05:00
Синтаксическая ошибка: ОЙ, ВСЁ!
8 Godofsin
 
19.12.14
06:32
(7) =))))))
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.