|
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) Спасибо. Я сижу с Суммой мучаюсь... А надо - максимум.
СПАСИБО! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |