|
Своя функция в запросе, простой вопрос
| ☑ |
0
егаис
25.03.20
✎
12:09
|
В ЗУПе в запросе надо получить месяц начисления регистратора в регистре накопления.
Регистратор имеет несколько типов. У некоторых документов поле месяца начисления называется "Период регистрации", у других "Месяц начисления" (нафейхуя так сделано хз)
Вопрос, можно в запросе описать функцию, которая бы вернула нужно поле без нагромождения ВЫБОР КОГДА, будет накладывается еще куча условий
Типа
"Выбрать
&МояФункция КАК ПериодРегистрацииДокумента
...
|
|
1
fisher
25.03.20
✎
12:13
|
Не.
|
|
2
mars2020
25.03.20
✎
12:15
|
(0) ОБЪЕДИНИТЬ
|
|
3
егаис
25.03.20
✎
12:16
|
(2) не хотелось бы нагромождать запрос
Ну ладно, нет, так нет
Опишу как переменную и буду тыкать в запросе, где надо
|
|
4
palsergeich
25.03.20
✎
13:16
|
(3) Поверь. большой запрос это далеко не всегда плохо. особенно если он логичен и понятен
|
|
5
SleepyHead
гуру
25.03.20
✎
13:49
|
(0)
Я эту проблему решал так. До запроса выяснил, каким видам документов соответствует поле "Период" в регистре. Все остальные виды документов распределил по нескольким массивам. Содержимое массива - тип. А уже в запросе анализирую:
ВЫБОР
КОГДА ТипЗначения(Регистратор) В (&МассивВидовПериод) Тогда Регистр.Период
КОГДА ТипЗначения(Регистратор) В (&МассивВидовМесяцНачисления) Тогда Регистратор.МесяцНачисления
ну и так далее
|
|
6
Dmitry_1C
25.03.20
✎
13:57
|
(0) ЕСТЬNULL(Регистратор.МесяцНачисления, Регистратор.ПериодРегистрации)
|
|
7
uzerp2
25.03.20
✎
14:37
|
в СКД можно функцию применять
а потом выгрузишь результат в таблицу значений например
|
|
8
Жан Пердежон
25.03.20
✎
14:43
|
бери период из регистра расчета
|
|