|
v7: Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
Aleksey1989
16.05.13
✎
08:22
|
ДОбрый день. Помогите, пжл, составить запрос, который будет выбирать все документы, у которых реквизит Назначение имеет строго определенной значение, а реквизит "Клиент" может не иметь значение (и тогда должны быть отражены все клиенты), а может иметь значение (в этом случае должны будут отражены только информация по выбранному клиенту).
Я сам подготовил запрос, он имее следующий вид: ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаНач по ДатаКон; |Клиент = Документ.РасходныйОрдер.Клиент; |ДатаДок = Документ.РасходныйОрдер.ДатаДок; |Сумма = Документ.РасходныйОрдер.Сумма; |Назначение = Документ.РасходныйОрдер.Назначение; |Функция СуммаНачОст = НачОст(Сумма); |Группировка Клиент без групп без упорядочивания; |Группировка Документ; |Группировка ДатаДок без упорядочивания; |Группировка Сумма без упорядочивания; |Условие((Назначение = Перечисление.ВидыОплаты.ВСчетЗПл) и (Клиент = ""Сотрудник"")); |"//}}ЗАПРОС Но почему-то он вообще ничего не выводит. "Сотрудник" - это реквизит на форме отчета. |
|||
1
Mikeware
16.05.13
✎
08:25
|
Открой для себя конструктор запросов.
|
|||
2
Эмбеддер
16.05.13
✎
08:27
|
вот это точно неправильно, клиент не строка
Клиент = ""Сотрудник"" |
|||
3
1Сергей
16.05.13
✎
08:29
|
В
|
|||
4
PiterPrg
16.05.13
✎
08:33
|
(3) Ты-б был по-красноречивие...
(0) Вместо Клиент = ""Сотрудник"" надо Клиент В Сорудник |
|||
5
1Сергей
16.05.13
✎
08:34
|
(4) >>Ты-б был по-красноречивие...
поверь, я и так слишком много сказал постом (3) |
|||
6
Aleksey1989
16.05.13
✎
08:38
|
Попробовал воспользоваться консолью запросов, в результате чего запрос выглядит следующим образом:
ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаНач по ДатаКон; |Клиент = Документ.РасходныйОрдер.Клиент; |ДатаДок = Документ.РасходныйОрдер.ДатаДок; |Сумма = Документ.РасходныйОрдер.Сумма; |Назначение = Документ.РасходныйОрдер.Назначение; |Функция СуммаНачОст = НачОст(Сумма); |Группировка Клиент без групп без упорядочивания; |Группировка Документ; |Группировка ДатаДок без упорядочивания; |Группировка Сумма без упорядочивания; |Условие(Клиент = Условия.ПолучитьЗначение(6,""Сотрудник"")); |Условие(Назначение = Перечисление.ВидыОплаты.ВСчетЗПл); |"//}}ЗАПРОС Но при попытке выполнить этот запрос возникает ошибка: Переменная не определена (УСЛОВИЯ) Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда {Отчет.ОтчетПоВыданнойЗПл.Форма.Модуль(30)}: Условие(Клиент = Условия.ПолучитьЗначение(6,"Сотрудник") <<?>> ); Запрос[12] : Ошибка в выражении 'Условия' |
|||
7
Aleksey1989
16.05.13
✎
08:41
|
Все, получилось. Надо использовать следующий запрос:
ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаНач по ДатаКон; |Клиент = Документ.РасходныйОрдер.Клиент; |ДатаДок = Документ.РасходныйОрдер.ДатаДок; |Сумма = Документ.РасходныйОрдер.Сумма; |Назначение = Документ.РасходныйОрдер.Назначение; |Функция СуммаНачОст = НачОст(Сумма); |Группировка Клиент без групп без упорядочивания; |Группировка Документ; |Группировка ДатаДок без упорядочивания; |Группировка Сумма без упорядочивания; |Условие(Клиент В Сотрудник); |Условие(Назначение = Перечисление.ВидыОплаты.ВСчетЗПл); |"//}}ЗАПРОС |
|||
8
ivanov-i-i
16.05.13
✎
08:42
|
(7) Тебе это ещё в (4) написали.
|
|||
9
kudlach
16.05.13
✎
08:42
|
молодец
|
|||
10
Эмбеддер
16.05.13
✎
08:51
|
Я сразу и не понял, что за Сотрудник
лучше такие элементы на форме называть ВыбСотрудник, как делает 1С |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |