Имя: Пароль:
1C
1С v8
Синтаксис добления через условие в запросе
, ,
0 manti
 
31.05.13
12:25
|ИЗ
   |    РегистрНакопления.НДСЗаписиКнигиПродаж КАК НДСЗаписиКнигиПродаж
   |ГДЕ
   |    НДСЗаписиКнигиПродаж.Период МЕЖДУ &НачалоПериода И &КонецПериода
   |    И НДСЗаписиКнигиПродаж.Организация В(&Организация)
   |    И НЕ НДСЗаписиКнигиПродаж.ЗаписьДополнительногоЛиста
   |    И НДСЗаписиКнигиПродаж.Активность
   |" + ?(ИсключениеБезНДСфлаг=Истина,"И ТИПЗНАЧЕНИЯ(НДСЗаписиКнигиПродаж.Регистратор) <> ТИП(Документ.ВосстановлениеНДС)
   |    И НДСЗаписиКнигиПродаж.Событие <> ЗНАЧЕНИЕ(Перечисление.СобытияПоНДСПродажи.ВосстановлениеНДС)","")+"
   |

Ругется на добавление такого условия. Чего не хватает?
1 mikecool
 
31.05.13
12:26
не хватает текста ошибки
2 manti
 
31.05.13
12:26
{ОбщийМодуль.УчетНДС.Модуль(7560,9)}: Неопознанный оператор
ВЫБРАТЬ <<?>>РАЗРЕШЕННЫЕ (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7578,82)}: Ожидается символ ';'
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.<<?>>Возврат) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7578,89)}: Ожидается выражение
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат<<?>>) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7599,82)}: Ожидается символ ';'
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.<<?>>Возврат) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7599,89)}: Ожидается выражение
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат<<?>>) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7619,82)}: Ожидается символ ';'
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.<<?>>Возврат) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7619,89)}: Ожидается выражение
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат<<?>>) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7705,82)}: Ожидается символ ';'
|                ИЛИ НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.<<?>>Возврат) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7705,89)}: Ожидается выражение
|                ИЛИ НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат<<?>>) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7859,82)}: Ожидается символ ';'
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.<<?>>Возврат) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7859,89)}: Ожидается выражение
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат<<?>>) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7879,82)}: Ожидается символ ';'
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.<<?>>Возврат) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7879,89)}: Ожидается выражение
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат<<?>>) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7899,82)}: Ожидается символ ';'
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.<<?>>Возврат) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7899,89)}: Ожидается выражение
|        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат<<?>>) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7924,82)}: Ожидается символ ';'
|                ИЛИ НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.<<?>>Возврат) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7924,89)}: Ожидается выражение
|                ИЛИ НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат<<?>>) (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.УчетНДС.Модуль(7948,14)}: Ожидается символ ';'
|    СчетФактура<<?>>    Возврат Запрос.Выполнить(); (Проверка: Толстый клиент (обычное приложение))
3 manti
 
31.05.13
12:27
(1) как то так ругается ))
4 Wobland
 
31.05.13
12:27
(3) не хватает ;
5 mikecool
 
31.05.13
12:28
у тебя ошибка при сборке текста, где то он заканчивается раньше, сотмри текст запроса, который получается
6 bruss007
 
31.05.13
12:31
Добавь пробелов.
7 manti
 
31.05.13
12:31
(3) где поставить?
8 Alexaha
 
31.05.13
12:32
(1) напиши "через выбор когда тогда иначе конец" и не мучься :)
9 Alexaha
 
31.05.13
12:33
(8) -> (0)
10 AlexTim03
 
31.05.13
12:40
Вот так:

|" + ?(ИсключениеБезНДСфлаг=Истина,"И ТИПЗНАЧЕНИЯ(НДСЗаписиКнигиПродаж.Регистратор) <> ТИП(Документ.ВосстановлениеНДС, "") + "
11 manti
 
31.05.13
12:59
(8) |ИЗ
   |    РегистрНакопления.НДСЗаписиКнигиПродаж КАК НДСЗаписиКнигиПродаж
   |ГДЕ
   |    НДСЗаписиКнигиПродаж.Период МЕЖДУ &НачалоПериода И &КонецПериода
   |    И НДСЗаписиКнигиПродаж.Организация В(&Организация)
   |    И НЕ НДСЗаписиКнигиПродаж.ЗаписьДополнительногоЛиста
   |    И НДСЗаписиКнигиПродаж.Активность
   |    И ВЫБОР
   |            КОГДА " + ?(ИсключениеБезНДСфлаг=Истина + "
   |                ТОГДА И ТИПЗНАЧЕНИЯ(НДСЗаписиКнигиПродаж.Регистратор) <> ТИП(Документ.ВосстановлениеНДС)
   |    И НДСЗаписиКнигиПродаж.Событие <> ЗНАЧЕНИЕ(Перечисление.СобытияПоНДСПродажи.ВосстановлениеНДС)
   |            ИНАЧЕ ИСТИНА
   |        КОНЕЦ
   |
тож что то не хватает
12 Wobland
 
31.05.13
13:00
выбор когда тогда. моя не понимать
13 mikecool
 
31.05.13
13:01
в теме в слове "добления " точно л не пропущена?
14 Alexaha
 
31.05.13
13:10
(11) Выбор Когда &ИсключениеБезНДСфлаг
Тогда ТИПЗНАЧЕНИЯ(НДСЗаписиКнигиПродаж.Регистратор) <> ТИП(Документ.ВосстановлениеНДС)
   И НДСЗаписиКнигиПродаж.Событие <> ЗНАЧЕНИЕ(Перечисление.СобытияПоНДСПродажи.ВосстановлениеНДС)
Иначе Истина
Конец
15 manti
 
31.05.13
13:44
(14) интересный конечно подоход, однако параметр нужно задействаовать)
16 zladenuw
 
31.05.13
13:46
(15) и че. в этом сложность что ли ? зато запрос можно сразу править в конструкторе. а не генерить его и потом только в конструктор
17 hhhh
 
31.05.13
14:07
(15) ну вот это, что за бред сивой кобылы?

?(ИсключениеБезНДСфлаг=Истина + "

Булево с текстом складываешь, причем лицо серьезное.
18 hhhh
 
31.05.13
14:08
действительно долбление.
19 Alexaha
 
31.05.13
14:18
(15) могу еще вариант предложить, на любителя т.с.

|ГДЕ
   |    НДСЗаписиКнигиПродаж.Период МЕЖДУ &НачалоПериода И &КонецПериода
   |    И НДСЗаписиКнигиПродаж.Организация В(&Организация)
   |    И НЕ НДСЗаписиКнигиПродаж.ЗаписьДополнительногоЛиста
   |    И НДСЗаписиКнигиПродаж.Активность
| И &УсловиеПоФлагу

а потом

Если ИсключениеБезНДСфлаг Тогда
СтрЗаменить(Запрос.Текст, "УсловиеПоФлагу", ТвоеУсловие)
КонецЕсли;

только опять с кавычками не напутай ;)
20 Alexaha
 
31.05.13
14:29
Если ИсключениеБезНДСфлаг Тогда
СтрЗаменить(Запрос.Текст, "И &УсловиеПоФлагу", ТвоеУсловие)
Иначе
СтрЗаменить(Запрос.Текст, "И &УсловиеПоФлагу", "")
КонецЕсли;



ну чтобы совсем правильно было :)
21 manti
 
31.05.13
15:22
ок товарищи спасибо)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.