Имя: Пароль:
1C
1C 7.7
v7: Условие в запросе
0 Масянька
 
20.04.15
10:55
День добрый!
Есть вариант в запросе задать условие:
    |СтавкаНДС          = Если (Документ.РеализацияРозница.УчитыватьНДС = 1) тогда СтавкаНДС = Документ.РеализацияРозница.СтавкаНДС;
Иначе
СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
Ну, что-то в этом роде.
Спасибо.
1 Ёпрст
 
20.04.15
10:56
Условие (?(,,)=...);
2 mzelensky
 
20.04.15
10:56
(0) Есть
3 mzelensky
 
20.04.15
10:57
(1) Протри глаза:

"Есть вариант в ЗАПРОСЕ задать условие"
4 Ёпрст
 
20.04.15
10:57
А ёпт.. тебе переменную слепить ?
Тогда болт
5 Масянька
 
20.04.15
10:57
(2) Подскажи, пожалуйста.
6 Ёпрст
 
20.04.15
10:58
Условие - можешь, группировку или переменную, проблематично, зависит от типа . В твоём случае, можно, но с извратом (если в чорном запросе)
7 mzelensky
 
20.04.15
11:00
(3) Давай начнем с того - какую проблему ты решаешь, чего хочешь добиться ?
8 mzelensky
 
20.04.15
11:00
(7) -> (5)
9 Масянька
 
20.04.15
11:03
(7) В ТЧ документа есть реквизит "СтавкаНДС". Он равен = 18%. Но в шапке документа есть реквизит "УчитыватьНДС". Он равен = 0.
В запросе строка вида: |СтавкаНДС = Документ.РеализацияРозница.СтавкаНДС; возвращает 18%, но сумма НДС = 0 и НДС не читывается (в шапке).
10 mzelensky
 
20.04.15
11:11
(0) Открой типовую процедуру печатной формы "Торг-12". И все увидишь. 7 лет опыта и такие вопросы...стыдно должно быть

Выбор когда  ДокТовары.Ссылка.УчитыватьНДС = Истина тогда
   ДокТовары.СтавкаНДС
Иначе
   Значение(Перечисление.СтавкиНДС.БезНДС)
Конец как СтавкаНДС
11 Масянька
 
20.04.15
11:14
(10) Ну, ё-моё... Говорю же: в запросе есть вариант?
Не стыдно ни капли. Видела уже. Нужно в запросе.
12 Serginio1
 
20.04.15
11:15
(10) Это где это такое в 7.7 увидел?
(0) Переходи на прямые запросы.
13 Масянька
 
20.04.15
11:15
(12) Не получается у меня :(
14 mzelensky
 
20.04.15
11:18
(11) Это и есть в запросе!!!
15 mzelensky
 
20.04.15
11:18
(12) А где ты увидел "про 7.7" ?!?!?!?
16 Масянька
 
20.04.15
11:19
(14) (15) В секции... Стыдно - не уметь читать :)
17 Jaap Vduul
 
20.04.15
11:21
(15)
Секция же указана.

(9)
Объяви две переменные.
18 mzelensky
 
20.04.15
11:22
(16) Секция в заголовке поста не отображается. В (0) про версию платформы тоже ничего. Так что постановка задачи кривая.
19 Масянька
 
20.04.15
11:23
(17) Две переменные - как?
20 Jaap Vduul
 
20.04.15
11:25
СтавкаНДС = Документ.РеализацияРозница.СтавкаНДС;
УчитыватьНДС = Документ.РеализацияРозница.УчитыватьНДС;
21 Масянька
 
20.04.15
11:28
(20) В этом случае - потом (после запроса) нужно дополнительно обрабатывать.
PS Дурдом...
22 Jaap Vduul
 
20.04.15
11:36
(21)Ну, можно количество телодвижений с группировками уменьшить, добавив функцию типа
Функция НеУчитваемНДС = Минимум(1) Когда (Док.УчитыватьНДС = 0);
В таком случае обход дополнительной группировки не нужен.
23 ЧеловекДуши
 
20.04.15
11:43
УжастЪ. Это же 7.7 Пиши Функцию и используй в запросе, но только в условии.
Если же надо установить значение Поля, то пиши  лучше далее в циклах. Это 7.7 так что что запрос, что цикл, разница небольшая :)
24 ЧеловекДуши
 
20.04.15
11:44
(21) Это 7.7. Это Черные запросы. И да в 8-ке 1С тоже не далеко от 7-ки ушла.

Если хочется больше гибкости, то пиши Прямые запросы, желательно на SQL. Там можно вплоть до своих собственных функций лепить :)
25 Ёпрст
 
20.04.15
11:46
ТС, см.(6).
26 Масянька
 
20.04.15
11:47
(23) Нужно только получать.
(25) Да не поняла я...
27 Ёпрст
 
20.04.15
11:48
(26) зачем это поле (ставка) тебе вообще впёрлась в запросе ?
28 Ёпрст
 
20.04.15
11:48
В запросе её можно только числом получить, если что.. 0 и 18, например. Но не перечислением
29 ЧеловекДуши
 
20.04.15
11:49
(26) Цикл, 1С 7.7 не терпит сложных запросов. Там и так 1С-совский интерпретатор не справляется.
Так что чем проще, тем лучше. Цикл для 1С 7.7 все. :)
30 Ёпрст
 
20.04.15
11:49
нннннадо ?
31 ЧеловекДуши
 
20.04.15
11:49
(30) Женское - "Хочу в крапинку и полоску прозрачным цветом" :)
32 Масянька
 
20.04.15
11:51
(27) Блин... Не говори.
Групповая СФ (за месяц, розница). Есть "право". Оно без НДС. В док-е все норм (на первый взгляд). А оказывается...
Вот наткнулась, блин, на грабли с ведром.
33 Масянька
 
20.04.15
11:51
(31) Женщине, кроме шубы, ничего не надо :)
34 Ёпрст
 
20.04.15
11:53
Ладно, ты определись, надо тебе это или нет.
Потом скажешь.
35 Ёпрст
 
20.04.15
11:53
Зачем это нужно видеть в отдельном поле (еще и группировка поди по этой ставке в тексте запроса, да ? :))   )
36 Масянька
 
20.04.15
11:56
(34) Надо, надо.
(35) Собирается СФ (по док-ам Розничная реализация). Для позиций в видом "Право" - в ТЧ (уже в самой СФ) стоит ставка НДС "18%". Потому, как и в самих реализациях ставка 18%. Хотя Учитывать ндс = 0.
37 Ёпрст
 
20.04.15
12:11
Ну, тогда так:

Функция ПолучитьСтавку(Док)
    Возврат глВернутьСтавкуЧисломВЗависимостиОтУсловийДокумента(Док);
КонецФункции


|Функция Ставка = Максимум(ПолучитьСтавку(Док));
38 Масянька
 
20.04.15
12:16
(37) Спасибо. Я сижу с Суммой мучаюсь... А надо - максимум.
СПАСИБО!