Синтаксическая ошибка как конец

Синтаксическая ошибка в запросе

Я
   pnamik

01.03.15 — 10:40

Добрый день

1С 8.0.18.2. самописная конфа.

При сформировании отчета валовая прибыль выдает ошибку:

{Форма.Форма(107)}: Ошибка при вызове метода контекста (Выполнить): {(29, 8)}: Синтаксическая ошибка «КАК»

КОНЕЦ <<?>>КАК Рентабельность

        РезультатЗапроса = Запрос.Выполнить();

Не понимаю, как исправить. Помогите, пожалуйста

Часть текста запроса:

        Запрос = Новый Запрос(«ВЫБРАТЬ

                              |    ДвиженияПоПартиям.Период,

                              |    ДвиженияПоПартиям.Регистратор,

                              |    ДвиженияПоПартиям.КодОперации,

                              |    ДвиженияПоПартиям.Номенклатура КАК Номенклатура,

                              |    ДвиженияПоПартиям.Склад КАК Склад,

                              |    ДвиженияПоПартиям.Партия КАК Партия,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1*0 ИНАЧЕ 1 КОНЕЦ * ДвиженияПоПартиям.Количество КАК Количество,

                              | ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА -Чеки.СуммаВсего*0 ИНАЧЕ

                              |    ДвиженияПоПартиям.СуммаПрод КОНЕЦ  КАК Выручка,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1 ИНАЧЕ 0 КОНЕЦ * ДвиженияПоПартиям.Количество КАК КоличествоВозврат,

                              | ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА -Чеки.СуммаВсего ИНАЧЕ

                              |    0 КОНЕЦ  КАК ВыручкаВозврат,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1 ИНАЧЕ 1 КОНЕЦ *    ДвиженияПоПартиям.Сумма КАК Себестоимость,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              |    (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма КОНЕЦ  КАК ВаловаяПрибыль,

                              |    ВЫБОР

                              |        КОГДА ЕСТЬNULL(ДвиженияПоПартиям.Сумма, 0) = 0

                              |            ТОГДА 0

                              |        ИНАЧЕ

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.Сумма * 100

                              |    КОНЕЦ КАК Наценка,

                              |     ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КОНЕЦ КАК Рентабельность

                              |ИЗ

                              |    РегистрНакопления.ДвиженияПоПартиям КАК ДвиженияПоПартиям

                              | ЛЕВОЕ СОЕДИНЕНИЕ Документ.КассовыйЧек.Покупки КАК Чеки

                              | ПО Чеки.Ссылка = ДвиженияПоПартиям.Регистратор

                              | И Чеки.НомерСтроки = ДвиженияПоПартиям.НомерСтроки

                              |ГДЕ

                              |    ДвиженияПоПартиям.Период МЕЖДУ &НачалоПериода И &КонецПериода

                              |    И ДвиженияПоПартиям.Регистратор ССЫЛКА Документ.КассовыйЧек» +

                              ?(МассивНоменклатуры.Количество() > 0, » И ДвиженияПоПартиям.Номенклатура В ИЕРАРХИИ(&МассивНоменклатуры)», «») +

                              ?(СкладЗаполнен = Истина, » И ДвиженияПоПартиям.Склад В ИЕРАРХИИ(&Склад)», «») +

                              ?(ПартияЗаполнен = Истина, » И ДвиженияПоПартиям.Партия В ИЕРАРХИИ(&Партия)», «») + »

                              |ИТОГИ

                              |    СУММА(КоличествоВозврат),

                              |    СУММА(ВыручкаВозврат),

                              |    СУММА(Количество),

                              |    СУММА(Выручка),

                              |    СУММА(Себестоимость),

                              |    СУММА(ВаловаяПрибыль),

                              |    СУММА(Наценка),

                              |    СУММА(Рентабельность)

                              |ПО

                              |    ОБЩИЕ,

                              |    Номенклатура ИЕРАРХИЯ»);

        Запрос.УстановитьПараметр(«КВ», Перечисления.КодыОпераций.ВозвратОтПокупателя);

        Запрос.УстановитьПараметр(«НачалоПериода», НачалоДня(НачалоПериода));

        Запрос.УстановитьПараметр(«КонецПериода», КонецДня(КонецПериода));

        Запрос.УстановитьПараметр(«МассивНоменклатуры», МассивНоменклатуры);

        Запрос.УстановитьПараметр(«Склад», Склад);

        Запрос.УстановитьПараметр(«Партия», Партия);

        
        РезультатЗапроса = Запрос.Выполнить();

        Выборка = РезультатЗапроса.Выбрать();

        ОбработкаПрерыванияПользователя();

        
        Макет = ПолучитьМакет(«МакетВариант1»);

   pnamik

1 — 01.03.15 — 10:41

Запрос = Новый Запрос(«ВЫБРАТЬ

                              |    ДвиженияПоПартиям.Период,

                              |    ДвиженияПоПартиям.Регистратор,

                              |    ДвиженияПоПартиям.КодОперации,

                              |    ДвиженияПоПартиям.Номенклатура КАК Номенклатура,

                              |    ДвиженияПоПартиям.Склад КАК Склад,

                              |    ДвиженияПоПартиям.Партия КАК Партия,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1*0 ИНАЧЕ 1 КОНЕЦ * ДвиженияПоПартиям.Количество КАК Количество,

                              | ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА -Чеки.СуммаВсего*0 ИНАЧЕ

                              |    ДвиженияПоПартиям.СуммаПрод КОНЕЦ  КАК Выручка,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1 ИНАЧЕ 0 КОНЕЦ * ДвиженияПоПартиям.Количество КАК КоличествоВозврат,

                              | ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА -Чеки.СуммаВсего ИНАЧЕ

                              |    0 КОНЕЦ  КАК ВыручкаВозврат,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1 ИНАЧЕ 1 КОНЕЦ *    ДвиженияПоПартиям.Сумма КАК Себестоимость,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              |    (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма КОНЕЦ  КАК ВаловаяПрибыль,

                              |    ВЫБОР

                              |        КОГДА ЕСТЬNULL(ДвиженияПоПартиям.Сумма, 0) = 0

                              |            ТОГДА 0

                              |        ИНАЧЕ

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.Сумма * 100

                              |    КОНЕЦ КАК Наценка,

                              |     ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КОНЕЦ КАК Рентабельность

                              |ИЗ

                              |    РегистрНакопления.ДвиженияПоПартиям КАК ДвиженияПоПартиям

                              | ЛЕВОЕ СОЕДИНЕНИЕ Документ.КассовыйЧек.Покупки КАК Чеки

                              | ПО Чеки.Ссылка = ДвиженияПоПартиям.Регистратор

                              | И Чеки.НомерСтроки = ДвиженияПоПартиям.НомерСтроки

                              |ГДЕ

                              |    ДвиженияПоПартиям.Период МЕЖДУ &НачалоПериода И &КонецПериода

                              |    И ДвиженияПоПартиям.Регистратор ССЫЛКА Документ.КассовыйЧек» +

                              ?(МассивНоменклатуры.Количество() > 0, » И ДвиженияПоПартиям.Номенклатура В ИЕРАРХИИ(&МассивНоменклатуры)», «») +

                              ?(СкладЗаполнен = Истина, » И ДвиженияПоПартиям.Склад В ИЕРАРХИИ(&Склад)», «») +

                              ?(ПартияЗаполнен = Истина, » И ДвиженияПоПартиям.Партия В ИЕРАРХИИ(&Партия)», «») + »

                              |ИТОГИ

                              |    СУММА(КоличествоВозврат),

                              |    СУММА(ВыручкаВозврат),

                              |    СУММА(Количество),

                              |    СУММА(Выручка),

                              |    СУММА(Себестоимость),

                              |    СУММА(ВаловаяПрибыль),

                              |    СУММА(Наценка),

                              |    СУММА(Рентабельность)

                              |ПО

                              |    ОБЩИЕ,

                              |    Номенклатура ИЕРАРХИЯ»);

        Запрос.УстановитьПараметр(«КВ», Перечисления.КодыОпераций.ВозвратОтПокупателя);

        Запрос.УстановитьПараметр(«НачалоПериода», НачалоДня(НачалоПериода));

        Запрос.УстановитьПараметр(«КонецПериода», КонецДня(КонецПериода));

        Запрос.УстановитьПараметр(«МассивНоменклатуры», МассивНоменклатуры);

        Запрос.УстановитьПараметр(«Склад», Склад);

        Запрос.УстановитьПараметр(«Партия», Партия);

        
        РезультатЗапроса = Запрос.Выполнить();

        Выборка = РезультатЗапроса.Выбрать();

        ОбработкаПрерыванияПользователя();

        
        Макет = ПолучитьМакет(«МакетВариант1»);

   ДенисЧ

2 — 01.03.15 — 10:46

(Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1

тут ошибка

   Записьдампа

3 — 01.03.15 — 10:49

КОНЕЦ разделить на Сумму и умножить на 100 КОНЦОВ

=)

   hhhh

4 — 01.03.15 — 10:55

два раза КОНЕЦ впендюрил, элементарно же.

   pnamik

5 — 01.03.15 — 11:15

в общем, так и не получилось. изначально было в отчете наценка в виде

….

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.Сумма * 100

                              |    КОНЕЦ КАК Наценка,

по аналогии хотел добавить в текст запроса рентабельность (в макет добавил)

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КОНЕЦ КАК Рентабельность

выдал ошибку (0).

Думаю (2) прав. чем заменить это выражение, не знаю.

   ДенисЧ

6 — 01.03.15 — 11:17

второй конец убери. А то как-то неприлично получается…

   Wobland

7 — 01.03.15 — 11:17

-(Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма). внезапно, правда?

   pnamik

8 — 01.03.15 — 11:29

предлагаемые варианты (6) и (7) попробовал. та же синтаксическая ошибка. не понимание — это ужас.

   pnamik

9 — 01.03.15 — 11:31

{Форма.Форма(107)}: Ошибка при вызове метода контекста (Выполнить): {(27, 2)}: Синтаксическая ошибка «ВЫБОР»

<<?>>ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

        РезультатЗапроса = Запрос.Выполнить();

   Wobland

10 — 01.03.15 — 11:33

(9) выборы и концы пересчитал?

   pnamik

11 — 01.03.15 — 11:33

варианты

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | -(Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма) ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КОНЕЦ КАК Рентабельность

или

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | -(Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма) ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КОНЕЦ КАК Рентабельность

или же

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | -(Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма) ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КАК Рентабельность

или же еще в разных вариациях

   Wobland

12 — 01.03.15 — 11:35

я вижу ошибку в поле, которое заканчивается на 26й строке

   pnamik

13 — 01.03.15 — 11:37

т.е. в этой строке:

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА ?

   pnamik

14 — 01.03.15 — 11:38

(9) имеется ввиду это?

|ИТОГИ

                              |    СУММА(КоличествоВозврат),

                              |    СУММА(ВыручкаВозврат),

                              |    СУММА(Количество),

                              |    СУММА(Выручка),

                              |    СУММА(Себестоимость),

                              |    СУММА(ВаловаяПрибыль),

                              |    СУММА(Наценка),

                              |    СУММА(Рентабельность)

   Записьдампа

15 — 01.03.15 — 11:40

Лишний конец уравновешивается выбором! =)

ВЫБОР
    КОГДА ЕСТЬNULL(ДвиженияПоПартиям.Сумма, 0) = 0
    ТОГДА
        0
    ИНАЧЕ 
        ВЫБОР
            КОГДА ДвиженияПоПартиям.КодОперации = &КВ
            ТОГДА
                Чеки.СуммаВсего - ДвиженияПоПартиям.Сумма)*-1 
            ИНАЧЕ 
                (ДвиженияПоПартиям.СуммаПрод - ДвиженияПоПартиям.Сумма) 
        КОНЕЦ / ДвиженияПоПартиям.Сумма * 100

КОНЕЦ КАК Наценка,


ВЫБОР
    КОГДА ЕСТЬNULL(ДвиженияПоПартиям.СуммаПрод, 0) = 0
    ТОГДА
        0
    ИНАЧЕ
        ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ
            ТОГДА
                (Чеки.СуммаВсего - ДвиженияПоПартиям.Сумма)*-1 
            ИНАЧЕ 
                (ДвиженияПоПартиям.СуммаПрод - ДвиженияПоПартиям.Сумма) 
        КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

КОНЕЦ КАК Рентабельность

   Wobland

16 — 01.03.15 — 11:40

(13) сам считай свои строки

   pnamik

17 — 01.03.15 — 11:49

(15) умница, спасибо. по крайней мере пока ошибок нет. проверю правильно ли считает. Думаю, все будет правильно. т.к. формула правильная. Нужно было аналогии чуть сверху начинать.

  

pnamik

18 — 01.03.15 — 11:57

(16), (6), (4), (2) также спасибо за участие в обсуждении

Синтаксическая ошибка в запросе

Я

  

pnamik

01.03.15 — 10:40

Добрый день

1С 8.0.18.2. самописная конфа.

При сформировании отчета валовая прибыль выдает ошибку:

{Форма.Форма(107)}: Ошибка при вызове метода контекста (Выполнить): {(29, 8)}: Синтаксическая ошибка «КАК»

КОНЕЦ <<?>>КАК Рентабельность

        РезультатЗапроса = Запрос.Выполнить();

Не понимаю, как исправить. Помогите, пожалуйста

Часть текста запроса:

        Запрос = Новый Запрос(«ВЫБРАТЬ

                              |    ДвиженияПоПартиям.Период,

                              |    ДвиженияПоПартиям.Регистратор,

                              |    ДвиженияПоПартиям.КодОперации,

                              |    ДвиженияПоПартиям.Номенклатура КАК Номенклатура,

                              |    ДвиженияПоПартиям.Склад КАК Склад,

                              |    ДвиженияПоПартиям.Партия КАК Партия,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1*0 ИНАЧЕ 1 КОНЕЦ * ДвиженияПоПартиям.Количество КАК Количество,

                              | ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА -Чеки.СуммаВсего*0 ИНАЧЕ

                              |    ДвиженияПоПартиям.СуммаПрод КОНЕЦ  КАК Выручка,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1 ИНАЧЕ 0 КОНЕЦ * ДвиженияПоПартиям.Количество КАК КоличествоВозврат,

                              | ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА -Чеки.СуммаВсего ИНАЧЕ

                              |    0 КОНЕЦ  КАК ВыручкаВозврат,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1 ИНАЧЕ 1 КОНЕЦ *    ДвиженияПоПартиям.Сумма КАК Себестоимость,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              |    (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма КОНЕЦ  КАК ВаловаяПрибыль,

                              |    ВЫБОР

                              |        КОГДА ЕСТЬNULL(ДвиженияПоПартиям.Сумма, 0) = 0

                              |            ТОГДА 0

                              |        ИНАЧЕ

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.Сумма * 100

                              |    КОНЕЦ КАК Наценка,

                              |     ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КОНЕЦ КАК Рентабельность

                              |ИЗ

                              |    РегистрНакопления.ДвиженияПоПартиям КАК ДвиженияПоПартиям

                              | ЛЕВОЕ СОЕДИНЕНИЕ Документ.КассовыйЧек.Покупки КАК Чеки

                              | ПО Чеки.Ссылка = ДвиженияПоПартиям.Регистратор

                              | И Чеки.НомерСтроки = ДвиженияПоПартиям.НомерСтроки

                              |ГДЕ

                              |    ДвиженияПоПартиям.Период МЕЖДУ &НачалоПериода И &КонецПериода

                              |    И ДвиженияПоПартиям.Регистратор ССЫЛКА Документ.КассовыйЧек» +

                              ?(МассивНоменклатуры.Количество() > 0, » И ДвиженияПоПартиям.Номенклатура В ИЕРАРХИИ(&МассивНоменклатуры)», «») +

                              ?(СкладЗаполнен = Истина, » И ДвиженияПоПартиям.Склад В ИЕРАРХИИ(&Склад)», «») +

                              ?(ПартияЗаполнен = Истина, » И ДвиженияПоПартиям.Партия В ИЕРАРХИИ(&Партия)», «») + »

                              |ИТОГИ

                              |    СУММА(КоличествоВозврат),

                              |    СУММА(ВыручкаВозврат),

                              |    СУММА(Количество),

                              |    СУММА(Выручка),

                              |    СУММА(Себестоимость),

                              |    СУММА(ВаловаяПрибыль),

                              |    СУММА(Наценка),

                              |    СУММА(Рентабельность)

                              |ПО

                              |    ОБЩИЕ,

                              |    Номенклатура ИЕРАРХИЯ»);

        Запрос.УстановитьПараметр(«КВ», Перечисления.КодыОпераций.ВозвратОтПокупателя);

        Запрос.УстановитьПараметр(«НачалоПериода», НачалоДня(НачалоПериода));

        Запрос.УстановитьПараметр(«КонецПериода», КонецДня(КонецПериода));

        Запрос.УстановитьПараметр(«МассивНоменклатуры», МассивНоменклатуры);

        Запрос.УстановитьПараметр(«Склад», Склад);

        Запрос.УстановитьПараметр(«Партия», Партия);

        

        РезультатЗапроса = Запрос.Выполнить();

        Выборка = РезультатЗапроса.Выбрать();

        ОбработкаПрерыванияПользователя();

        
        Макет = ПолучитьМакет(«МакетВариант1»);

  

pnamik

1 — 01.03.15 — 10:41

Запрос = Новый Запрос(«ВЫБРАТЬ

                              |    ДвиженияПоПартиям.Период,

                              |    ДвиженияПоПартиям.Регистратор,

                              |    ДвиженияПоПартиям.КодОперации,

                              |    ДвиженияПоПартиям.Номенклатура КАК Номенклатура,

                              |    ДвиженияПоПартиям.Склад КАК Склад,

                              |    ДвиженияПоПартиям.Партия КАК Партия,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1*0 ИНАЧЕ 1 КОНЕЦ * ДвиженияПоПартиям.Количество КАК Количество,

                              | ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА -Чеки.СуммаВсего*0 ИНАЧЕ

                              |    ДвиженияПоПартиям.СуммаПрод КОНЕЦ  КАК Выручка,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1 ИНАЧЕ 0 КОНЕЦ * ДвиженияПоПартиям.Количество КАК КоличествоВозврат,

                              | ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА -Чеки.СуммаВсего ИНАЧЕ

                              |    0 КОНЕЦ  КАК ВыручкаВозврат,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | -1 ИНАЧЕ 1 КОНЕЦ *    ДвиженияПоПартиям.Сумма КАК Себестоимость,

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              |    (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма КОНЕЦ  КАК ВаловаяПрибыль,

                              |    ВЫБОР

                              |        КОГДА ЕСТЬNULL(ДвиженияПоПартиям.Сумма, 0) = 0

                              |            ТОГДА 0

                              |        ИНАЧЕ

                              |    ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.Сумма * 100

                              |    КОНЕЦ КАК Наценка,

                              |     ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КОНЕЦ КАК Рентабельность

                              |ИЗ

                              |    РегистрНакопления.ДвиженияПоПартиям КАК ДвиженияПоПартиям

                              | ЛЕВОЕ СОЕДИНЕНИЕ Документ.КассовыйЧек.Покупки КАК Чеки

                              | ПО Чеки.Ссылка = ДвиженияПоПартиям.Регистратор

                              | И Чеки.НомерСтроки = ДвиженияПоПартиям.НомерСтроки

                              |ГДЕ

                              |    ДвиженияПоПартиям.Период МЕЖДУ &НачалоПериода И &КонецПериода

                              |    И ДвиженияПоПартиям.Регистратор ССЫЛКА Документ.КассовыйЧек» +

                              ?(МассивНоменклатуры.Количество() > 0, » И ДвиженияПоПартиям.Номенклатура В ИЕРАРХИИ(&МассивНоменклатуры)», «») +

                              ?(СкладЗаполнен = Истина, » И ДвиженияПоПартиям.Склад В ИЕРАРХИИ(&Склад)», «») +

                              ?(ПартияЗаполнен = Истина, » И ДвиженияПоПартиям.Партия В ИЕРАРХИИ(&Партия)», «») + »

                              |ИТОГИ

                              |    СУММА(КоличествоВозврат),

                              |    СУММА(ВыручкаВозврат),

                              |    СУММА(Количество),

                              |    СУММА(Выручка),

                              |    СУММА(Себестоимость),

                              |    СУММА(ВаловаяПрибыль),

                              |    СУММА(Наценка),

                              |    СУММА(Рентабельность)

                              |ПО

                              |    ОБЩИЕ,

                              |    Номенклатура ИЕРАРХИЯ»);

        Запрос.УстановитьПараметр(«КВ», Перечисления.КодыОпераций.ВозвратОтПокупателя);

        Запрос.УстановитьПараметр(«НачалоПериода», НачалоДня(НачалоПериода));

        Запрос.УстановитьПараметр(«КонецПериода», КонецДня(КонецПериода));

        Запрос.УстановитьПараметр(«МассивНоменклатуры», МассивНоменклатуры);

        Запрос.УстановитьПараметр(«Склад», Склад);

        Запрос.УстановитьПараметр(«Партия», Партия);

        

        РезультатЗапроса = Запрос.Выполнить();

        Выборка = РезультатЗапроса.Выбрать();

        ОбработкаПрерыванияПользователя();

        
        Макет = ПолучитьМакет(«МакетВариант1»);

  

ДенисЧ

2 — 01.03.15 — 10:46

(Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1

тут ошибка

  

Записьдампа

3 — 01.03.15 — 10:49

КОНЕЦ разделить на Сумму и умножить на 100 КОНЦОВ

=)

  

hhhh

4 — 01.03.15 — 10:55

два раза КОНЕЦ впендюрил, элементарно же.

  

pnamik

5 — 01.03.15 — 11:15

в общем, так и не получилось. изначально было в отчете наценка в виде

….

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.Сумма * 100

                              |    КОНЕЦ КАК Наценка,

по аналогии хотел добавить в текст запроса рентабельность (в макет добавил)

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | (Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма)*-1 ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КОНЕЦ КАК Рентабельность

выдал ошибку (0).

Думаю (2) прав. чем заменить это выражение, не знаю.

  

ДенисЧ

6 — 01.03.15 — 11:17

второй конец убери. А то как-то неприлично получается…

  

Wobland

7 — 01.03.15 — 11:17

-(Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма). внезапно, правда?

  

pnamik

8 — 01.03.15 — 11:29

предлагаемые варианты (6) и (7) попробовал. та же синтаксическая ошибка. не понимание — это ужас.

  

pnamik

9 — 01.03.15 — 11:31

{Форма.Форма(107)}: Ошибка при вызове метода контекста (Выполнить): {(27, 2)}: Синтаксическая ошибка «ВЫБОР»

<<?>>ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ ТОГДА

        РезультатЗапроса = Запрос.Выполнить();

  

Wobland

10 — 01.03.15 — 11:33

(9) выборы и концы пересчитал?

  

pnamik

11 — 01.03.15 — 11:33

варианты

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | -(Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма) ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КОНЕЦ КАК Рентабельность

или

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | -(Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма) ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КОНЕЦ КАК Рентабельность

или же

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА

                              | -(Чеки.СуммаВсего — ДвиженияПоПартиям.Сумма) ИНАЧЕ (ДвиженияПоПартиям.СуммаПрод — ДвиженияПоПартиям.Сумма) КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

                              |    КАК Рентабельность

или же еще в разных вариациях

  

Wobland

12 — 01.03.15 — 11:35

я вижу ошибку в поле, которое заканчивается на 26й строке

  

pnamik

13 — 01.03.15 — 11:37

т.е. в этой строке:

ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ  ТОГДА ?

  

pnamik

14 — 01.03.15 — 11:38

(9) имеется ввиду это?

|ИТОГИ

                              |    СУММА(КоличествоВозврат),

                              |    СУММА(ВыручкаВозврат),

                              |    СУММА(Количество),

                              |    СУММА(Выручка),

                              |    СУММА(Себестоимость),

                              |    СУММА(ВаловаяПрибыль),

                              |    СУММА(Наценка),

                              |    СУММА(Рентабельность)

  

Записьдампа

15 — 01.03.15 — 11:40

Лишний конец уравновешивается выбором! =)

ВЫБОР
    КОГДА ЕСТЬNULL(ДвиженияПоПартиям.Сумма, 0) = 0
    ТОГДА
        0
    ИНАЧЕ 
        ВЫБОР
            КОГДА ДвиженияПоПартиям.КодОперации = &КВ
            ТОГДА
                Чеки.СуммаВсего - ДвиженияПоПартиям.Сумма)*-1 
            ИНАЧЕ 
                (ДвиженияПоПартиям.СуммаПрод - ДвиженияПоПартиям.Сумма) 
        КОНЕЦ / ДвиженияПоПартиям.Сумма * 100

КОНЕЦ КАК Наценка,


ВЫБОР
    КОГДА ЕСТЬNULL(ДвиженияПоПартиям.СуммаПрод, 0) = 0
    ТОГДА
        0
    ИНАЧЕ
        ВЫБОР КОГДА ДвиженияПоПартиям.КодОперации = &КВ
            ТОГДА
                (Чеки.СуммаВсего - ДвиженияПоПартиям.Сумма)*-1 
            ИНАЧЕ 
                (ДвиженияПоПартиям.СуммаПрод - ДвиженияПоПартиям.Сумма) 
        КОНЕЦ / ДвиженияПоПартиям.СуммаПрод * 100

КОНЕЦ КАК Рентабельность

  

Wobland

16 — 01.03.15 — 11:40

(13) сам считай свои строки

  

pnamik

17 — 01.03.15 — 11:49

(15) умница, спасибо. по крайней мере пока ошибок нет. проверю правильно ли считает. Думаю, все будет правильно. т.к. формула правильная. Нужно было аналогии чуть сверху начинать.

  

pnamik

18 — 01.03.15 — 11:57

(16), (6), (4), (2) также спасибо за участие в обсуждении

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Ivan_Ivanov

Дата регистрации: 06.06.2007
Сообщений: 168

«Текст запроса:<br> Запрос.Текст = <br> «ВЫБРАТЬ<br> | СведенияОДоходах.ФизЛицо,<br> | МЕСЯЦ(СведенияОДоходах.Период) КАК Месяц,<br> | СведенияОДоходах.ОблагаетсяЕНВД,<br> | СведенияОДоходах.ОблагаетсяПоДополнительномуТарифу,<br> | СведенияОДоходах.ВидДохода,<br> | СведенияОДоходах.Результат — СведенияОДоходах.Скидка КАК ОблагаемыйДоход<br> |ПОМЕСТИТЬ ВТДанныеДокумента<br> |ИЗ<br> | &ДанныеОДоходах КАК СведенияОДоходах»;<br> Запрос.УстановитьПараметр(«ДанныеОДоходах», ДанныеОДоходах);<br> Запрос.Выполнить();<br> <br> // ФизлицаДляРасчета<br> //<br> Если ОрганичениеНаСотрудников = Неопределено Тогда<br> <br> Запрос.Текст = <br> «ВЫБРАТЬ РАЗЛИЧНЫЕ<br> | СведенияОДоходах.ФизЛицо КАК ФизЛицо<br> |ПОМЕСТИТЬ ВТСписокСотрудников<br> |ИЗ<br> | РегистрНакопления.СтраховыеВзносыСведенияОДоходах КАК СведенияОДоходах<br> |ГДЕ<br> | НАЧАЛОПЕРИОДА(СведенияОДоходах.Период, МЕСЯЦ) = &парамПериодРегистрации<br> | И СведенияОДоходах.ОбособленноеПодразделение = &парамОбособленноеПодразделение<br> |<br> |ОБЪЕДИНИТЬ<br> |<br> |ВЫБРАТЬ РАЗЛИЧНЫЕ<br> | СведенияОДоходах.ФизЛицо<br> |ИЗ<br> | ВТДанныеДокумента КАК СведенияОДоходах<br> |<br> |ИНДЕКСИРОВАТЬ ПО<br> | ФизЛицо»;<br> Запрос.Выполнить();<br> <br> Иначе<br> Запрос.Текст = <br> «ВЫБРАТЬ РАЗЛИЧНЫЕ<br>       | ТаблицаСотрудников.ФизЛицо КАК ФизЛицо<br>       |ПОМЕСТИТЬ ВТСписокСотрудников<br>       |ИЗ<br>       | &парамТаблицаСотрудников КАК ТаблицаСотрудников<br>       |<br>       |ИНДЕКСИРОВАТЬ ПО<br>       | ФизЛицо»;<br> Запрос.УстановитьПараметр(«парамТаблицаСотрудников», ОрганичениеНаСотрудников);<br> Запрос.Выполнить();<br> КонецЕсли;<br> <br> // Периоды<br> // Таблица список периодов<br> // Поля:<br> // Период<br> // Описание:<br> // список периодов — первые даты месяцев с начала года по «текущий» для запроса период<br> //<br> <br> // конец месяца налогового периода<br> КонецМесяца = КонецМесяца(НачалоГода(ПериодРегистрации));<br> // первый месяц<br> ПериодыТекст = «ВЫБРАТЬ ДАТАВРЕМЯ(» + Формат(КонецМесяца,»ДФ=гггг,М,д,Ч,м,с») + «) КАК Период ПОМЕСТИТЬ ВТПериоды»;<br> // прибавим остальные месяцы<br> Для Сч = 2 По Месяц(ПериодРегистрации) Цикл<br> КонецМесяца = КонецМесяца(КонецМесяца+1);<br> ПериодыТекст = ПериодыТекст +» ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(» + Формат(КонецМесяца,»ДФ=гггг,М,д,Ч,м,с») + «)»;<br> КонецЦикла;<br> Запрос.Текст = ПериодыТекст;<br> Запрос.Выполнить();<br><br> Запрос.Текст = <br> «ВЫБРАТЬ<br> | МЕСЯЦ(Периоды.Период) КАК Месяц,<br> | ЕСТЬNULL(УчетнаяПолитикаНалоговыйУчет.ВидТарифаСтраховыхВзносов, ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ОбщийНалоговыйРежим)) КАК ВидТарифаСтраховыхВзносов<br> |ПОМЕСТИТЬ ВТИспользуемыеТарифы<br> |ИЗ<br> | (ВЫБРАТЬ<br> | Периоды.Период КАК Период,<br> | МАКСИМУМ(УчетнаяПолитикаНалоговыйУчет.Период) КАК ПериодРегистра<br> | ИЗ<br> | ВТПериоды КАК Периоды<br> | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаНалоговыйУчет КАК УчетнаяПолитикаНалоговыйУчет<br> | ПО Периоды.Период >= УчетнаяПолитикаНалоговыйУчет.Период<br> | И (УчетнаяПолитикаНалоговыйУчет.Организация = &парамГоловнаяОрганизация)<br> | <br> | СГРУППИРОВАТЬ ПО<br> | Периоды.Период) КАК Периоды<br> | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаНалоговыйУчет КАК УчетнаяПолитикаНалоговыйУчет<br> | ПО Периоды.ПериодРегистра = УчетнаяПолитикаНалоговыйУчет.Период<br> | И (УчетнаяПолитикаНалоговыйУчет.Организация = &парамГоловнаяОрганизация)<br> |<br> |ИНДЕКСИРОВАТЬ ПО<br> | Месяц<br> |;<br> |<br> |////////////////////////////////////////////////////////////­////////////////////<br> |ВЫБРАТЬ<br> | ТарифСтраховыхВзносовСрезПоследних.ВидТарифа КАК ВидТарифа,<br> | ТарифСтраховыхВзносовСрезПоследних.ПФР,<br> | ТарифСтраховыхВзносовСрезПоследних.ПФРНакопительная,<br> | ТарифСтраховыхВзносовСрезПоследних.ФСС,<br> | ТарифСтраховыхВзносовСрезПоследних.ФФОМС,<br> | ТарифСтраховыхВзносовСрезПоследних.ТФОМС<br> |ПОМЕСТИТЬ ВТТарифы<br> |ИЗ<br> | РегистрСведений.ТарифСтраховыхВзносов.СрезПоследних(&парамКонецГода, ) КАК ТарифСтраховыхВзносовСрезПоследних<br> |<br> |ИНДЕКСИРОВАТЬ ПО<br> | ВидТарифа<br> |;<br> |<br> |////////////////////////////////////////////////////////////­////////////////////<br> |ВЫБРАТЬ<br> | МЕСЯЦ(Периоды.Период) КАК Месяц,<br> | ГражданствоФизЛиц.ФизЛицо КАК Физлицо,<br> | ЕСТЬNULL(ГражданствоФизЛиц.НеИмеетПравоНаПенсию, ЛОЖЬ) КАК НеИмеетПравоНаПенсию,<br> | ЕСТЬNULL(ГражданствоФизЛиц.НеИмеетПравоНаМедицинскоеСтрахование, ЛОЖЬ) КАК НеИмеетПравоНаМедицинскоеСтрахование<br> |ПОМЕСТИТЬ ВТДанныеОПравеНаПенсию<br> |ИЗ<br> | (ВЫБРАТЬ<br> | Периоды.Период КАК Период,<br> | ГражданствоФизЛиц.ФизЛицо КАК Физлицо,<br> | МАКСИМУМ(ГражданствоФизЛиц.Период) КАК ПериодРегистра<br> | ИЗ<br> | ВТПериоды КАК Периоды<br> | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц<br> | ПО Периоды.Период >= ГражданствоФизЛиц.Период<br> | ГДЕ<br> | ГражданствоФизЛиц.ФизЛицо В<br> | (ВЫБРАТЬ<br> | СписокСотрудников.ФизЛицо<br> | ИЗ<br> | ВТСписокСотрудников КАК СписокСотрудников)<br> | <br> | СГРУППИРОВАТЬ ПО<br> | ГражданствоФизЛиц.ФизЛицо,<br> | Периоды.Период) КАК Периоды<br> | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц<br> | ПО Периоды.ПериодРегистра = ГражданствоФизЛиц.Период<br> | И Периоды.Физлицо = ГражданствоФизЛиц.ФизЛицо<br> | И (ГражданствоФизЛиц.НеИмеетПравоНаПенсию<br> | ИЛИ ГражданствоФизЛиц.НеИмеетПравоНаМедицинскоеСтрахование)<br> |<br> |ИНДЕКСИРОВАТЬ ПО<br> | Физлицо,<br> | Месяц<br> |;<br> |<br> |////////////////////////////////////////////////////////////­////////////////////<br> |ВЫБРАТЬ<br> | СведенияОбИнвалидностиФизлиц.Физлицо КАК Физлицо,<br> | СведенияОбИнвалидностиФизлиц.Период КАК Период,<br> | СведенияОбИнвалидностиФизлиц.Инвалидность<br> |ПОМЕСТИТЬ ВТ_СведенияОбИнвалидности<br> |ИЗ<br> | РегистрСведений.СведенияОбИнвалидностиФизлиц КАК СведенияОбИнвалидностиФизлиц<br> |ГДЕ<br> | СведенияОбИнвалидностиФизлиц.Физлицо В<br> | (ВЫБРАТЬ<br> | СписокСотрудников.ФизЛицо<br> | ИЗ<br> | ВТСписокСотрудников КАК СписокСотрудников)<br> |<br> |ИНДЕКСИРОВАТЬ ПО<br> | Физлицо,<br> | Период<br> |;<br> |<br> |////////////////////////////////////////////////////////////­////////////////////<br> |ВЫБРАТЬ<br> | МЕСЯЦ(Периоды.Период) КАК Месяц,<br> | СведенияОбИнвалидностиФизлиц.Физлицо КАК Физлицо<br> |ПОМЕСТИТЬ ВТДанныеОбИнвалидности<br> |ИЗ<br> | (ВЫБРАТЬ<br> | Периоды.Период КАК Период,<br> | СведенияОбИнвалидностиФизлиц.Физлицо КАК Физлицо,<br> | МАКСИМУМ(СведенияОбИнвалидностиФизлиц.Период) КАК ПериодРегистра<br> | ИЗ<br> | ВТПериоды КАК Периоды<br> | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_СведенияОбИнвалидности КАК СведенияОбИнвалидностиФизлиц<br> | ПО Периоды.Период >= СведенияОбИнвалидностиФизлиц.Период<br> | <br> | СГРУППИРОВАТЬ ПО<br> | СведенияОбИнвалидностиФизлиц.Физлицо,<br> | Периоды.Период) КАК Периоды<br> | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_СведенияОбИнвалидности КАК СведенияОбИнвалидностиФизлиц<br> | ПО (СведенияОбИнвалидностиФизлиц.Период = Периоды.ПериодРегистра)<br> | И Периоды.Физлицо = СведенияОбИнвалидностиФизлиц.Физлицо<br> | И (СведенияОбИнвалидностиФизлиц.Инвалидность)<br> |<br> |ИНДЕКСИРОВАТЬ ПО<br> | Физлицо,<br> | Месяц<br> |;<br> |<br> |////////////////////////////////////////////////////////////­////////////////////<br> |ВЫБРАТЬ<br> | СведенияОДоходах.ФизЛицо КАК ФизЛицо,<br> | МЕСЯЦ(СведенияОДоходах.Период) КАК Месяц,<br> | СведенияОДоходах.ОблагаетсяЕНВД,<br> | СведенияОДоходах.ОблагаетсяПоДополнительномуТарифу,<br> | СведенияОДоходах.ВидДохода.ВходитВБазуПФР КАК ВходитВБазуПФР,<br> | СведенияОДоходах.ВидДохода.ВходитВБазуФСС КАК ВходитВБазуФСС,<br> | СведенияОДоходах.ВидДохода.ВходитВБазуФОМС КАК ВходитВБазуФОМС,<br> //мов++<br> | СведенияОДоходах.ВидДохода.ВходитВПАВ КАК ВходитВПАВ,<br> | СведенияОДоходах.ВидДохода.Внебюджет КАК Внебюджет,<br> | СведенияОДоходах.ВидДохода.ВходитВДГПХ КАК ВходитВДГПХ,<br> | СведенияОДоходах.РезультатОборот — СведенияОДоходах.СкидкаОборот КАК ОблагаемыйДоход<br> //| СведенияОДоходах.РезультатОборотПАВ — СведенияОДоходах.СкидкаОборот КАК ОблагаемыйДоходПАВ<br> |ПОМЕСТИТЬ ВТДоходыПоФизлицамМесяцам<br> |ИЗ<br> | РегистрНакопления.СтраховыеВзносыСведенияОДоходах.Обороты(<br> | &парамНачалоГода,<br> | &парамКонецМесяцаПериодаРегистрации,<br> | Месяц,<br> | Организация = &парамГоловнаяОрганизация<br> | И Физлицо В<br> | (ВЫБРАТЬ<br> | СписокСотрудников.ФизЛицо<br> | ИЗ<br> | ВТСписокСотрудников КАК СписокСотрудников)) КАК СведенияОДоходах<br> |<br> |ОБЪЕДИНИТЬ ВСЕ<br> |<br> |ВЫБРАТЬ<br> | СтраховыеВзносыСведенияОДоходах.ФизЛицо,<br> | МЕСЯЦ(СтраховыеВзносыСведенияОДоходах.Период),<br> | СтраховыеВзносыСведенияОДоходах.ОблагаетсяЕНВД,<br> | СтраховыеВзносыСведенияОДоходах.ОблагаетсяПоДополнительномуТарифу,<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуПФР,<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуФСС,<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуФОМС,<br> //мов++<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВПАВ,<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВДГПХ,<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.Внебюджет,<br><br><br><br> | -СтраховыеВзносыСведенияОДоходах.Результат + СтраховыеВзносыСведенияОДоходах.Скидка<br> |ИЗ<br> | РегистрНакопления.СтраховыеВзносыСведенияОДоходах КАК СтраховыеВзносыСведенияОДоходах<br> |ГДЕ<br> | СтраховыеВзносыСведенияОДоходах.Регистратор = &Регистратор<br> | И СтраховыеВзносыСведенияОДоходах.Организация = &парамГоловнаяОрганизация<br> | И СтраховыеВзносыСведенияОДоходах.ФизЛицо В<br> | (ВЫБРАТЬ<br> | СписокСотрудников.ФизЛицо<br> | ИЗ<br> | ВТСписокСотрудников КАК СписокСотрудников)<br> |<br> |ОБЪЕДИНИТЬ ВСЕ<br> |<br> |ВЫБРАТЬ<br> | СтраховыеВзносыСведенияОДоходах.ФизЛицо,<br> | СтраховыеВзносыСведенияОДоходах.Месяц,<br> | СтраховыеВзносыСведенияОДоходах.ОблагаетсяЕНВД,<br> | СтраховыеВзносыСведенияОДоходах.ОблагаетсяПоДополнительномуТарифу,<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуПФР,<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуФСС,<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуФОМС,<br> //мов++<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВПАВ,<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВДГПХ,<br> | СтраховыеВзносыСведенияОДоходах.ВидДохода.Внебюджет,<br><br><br> //| СтраховыеВзносыСведенияОДоходах.ОблагаемыйДоходПАВ,<br><br> | СтраховыеВзносыСведенияОДоходах.ОблагаемыйДоход<br> |ИЗ<br> | ВТДанныеДокумента КАК СтраховыеВзносыСведенияОДоходах<br> |<br> |ИНДЕКСИРОВАТЬ ПО<br> | ФизЛицо,<br> | Месяц<br> |;<br> |<br> |////////////////////////////////////////////////////////////­////////////////////<br> |ВЫБРАТЬ<br> | СведенияОДоходах.ФизЛицо КАК ФизЛицо<br> |ПОМЕСТИТЬ ВТФизлицаБезОблагаемойБазы<br> |ИЗ<br> | ВТДоходыПоФизлицамМесяцам КАК СведенияОДоходах<br> |<br> |СГРУППИРОВАТЬ ПО<br> | СведенияОДоходах.ФизЛицо<br> |<br> |ИМЕЮЩИЕ<br> | СУММА(ВЫБОР<br> | КОГДА СведенияОДоходах.ВходитВБазуПФР<br> //мов<br> | ИЛИ СведенияОДоходах.ВходитВБазуФОМС ИЛИ СведенияОДоходах.ВходитВПАВ ИЛИ СведенияОДоходах.ВходитВДГПХ ИЛИ СведенияОДоходах.Внебюжет<br> | ТОГДА СведенияОДоходах.ОблагаемыйДоход<br> | ИНАЧЕ 0<br> | КОНЕЦ) < 0<br> |<br> |ИНДЕКСИРОВАТЬ ПО<br> | ФизЛицо<br> |;<br> |<br> |////////////////////////////////////////////////////////////­////////////////////<br> |ВЫБРАТЬ<br> | РанееИсчисленныеВзносы.ФизЛицо КАК ФизЛицо,<br> | МЕСЯЦ(РанееИсчисленныеВзносы.Период) КАК Месяц,<br> | РанееИсчисленныеВзносы.ФССОборот,<br> | РанееИсчисленныеВзносы.ФФОМСОборот,<br> | РанееИсчисленныеВзносы.ТФОМСОборот,<br> | РанееИсчисленныеВзносы.ПФРНакопительнаяОборот,<br> | РанееИсчисленныеВзносы.ПФРСтраховаяОборот,<br> | РанееИсчисленныеВзносы.ПФРНакопительнаяЕНВДОборот,<br> | РанееИсчисленныеВзносы.ПФРСтраховаяЕНВДОборот,<br> | РанееИсчисленныеВзносы.ПФРПоДополнительномуТарифуОборот,<br> //мов++<br> | РанееИсчисленныеВзносы.ФССПАВОборот,<br> | РанееИсчисленныеВзносы.ФФОМСПАВОборот,<br> | РанееИсчисленныеВзносы.ТФОМСПАВОборот,<br> | РанееИсчисленныеВзносы.ПФРНакопительнаяПАВОборот,<br> | РанееИсчисленныеВзносы.ПФРСтраховаяПАВОборот,<br> | РанееИсчисленныеВзносы.ПФРНакопительнаяЕНВДПАВОборот,<br> | РанееИсчисленныеВзносы.ПФРСтраховаяЕНВДПАВОборот,<br> | РанееИсчисленныеВзносы.ПФРПоДополнительномуТарифуПАВОборот,<br> <br> | РанееИсчисленныеВзносы.ПФРНакопительнаяДГПХОборот,<br> | РанееИсчисленныеВзносы.ПФРСтраховаяДГПХОборот,<br> | РанееИсчисленныеВзносы.ПФРНакопительнаяЕНВДДГПХОборот,<br> | РанееИсчисленныеВзносы.ПФРСтраховаяЕНВДДГПХОборот,<br> | РанееИсчисленныеВзносы.ПФРПоДополнительномуТарифуДГПХОборот,<br> <br> | РанееИсчисленныеВзносы.ФССВнебюджетВОборот,<br> | РанееИсчисленныеВзносы.ФФОМСВнебюджетОборот,<br> | РанееИсчисленныеВзносы.ТФОМСВнебюджетОборот,<br> | РанееИсчисленныеВзносы.ПФРНакопительнаяВнебюджетОборот,<br> | РанееИсчисленныеВзносы.ПФРСтраховаяВнебюджетОборот,<br> | РанееИсчисленныеВзносы.ПФРНакопительнаяЕНВДВнебюджетОборот,<br> | РанееИсчисленныеВзносы.ПФРСтраховаяЕНВДВнебюджетОборот,<br> | РанееИсчисленныеВзносы.ПФРПоДополнительномуТарифуВнебюджетОборот<br><br><br>//мов—<br> |ПОМЕСТИТЬ ВТРанееИсчисленныеВзносыПоМесяцам<br> |ИЗ<br> | РегистрНакопления.СтраховыеВзносыИсчисленные.Обороты(<br> | &парамНачалоГода,<br> | &парамКонецМесяцаПериодаРегистрации,<br> | Месяц,<br> | Организация = &парамГоловнаяОрганизация<br> | И (НЕ ФизЛицо В<br> | (ВЫБРАТЬ<br> | СписокСотрудников.ФизЛицо<br> | ИЗ<br> | ВТФизлицаБезОблагаемойБазы КАК СписокСотрудников))<br> | И ФизЛицо В<br> | (ВЫБРАТЬ<br> | СписокСотрудников.ФизЛицо<br> | ИЗ<br> | ВТСписокСотрудников КАК СписокСотрудников)) КАК РанееИсчисленныеВзносы<br> |<br> |ОБЪЕДИНИТЬ ВСЕ<br> |<br> |ВЫБРАТЬ<br> | СтраховыеВзносыИсчисленные.ФизЛицо,<br> | МЕСЯЦ(СтраховыеВзносыИсчисленные.Период),<br> | -СтраховыеВзносыИсчисленные.ФСС,<br> | -СтраховыеВзносыИсчисленные.ФФОМС,<br> | -СтраховыеВзносыИсчисленные.ТФОМС,<br> | -СтраховыеВзносыИсчисленные.ПФРНакопительная,<br> | -СтраховыеВзносыИсчисленные.ПФРСтраховая,<br> | -СтраховыеВзносыИсчисленные.ПФРНакопительнаяЕНВД,<br> | -СтраховыеВзносыИсчисленные.ПФРСтраховаяЕНВД,<br> | -СтраховыеВзносыИсчисленные.ПФРПоДополнительномуТарифу,<br> //мов++<br> | -СтраховыеВзносыИсчисленные.ФССПАВ,<br> | -СтраховыеВзносыИсчисленные.ФФОМСПАВ,<br> | -СтраховыеВзносыИсчисленные.ТФОМСПАВ,<br> | -СтраховыеВзносыИсчисленные.ПФРНакопительнаяПАВ,<br> | -СтраховыеВзносыИсчисленные.ПФРСтраховаяПАВ,<br> | -СтраховыеВзносыИсчисленные.ПФРНакопительнаяЕНВДПАВ,<br> | -СтраховыеВзносыИсчисленные.ПФРСтраховаяЕНВДПАВ,<br> | -СтраховыеВзносыИсчисленные.ПФРПоДополнительномуТарифуПАВ,<br> <br> | -СтраховыеВзносыИсчисленные.ПФРНакопительнаяДГПХ,<br> | -СтраховыеВзносыИсчисленные.ПФРСтраховаяДГПХ,<br> | -СтраховыеВзносыИсчисленные.ПФРНакопительнаяЕНВДДГПХ,<br> | -СтраховыеВзносыИсчисленные.ПФРСтраховаяЕНВДДГПХ,<br> | -СтраховыеВзносыИсчисленные.ПФРПоДополнительномуТарифуДГПХ,<br> <br> | -СтраховыеВзносыИсчисленные.ФССВнебюджет,<br> | -СтраховыеВзносыИсчисленные.ФФОМСВнебюджет,<br> | -СтраховыеВзносыИсчисленные.ТФОМСВнебюджет,<br> | -СтраховыеВзносыИсчисленные.ПФРНакопительнаяВнебюджет,<br> | -СтраховыеВзносыИсчисленные.ПФРСтраховаяВнебюджет,<br> | -СтраховыеВзносыИсчисленные.ПФРНакопительнаяЕНВДВнебюджет,<br> | -СтраховыеВзносыИсчисленные.ПФРСтраховаяЕНВДВнебюджет,<br> | -СтраховыеВзносыИсчисленные.ПФРПоДополнительномуТарифуВнебюджет<br><br><br>//мов—<br> |ИЗ<br> | РегистрНакопления.СтраховыеВзносыИсчисленные КАК СтраховыеВзносыИсчисленные<br> |ГДЕ<br> | СтраховыеВзносыИсчисленные.Регистратор = &Регистратор<br> | И СтраховыеВзносыИсчисленные.Организация = &парамГоловнаяОрганизация<br> | И (НЕ СтраховыеВзносыИсчисленные.ФизЛицо В<br> | (ВЫБРАТЬ<br> | СписокСотрудников.ФизЛицо<br> | ИЗ<br> | ВТФизлицаБезОблагаемойБазы КАК СписокСотрудников))<br> | И СтраховыеВзносыИсчисленные.ФизЛицо В<br> | (ВЫБРАТЬ<br> | СписокСотрудников.ФизЛицо<br> | ИЗ<br> | ВТСписокСотрудников КАК СписокСотрудников)<br> |<br> |ИНДЕКСИРОВАТЬ ПО<br> | Месяц,<br> | ФизЛицо<br> |;<br> |<br> |////////////////////////////////////////////////////////////­////////////////////<br> |ВЫБРАТЬ<br> | РанееИсчисленныеВзносы.ФизЛицо КАК ФизЛицо,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ФССОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ФССОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ФФОМСОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ФФОМСОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ТФОМСОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ТФОМСОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ФССОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ФССОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ФФОМСОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ФФОМСОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ТФОМСОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ТФОМСОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРНакопительнаяОборот + РанееИсчисленныеВзносы.ПФРНакопительнаяЕНВДОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРНакопительнаяОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРСтраховаяОборот + РанееИсчисленныеВзносы.ПФРСтраховаяЕНВДОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРСтраховаяОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРНакопительнаяОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРНакопительнаяОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРСтраховаяОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРСтраховаяОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРНакопительнаяЕНВДОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРНакопительнаяЕНВДОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРСтраховаяЕНВДОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРСтраховаяЕНВДОборот,<br> | СУММА(РанееИсчисленныеВзносы.ПФРПоДополнительномуТарифуОборот) КАК ПФРПоДополнительномуТарифуОборот,<br> //мов++<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ФССПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ФССПАВОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ФФОМСПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ФФОМСПАВОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ТФОМСПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ТФОМСПАВОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ФССПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ФССПАВОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ФФОМСПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ФФОМСПАВОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ТФОМСПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ТФОМСПАВОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРНакопительнаяПАВОборот + РанееИсчисленныеВзносы.ПФРНакопительнаяЕНВДПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРНакопительнаяПАВОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРСтраховаяПАВОборот + РанееИсчисленныеВзносы.ПФРСтраховаяЕНВДПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРСтраховаяПАВОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРНакопительнаяПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРНакопительнаяПАВОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРСтраховаяПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРСтраховаяПАВОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРНакопительнаяЕНВДПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРНакопительнаяЕНВДПАВОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРСтраховаяЕНВДПАВОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРСтраховаяЕНВДПАВОборот,<br> | СУММА(РанееИсчисленныеВзносы.ПФРПоДополнительномуТарифуПАВОборот) КАК ПФРПоДополнительномуТарифуПАВОборот,<br> <br> ///////////////////////////////<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРНакопительнаяДГПХОборот + РанееИсчисленныеВзносы.ПФРНакопительнаяЕНВДДГПХОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРНакопительнаяДГПХОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРСтраховаяДГПХОборот + РанееИсчисленныеВзносы.ПФРСтраховаяЕНВДДГПХОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРСтраховаяДГПХОборотИнвалида,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРНакопительнаяДГПХОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРНакопительнаяДГПХОборот,<br> | СУММА(ВЫБОР<br> | КОГДА Инвалид.Физлицо ЕСТЬ NULL <br> | ТОГДА РанееИсчисленныеВзносы.ПФРСтраховаяДГПХОборот<br> | ИНАЧЕ 0<br> | КОНЕЦ) КАК ПФРСтраховаяДГПХОборот, <br>ну и т.д.<br>где на этом куске при заполнении документа расчет страховых взносов 1с выдает сообщение<br>{Документ.РасчетСтраховыхВзносов(3767)}: Ошибка при вызове метода контекста (Выполнить): {(948, 2)}: Синтаксическая ошибка «СУММА(ВЫБОР»<br><<?>>СУММА(ВЫБОР<br> Возврат Запрос.Выполнить().Выгрузить();<br>Знаю, что где-то по хду дела не хватает запятой. Просто уже не вижу, где именно. Народ, посмотрите, пожалуйста свежим взглядом.»

BelikovS

Дата регистрации: 05.03.2007
Сообщений: 1701

Скопируйте запрос в текстовый документ перейдите на 948 строку и посмотрите что там рядом.<br>Еще можно запрос засунуть в консоль запросов и вызвать конструктор — он тоже покажет в какой строке ошибка.

Ivan_Ivanov

Дата регистрации: 06.06.2007
Сообщений: 168

Блин, точно. Спасибо большое за чистку мозгов :-). Еще кучу ошибок таким образом исправила

Показывать по
10
20
40
сообщений

Синтаксическая ошибка

Автор Olga2011, 05 авг 2011, 16:32

0 Пользователей и 1 гость просматривают эту тему.

Помогите, вышла такая ошибка
Понимаю, что какого-то знака быть не должно или наоборот. Программист не берет трубку, нужно срочно отгрузить
Если сможете помогите..

{Документ.РеализацияТоваровУслуг(5628)}: Ошибка при вызове метода контекста (Выполнить): {(6, 1)}: Синтаксическая ошибка «;»
<<?>>;
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(6, 1)}: Синтаксическая ошибка «;»
<<?>>;

Фрагмент конфигуратора
Запрос.УстановитьПараметр(«Дата», ТекущаяДата());
      Запрос.УстановитьПараметр(«ТЗ», мТЗЗаполнениеЗаказов);

            Выборка = Запрос.Выполнить().Выбрать();

      Пока Выборка.Следующий() Цикл

                  Если Выборка.Номенклатура.Услуга Тогда
            НоваяСтрока = Услуги.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
            НоваяСтрока.Номенклатура = Выборка.Номенклатура;
            НоваяСтрока.Количество = Выборка.Необходимо;


Как я вижу никаких ошибок тут нет. Наверное в другом месте модуля ошибка.

С уважением,
Андрей Федотов
Future IT Solutions


Ошибка возникает именно при попытке исполнить метод «Выполнить». Скорее всего, ошибка именно в тексте запроса, но Вы его тут не привели. Найдите, где определяется текст запроса, что-то типа

Запрос.Текст="<тут какой-то текст запроса>"

xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь…

Мысль — это оргазм мозга. Кто способен его испытать — получают истинное наслаждение, остальным приходится имитировать


Цитата: Klyacksa от 05 авг 2011, 16:53
Ошибка возникает именно при попытке исполнить метод «Выполнить». Скорее всего, ошибка именно в тексте запроса, но Вы его тут не привели. Найдите, где определяется текст запроса, что-то типа
Запрос.Текст="<тут какой-то текст запроса>"

Процедура ЗаполнитьТЧПоЗаказам() Экспорт
   Запрос = Новый Запрос;
   МВР = Новый МенеджерВременныхТаблиц;
   Запрос.МенеджерВременныхТаблиц = МВР;
   Запрос.Текст =   «ВЫБРАТЬ
                    |   ТЗ.ЗаказПокупателя
                    |ПОМЕСТИТЬ ТЗЗаказов
                    |ИЗ
                    |   &ТЗ КАК ТЗ
                    |;
                    |
                    |////////////////////////////////////////////////////////////////////////////////
                    |ВЫБРАТЬ
                    |   ЗаказыПокупателейОстатки.ЗаказПокупателя,
                    |   ЗаказыПокупателейОстатки.ИдТовары,
                    |   ЗаказыПокупателейОстатки.Номенклатура,
                    |   ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры,
                    |   ЗаказыПокупателейОстатки.Цена,
                    |   ЗаказыПокупателейОстатки.СтавкаНДС,
                    |   ЗаказыПокупателейОстатки.Накладки,
                    |   ЗаказыПокупателейОстатки.ЕдиницаИзмерения,
                    |   ЗаказыПокупателейОстатки.ДоговорКонтрагента,
                    |   МАКСИМУМ(ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0)) КАК Необходимо,
                    |   СУММА(ЕСТЬNULL(РезервыНаСкладахПоЗаказам.КоличествоОстаток, 0)) КАК ВРезервеПоЗаказам,
                    |   МАКСИМУМ(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) КАК НаСкладе,
                    |   МАКСИМУМ(ЕСТЬNULL(РезервПоЗаказу.КоличествоОстаток, 0)) КАК ПоЗаказу
                    |ИЗ
                    |   РегистрНакопления.ЗаказыПокупателей.Остатки(
                    |         ,
                    |         ЗаказПокупателя В
                    |            (ВЫБРАТЬ
                    |               А.ЗаказПокупателя
                    |            ИЗ
                    |               ТзЗаказов КАК А)) КАК ЗаказыПокупателейОстатки
                    |      ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
                    |      ПО ЗаказыПокупателейОстатки.ЗаказПокупателя = ЗаказПокупателяТовары.Ссылка
                    |         И ЗаказыПокупателейОстатки.Номенклатура = ЗаказПокупателяТовары.Номенклатура
                    |         И ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры = ЗаказПокупателяТовары.ХарактеристикаНоменклатуры
                    |         И ЗаказыПокупателейОстатки.ИдТовары = ЗаказПокупателяТовары.ИдТовары
                    |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК РезервыНаСкладахПоЗаказам
                    |      ПО ЗаказыПокупателейОстатки.Номенклатура = РезервыНаСкладахПоЗаказам.Номенклатура
                    |         И ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры = РезервыНаСкладахПоЗаказам.ХарактеристикаНоменклатуры
                    |         И ЗаказыПокупателейОстатки.ЗаказПокупателя <> РезервыНаСкладахПоЗаказам.ДокументРезерва
                    |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки
                    |      ПО ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры
                    |         И ЗаказыПокупателейОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
                    |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК РезервПоЗаказу
                    |      ПО ЗаказыПокупателейОстатки.Номенклатура = РезервПоЗаказу.Номенклатура
                    |         И ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры = РезервПоЗаказу.ХарактеристикаНоменклатуры
                    |         И ЗаказыПокупателейОстатки.ЗаказПокупателя = РезервПоЗаказу.ДокументРезерва
                    |
                    |СГРУППИРОВАТЬ ПО
                    |   ЗаказыПокупателейОстатки.ЗаказПокупателя,
                    |   ЗаказыПокупателейОстатки.ИдТовары,
                    |   ЗаказыПокупателейОстатки.Номенклатура,
                    |   ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры,
                    |   ЗаказыПокупателейОстатки.Цена,
                    |   ЗаказыПокупателейОстатки.СтавкаНДС,
                    |   ЗаказыПокупателейОстатки.Накладки,
                    |   ЗаказыПокупателейОстатки.ЕдиницаИзмерения,
                    |   ЗаказыПокупателейОстатки.ДоговорКонтрагента»;
      Запрос.УстановитьПараметр(«Дата», ТекущаяДата());
      Запрос.УстановитьПараметр(«ТЗ», мТЗЗаполнениеЗаказов);

            ТОлько вот это…


Синтаксическая ошибка ВЫБРАТЬ при выполнении запроса

Синтаксическая ошибка «ВЫБРАТЬ»<?> ВЫБРАТЬ возникает в 1С, когда в тексте запроса идут его блоки в подряд без разделения между собой.

Синтаксическая ошибка ВЫБРАТЬ

Рис.1 Скриншот ошибки «Выбрать»

Например, в случаях:

  • объединения запросов, когда подзапросы должны отделяться служебными словами «ОБЪЕДИНИТЬ» или «ОБЪЕДИНИТЬ ВСЕ«
  • два запроса идущие в подряд для последующей выборки методом ВыбратьПакет(): требуется их разделение » ; «
  • последующая выборка из временной таблицы: также необходимо разделение » ; «
  • неверный синтаксис во вложенном запросе в конструкции ГДЕ Значение В (Выбрать ссылка из Справочники.ПримерСправочника): доступно только сравнение » В ()«, а не «=«, «>» и прочее

Замечу, что такая ошибка возникает при ручной правке текста, поскольку при формировании  конструктором запроса, он вставляет разделители самостоятельно:

Разделение подзапросов

Цифры в начале ошибки (на рисунке — 386,1) —  это номер строки в запросе. При большом тексте  такая информация поможет быстрее локализовать ошибку.

Поведение системы

Выполнение запроса прерывается, но система продолжает работать

Легче сочинить 10 правильных сонетов, чем хорошее рекламное объявление.

Ermak27

4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

1

1C 8.x

Ошибка в запросе

27.08.2013, 12:52. Показов 2402. Ответов 17

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Подскажите почему ошибка вылезла

{Обработка.ПланЗакупок.Форма.Форма.Форма(87)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить().Выбрать();
по причине:
{(43, 2)}: Синтаксическая ошибка «Форма1.Дата1»
<<?>>Форма1.Дата1 = &Дата1

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Запрос = Новый Запрос (
    
    "ВЫБРАТЬ
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Количество
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Кол1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Количество
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Кол2,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Цена
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Цена1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Цена
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Цена2,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Сумма
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Сумма1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Сумма
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Сумма2,
    |   Форма1.Номенклатура КАК Номенклатура,
    |   Форма1.Группа,
    |   Форма1.Подгруппа,
    |   Форма1.БазЕдиница,
    |   Форма1.Тип,
    |   Форма1.Организация КАК Организация
    |ИЗ
    |   РегистрНакопления.Форма1 КАК Форма1
    |ГДЕ
    |   Форма1.Организация = &Организация
    |  " + ?(Организация.Пустая(), "", "
    |   Форма1.Дата1 = &Дата1
    |   И Форма1.Дата2 = &Дата2") + "
    |
    |УПОРЯДОЧИТЬ ПО
    |   Организация") ;
    
    
    
    Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
    Запрос.Параметры.Вставить("Дата1", ЭлементыФормы.Дата1.Значение);
    Запрос.Параметры.Вставить("Дата2", ЭлементыФормы.Дата2.Значение);
    Результат = Запрос.Выполнить().Выбрать();



0



SonicQ

286 / 186 / 18

Регистрация: 20.02.2012

Сообщений: 925

27.08.2013, 13:34

2

конструкция у тебя не верна

1C
1
?(Организация.Пустая(), "",

Сделай так

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
ОрганизацияПустая = ?(Организация.Пустая(), "", );
Запрос = Новый Запрос (
    
    "ВЫБРАТЬ
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Количество
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Кол1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Количество
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Кол2,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Цена
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Цена1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Цена
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Цена2,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Сумма
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Сумма1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Сумма
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Сумма2,
    |   Форма1.Номенклатура КАК Номенклатура,
    |   Форма1.Группа,
    |   Форма1.Подгруппа,
    |   Форма1.БазЕдиница,
    |   Форма1.Тип,
    |   Форма1.Организация КАК Организация
    |ИЗ
    |   РегистрНакопления.Форма1 КАК Форма1
    |ГДЕ
    |   Форма1.Организация = &Организация
    |  " + ОрганизацияПустая + "
    |   Форма1.Дата1 = &Дата1
    |   И Форма1.Дата2 = &Дата2") + "
    |
    |УПОРЯДОЧИТЬ ПО
    |   Организация") ;
    
    
    
    Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
    Запрос.Параметры.Вставить("Дата1", ЭлементыФормы.Дата1.Значение);
    Запрос.Параметры.Вставить("Дата2", ЭлементыФормы.Дата2.Значение);
    Результат = Запрос.Выполнить().Выбрать();

и где у тебя условие при Организация.Пустая() значение ложь?

Добавлено через 8 минут
и вообще не понимаю этого

1C
1
2
    |   Форма1.Организация = &Организация
    |  " + ?(Организация.Пустая(), "", "

Что ты этим хочешь получить?

Добавлено через 3 минуты
если хочешь организацию исключить/не исключать тогда вот так лучше:

1C
1
ОрганизацияПустая = ?(ЭлементыФормы.Организация.Пустая(), "", "Форма1.Организация = &Организация И ");

и в запросе

1C
1
2
3
4
5
  |ГДЕ
    |  
    |  " + ОрганизацияПустая + "
    |   Форма1.Дата1 = &Дата1
    |   И Форма1.Дата2 = &Дата2") + "



1



Ermak27

4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

27.08.2013, 14:00

 [ТС]

3

Сделал вот так

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
ОрганизацияПустая = ?(ЭлементыФормы.Организация.Пустая(), "", "Форма1.Организация = &Организация И ");
    Запрос = Новый Запрос (
    
    "ВЫБРАТЬ
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Количество
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Кол1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Количество
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Кол2,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Цена
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Цена1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Цена
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Цена2,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Сумма
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Сумма1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Сумма
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Сумма2,
    |   Форма1.Номенклатура КАК Номенклатура,
    |   Форма1.Группа,
    |   Форма1.Подгруппа,
    |   Форма1.БазЕдиница,
    |   Форма1.Тип,
    |   Форма1.Организация КАК Организация
    |ИЗ
    |   РегистрНакопления.Форма1 КАК Форма1
    |ГДЕ
    |   Форма1.Организация = &Организация
    |  " + ОрганизацияПустая + "
    |   Форма1.Дата1 = &Дата1
    |   И Форма1.Дата2 = &Дата2") + "
    |
    |УПОРЯДОЧИТЬ ПО
    |   Организация") ;
    
    
    
    Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
    Запрос.Параметры.Вставить("Дата1", ЭлементыФормы.Дата1.Значение);
    Запрос.Параметры.Вставить("Дата2", ЭлементыФормы.Дата2.Значение);
    Результат = Запрос.Выполнить().Выбрать();

Выдает ошибку
{Обработка.ПланЗакупок.Форма.Форма.Форма(82,16)}: Неопознанный оператор
| Организация»<<?>>) ; (Проверка: Толстый клиент (обычное приложение))
{Обработка.ПланЗакупок.Форма.Форма.Форма(89,31)}: Ошибка в выражении
Результат = Запрос.Выполнить(<<?>>).Выбрать(); (Проверка: Толстый клиент (обычное приложение))
{Обработка.ПланЗакупок.Форма.Форма.Форма(155,31)}: Обнаружено логическое завершение исходного текста модуля
ТабДок.Вывести(ОбластьИтого);<<?>> (Проверка: Толстый клиент (обычное приложение))



0



SonicQ

286 / 186 / 18

Регистрация: 20.02.2012

Сообщений: 925

27.08.2013, 14:03

4

1C
1
2
3
4
|   Форма1.Организация = &Организация
    |  " + ОрганизацияПустая + "
    |   Форма1.Дата1 = &Дата1
    |   И Форма1.Дата2 = &Дата2") + "

это почему не поправили?

1C
1
2
3
4
5
|ГДЕ
    |  
    |  " + ОрганизацияПустая + "
    |   Форма1.Дата1 = &Дата1
    |   И Форма1.Дата2 = &Дата2") + "



1



Ermak27

4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

27.08.2013, 14:32

 [ТС]

5

Сделал так

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
ОрганизацияПустая = ?(ЭтотОбъект.Организация.Пустая(), "", "Форма1.Организация = &Организация"); 
НоменклатураПустая = ?(ЭтотОбъект.Номенклатура.Пустая(), "", "Форма1.Номенклатура = &Номенклатура");
ФормаПЗПустая = ?(ЭтотОбъект.Форма.Пустая(), "", "Форма1.ФормаПЗ = &Форма");
 
    Запрос = Новый Запрос (
    
    "ВЫБРАТЬ
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Количество
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Кол1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Количество
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Кол2,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Цена
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Цена1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Цена
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Цена2,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Сумма
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Сумма1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Сумма
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Сумма2,
    |   Форма1.Номенклатура КАК Номенклатура,
    |   Форма1.Группа,
    |   Форма1.Подгруппа,
    |   Форма1.БазЕдиница,
    |   Форма1.Тип,
    |   Форма1.Организация КАК Организация
    |ИЗ
    |   РегистрНакопления.Форма1 КАК Форма1
    |ГДЕ
    |  " + ОрганизацияПустая + "
    |  " + НоменклатураПустая + "
    |  " + ФормаПЗПустая + "
    |   Форма1.Дата1 = &Дата1
    |   И Форма1.Дата2 = &Дата2
    |   И Форма1.Номенклатура = &Номенклатура
    |   И Форма1.ФормаПЗ = &Форма");
    
    
    Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
    Запрос.Параметры.Вставить("Номенклатура", ЭлементыФормы.Номенклатура.Значение);
    Запрос.Параметры.Вставить("Форма", ЭлементыФормы.Форма.Значение);
    Запрос.Параметры.Вставить("Дата1", ЭлементыФормы.Дата1.Значение);
    Запрос.Параметры.Вставить("Дата2", ЭлементыФормы.Дата2.Значение);
    Результат = Запрос.Выполнить().Выбрать();

Все равно выдает ошибку
{Обработка.ПланЗакупок.Форма.Форма.Форма(91)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить().Выбрать();
по причине:
{(44, 2)}: Синтаксическая ошибка «Форма1.Дата1»
<<?>>Форма1.Дата1 = &Дата1



0



SonicQ

286 / 186 / 18

Регистрация: 20.02.2012

Сообщений: 925

27.08.2013, 14:42

6

у тебя идет перечисление , поставь «И»

Добавлено через 19 секунд

1C
1
ФормаПЗПустая = ?(ЭтотОбъект.Форма.Пустая(), "", "Форма1.ФормаПЗ = &Форма И");

Добавлено через 5 секунд
во всех



1



4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

27.08.2013, 14:47

 [ТС]

7

SonicQ, а почему ругается на дату?



0



SonicQ

286 / 186 / 18

Регистрация: 20.02.2012

Сообщений: 925

27.08.2013, 14:49

8

потому что перед ней идет

1C
1
"Форма1.ФормаПЗ = &Форма"

и сразу

1C
1
Форма1.Дата1 = &Дата1

что получается

1C
1
Форма1.ФормаПЗ = &Форма Форма1.Дата1 = &Дата1

а должно быть

1C
1
Форма1.ФормаПЗ = &Форма И Форма1.Дата1 = &Дата1



1



4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

27.08.2013, 14:49

 [ТС]

9

SonicQ, ошибки перестала выдавать но данные тоже не выводит



0



286 / 186 / 18

Регистрация: 20.02.2012

Сообщений: 925

27.08.2013, 14:50

10

ну это уже как ты сам запрос написал, проверить не могу, нет такой конфы (



1



Ermak27

4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

27.08.2013, 14:55

 [ТС]

11

Спасибо разобрался

Добавлено через 2 минуты
Подскажите как сделать, у меня есть отбор по номенклатуре, а как прописать чтобы отбор делал со всех группы а не по данной номенклатуре

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
ОрганизацияПустая = ?(ЭтотОбъект.Организация.Пустая(), "", "Форма1.Организация = &Организация И"); 
НоменклатураПустая = ?(ЭтотОбъект.Номенклатура.Пустая(), "", "Форма1.Номенклатура = &Номенклатура И");
ФормаПЗПустая = ?(ЭтотОбъект.Форма.Пустая(), "", "Форма1.ФормаПЗ = &Форма И");
 
    Запрос = Новый Запрос (
    
    "ВЫБРАТЬ
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Количество
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Кол1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Количество
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Кол2,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Цена
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Цена1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Цена
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Цена2,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
    |           ТОГДА Форма1.Сумма
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Сумма1,
    |   ВЫБОР
    |       КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
    |           ТОГДА Форма1.Сумма
    |       ИНАЧЕ 0
    |   КОНЕЦ КАК Сумма2,
    |   Форма1.Номенклатура КАК Номенклатура,
    |   Форма1.Группа,
    |   Форма1.Подгруппа,
    |   Форма1.БазЕдиница,
    |   Форма1.Тип,
    |   Форма1.Организация КАК Организация
    |ИЗ
    |   РегистрНакопления.Форма1 КАК Форма1
    |ГДЕ
    |  " + ОрганизацияПустая + "
    |  " + НоменклатураПустая + "
    |  " + ФормаПЗПустая + "
    |   Форма1.Дата1 = &Дата1
    |   И Форма1.Дата2 = &Дата2");
    
    
    Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
    Запрос.Параметры.Вставить("Номенклатура", ЭлементыФормы.Номенклатура.Значение);
    Запрос.Параметры.Вставить("Форма", ЭлементыФормы.Форма.Значение);
    Запрос.Параметры.Вставить("Дата1", ЭлементыФормы.Дата1.Значение);
    Запрос.Параметры.Вставить("Дата2", ЭлементыФормы.Дата2.Значение);
    Результат = Запрос.Выполнить().Выбрать();



0



SonicQ

286 / 186 / 18

Регистрация: 20.02.2012

Сообщений: 925

27.08.2013, 15:02

12

в условие добавить массив номенклатур…

Добавлено через 1 минуту

1C
1
НоменклатураПустая = ?(ЭтотОбъект.Номенклатура.Пустая(), "", "Форма1.Номенклатура В Иерархии (&Номенклатура) И");

если правильно вас понимаю



1



4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

27.08.2013, 15:04

 [ТС]

13

И еще хотел спросить, при заполнении документа выбираем период Дата1 и Дата2, я ставлю 1 квартал, создав документы по квартал, в обработке начинаю сформировывать по кварталам все нормально выдает дату, когда ставлю данные за год то ничего не выдает, подскажите что не так?



0



286 / 186 / 18

Регистрация: 20.02.2012

Сообщений: 925

27.08.2013, 15:11

14

не понимаю механику что, куда, откуда, где =( могу лишь предложить точкой остановы проверить какие данные попадают в переменные дата1 и дата2



1



4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

27.08.2013, 16:36

 [ТС]

15

Есть документ с реквизитом Дата1 и Дата2, тут выбираю период. Заполняется документ по кварталам, т.е в Дата1 и Дата2 ставить квартал (1, 2, 3, 4 квартал). Когда документы заполнены на целый год, т.е создана четыре документа (т.е четыре квартала), все это записывается в регистр накоплений, в регистре тоже есть реквизиты Дата1 и Дата2, куда все записывается. Начинаю сформировывать отчет в обработке по кварталам отдельно, данные выводит все нормально. Только начинаю формировать за год (я выбираю период в Дата1 и Дата2 целый год) то данных не выводит. Непонятно почему так

Добавлено через 1 час 18 минут
разобрался



0



286 / 186 / 18

Регистрация: 20.02.2012

Сообщений: 925

27.08.2013, 16:45

16

что было причиной ошибки?



0



Ermak27

4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

28.08.2013, 13:56

 [ТС]

17

Исправил так

1C
1
2
3
4
5
    |  " + ОрганизацияПустая + "
    |  " + НоменклатураПустая + "
    |  " + ФормаПЗПустая + "
    |   Форма1.Дата1 МЕЖДУ &Дата1 И &Дата2
    |   И Форма1.Дата2 МЕЖДУ &Дата1 И &Дата2");



0



Модератор

Эксперт 1С

3724 / 2918 / 575

Регистрация: 10.03.2011

Сообщений: 11,491

Записей в блоге: 1

29.08.2013, 02:55

18



0



  • Синтаксическая ошибка basic неожиданный символ
  • Синтаксическая ошибка как исправить на планшете
  • Синтаксическая ошибка basic метка arg1 уже определена
  • Синтаксическая ошибка как ее устранить
  • Синтаксическая ошибка basic libreoffice