|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
Borteg
08.04.13
✎
16:46
|
Простой запрос.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Сотрудники.Ссылка КАК Сотрудник, | &Оклад КАК ВидРасчета, | Сотрудники.УпрОклад КАК Сумма |ИЗ | Справочник.Сотрудники КАК Сотрудники |ГДЕ | Сотрудники.Рассчитывать = &Рассчитывать | И Сотрудники.ЭтоГруппа = ЛОЖЬ | И Сотрудники.Подразделение = &Подразделение"; Рассчитывать = Истина; Запрос.УстановитьПараметр("Оклад",ПланыВидовРасчета.УпрНачисления.ОкладРегл); Запрос.УстановитьПараметр("Рассчитывать", Рассчитывать); Запрос.УстановитьПараметр("Подразделение",Подразделение); Результат = Запрос.Выполнить().Выгрузить(); Возврат Результат; Передается значение подразделения. Как указать что если значение не указанно то вывести всех сотрудников? УЖе пол инета облазил так и не нашел() |
|||
1
Wobland
08.04.13
✎
16:47
|
Сотрудники.Подразделение = &Подразделение ИЛИ &Подразделение=Значение(Сотрудники.Подразделение.ПустаяСсылка)
{} |
|||
2
Wobland
08.04.13
✎
16:47
|
(1) значение(Справочник....)
|
|||
3
Dionis Sergeevich
08.04.13
✎
16:54
|
Если НЕ Подразделение = Неопределено // Или пустая ссылка
Тогда Запрос.Текст = ЗАпрос.Текст + " И Сотрудники.Подразделение..." |
|||
4
Dionis Sergeevich
08.04.13
✎
16:56
|
Ну или синтаксические конструкции {(&Подразделение)} - но это работает вроде только в СКД
|
|||
5
Мимохожий Однако
08.04.13
✎
16:58
|
Сделай проверку на условие и создай текст запроса без строк:
" | И Сотрудники.ЭтоГруппа = ЛОЖЬ | И Сотрудники.Подразделение = &Подразделение" |
|||
6
НафНаф
08.04.13
✎
16:58
|
| И &УсловиеПодразделение"
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,?(ЗначениеЗаполнено(Подразделение),"Сотрудники.Подразделение = &Подразделение","Истина")); |
|||
7
Dionis Sergeevich
08.04.13
✎
16:59
|
(6) как изящно =)
|
|||
8
Borteg
08.04.13
✎
17:01
|
Вот это пища для размышления) Спасибо большое) Щас все 3 способа попробую отпишусь о результатх
|
|||
9
Borteg
08.04.13
✎
17:08
|
(3) Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | Сотрудники.Ссылка КАК Сотрудник, | &Оклад КАК ВидРасчета, | Сотрудники.УпрОклад КАК Сумма |ИЗ | Справочник.Сотрудники КАК Сотрудники |ГДЕ | Сотрудники.Рассчитывать = &Рассчитывать | И Сотрудники.ЭтоГруппа = ЛОЖЬ"; Если НЕ Подразделение = Справочники.ПодразделенияОрганизации.ПустаяСсылка() тогда Запрос.Текст = Запрос.Текст + " И Сотрудники.Подразделение = &Подразделение" ; КонецЕсли; Рассчитывать = Истина; Запрос.УстановитьПараметр("Оклад",ПланыВидовРасчета.УпрНачисления.ОкладРегл); Запрос.УстановитьПараметр("Рассчитывать", Рассчитывать); Запрос.УстановитьПараметр("Подразделение",Подразделение); Результат = Запрос.Выполнить().Выгрузить(); Возврат Результат; Отлично получилось)Токо с кавычками запутался ыы)спасибо) Щас другие посмотрю) |
|||
10
Wobland
08.04.13
✎
17:10
|
шо, никто не видит, что (1) можно спокойно конструктору подсовывать?
|
|||
11
Dionis Sergeevich
08.04.13
✎
17:11
|
(9) Не забудь в самом хорошем варианте указать подстроку поиска.
|
|||
12
НафНаф
08.04.13
✎
17:11
|
(10) некошерно, ИЛИ часто убивает использование индекса
|
|||
13
Dionis Sergeevich
08.04.13
✎
17:12
|
(10) Тоже красивый вариант =))
|
|||
14
Borteg
08.04.13
✎
17:12
|
(10) плюется сильно очень)пытаюсь разобраться.
|
|||
15
GANR
08.04.13
✎
17:14
|
ПостроительЗапроса
|
|||
16
Borteg
08.04.13
✎
17:37
|
(6) мало того что в мозгу меня от циклит, так и не могу понять че не работает)))
|
|||
17
Зойч
08.04.13
✎
17:38
|
(15)+100500
|
|||
18
Borteg
08.04.13
✎
17:39
|
(6) а все)отлично работает)и вправду изящно)
|
|||
19
Borteg
08.04.13
✎
17:41
|
| И Сотрудники.Подразделение = &Подразделение";
Запрос.Текст = СтрЗаменить(Запрос.Текст,?(Подразделение = Справочники.ПодразделенияОрганизации.ПустаяСсылка(),"И Сотрудники.Подразделение = &Подразделение","Круто"),""); вот так получилось |
|||
20
Borteg
08.04.13
✎
17:47
|
Кстати а ТабличнаяЧасть.Загрузить() очищает ТЧ перед загрузкой? а то у меня очистки нету я нажимаю 2 раза кнопку а то все обновляется
|
|||
21
Borteg
08.04.13
✎
17:47
|
Вопрос снят СП в помощь))
|
|||
22
Borteg
08.04.13
✎
17:47
|
Спасибо всем за помощь!
|
|||
23
Dionis Sergeevich
08.04.13
✎
17:52
|
(19) вроде там надо было делать по другому..
| И УсловиеПодразделения"; Запрос.Текст = СтрЗаменить(Запрос.Текст, "УсловиеПодразделения", ?(Подразделение = Справочники.ПодразделенияОрганизации.ПустаяСсылка(), "Истина","Сотрудники.Подразделение = &Подразделение")); |
|||
24
Borteg
08.04.13
✎
17:53
|
(23) Можно и так)Главное что метод я понял)
|
|||
25
Dionis Sergeevich
08.04.13
✎
17:53
|
Хотя и твой вариант должен работать =) но он более замудрен чтоли =)
|
|||
26
Dionis Sergeevich
08.04.13
✎
17:54
|
(24) Грац =) Успехов
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |