![]() |
|
v7: Условие на справочник в запросе | ☑ | ||
---|---|---|---|---|
0
VoditelKobyly
18.07.13
✎
12:29
|
Уважаемые программисты, подскажите как в тексте запроса 1с реализовать увсловие вхождения элемента в группу если запрос строится по реквизитам документа типа справочник общего вида. Есть накладная, в табличной части реквизит Товар, тип справочник. Может быть как элементом справочника товаров, так и элементом справочника услуги. Ставлю на форме отчета поле выбора справочника товаров. Пишу условие в запросе Товар в ВыбТовар. Работает как надо. Далее в этой же накладной в шапке есть реквизит Покупатель типа справочник общего вида. Может быть как элементом справочника Клиенты, так и элементом справочника Сотрудники. Ставлю на форме отчета поле выбора справочника Клиенты. Пишу в запросе условие Покупатель в ВыбКлиент.
Как только добавляю условие результат запроса пустой. Пишу Покупатель=ВыбКлиент, выбираю клиента, который точно должен попасть в выборку - результат пустой. Как правильно написать условие в запросе, чтобы реализовать фильтр по клиентам определенной группы (или одному выбранному клиенту)? |
|||
1
Ёпрст
гуру
18.07.13
✎
12:30
|
|условие (Покупатель в ВыбКлиент);
|
|||
2
1Сергей
18.07.13
✎
12:31
|
Покупатель - справочник неопределенного вида или неопределённого типа?
|
|||
3
VoditelKobyly
18.07.13
✎
12:31
|
Спасибо, пробовал, не работает
|
|||
4
VoditelKobyly
18.07.13
✎
12:32
|
Покупатель в шапке документа это справочник.
На форме отчета это Справочник.Клиенты |
|||
5
VoditelKobyly
18.07.13
✎
12:34
|
(2)То же самое с товаром, но товар это реквизит табличной части документа. С товаром всё работает с покупателем не хочет.
|
|||
6
1Сергей
18.07.13
✎
12:34
|
странно, вообще. Должно работать
|
|||
7
1Сергей
18.07.13
✎
12:34
|
Может, дело не в этом?
|
|||
8
VoditelKobyly
18.07.13
✎
12:35
|
(7) Дай подсказку
|
|||
9
VoditelKobyly
18.07.13
✎
12:37
|
Убираю условие по покупателю из текста запроса в результате попадают документы по всем покупателям.
А мне нужно по одному или группе. |
|||
10
1Сергей
18.07.13
✎
12:38
|
ну, не знаю. Другие условия проверяй. "Обрабатывать Все", Период, прочие условия. Пробуй всё отключить
|
|||
11
mishaPH
18.07.13
✎
12:38
|
текст запроса в студию.
А то тут некоторые 8ки пытаются в 7ке также присать |
|||
12
VoditelKobyly
18.07.13
✎
12:42
|
Попробовал на форме ВыбПокупатель сделать тоже типом справочник. Условие не срабатывает не на равно, не на вхождение.
|
|||
13
Ёпрст
гуру
18.07.13
✎
12:44
|
выбираешь клиентоса, которого нет в выборке
|
|||
14
VoditelKobyly
18.07.13
✎
12:45
|
(13) проверял, точно есть
|
|||
15
VoditelKobyly
18.07.13
✎
12:46
|
- Документ
- Идентификатор "СчетФактура" - Синоним "Cч.-Факт." - Комментарий "Счет-фактура" - Журнал "Журнал.СчетаФактуры" - ПериодичностьНомера "Год" - ДлинаНомера "5" - ТипНомера "Числовой" - АвтоНумерация "2" - КонтрольУникальности "0" - Нумератор - ОперативныйУчет "1" - Расчет "0" - БухгалтерскийУчет "0" - СоздаватьОперацию - АвтоНумерацияСтрок "1" - АвтоудалениеДвижений "1" - РедактированиеОпераций "0" - РазрешитьПроведение "1" - ВводимыеНаОснованииДокументы - ОснованиеДляЛюбогоДокумента "0" - ОбластьРаспространения "ВсеИнформационныеБазы" - АвтоРегистрация "1" - ДополнительныеКодыИБ - РеквизитШапки - Идентификатор "Покупатель" - Синоним - Комментарий "Покупатель" - Тип "Справочник" - Вид - Длина "0" - Точность "0" - НеОтрицательный "0" - РазделятьТриады "0" |
|||
16
VoditelKobyly
18.07.13
✎
12:46
|
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |СФ = Документ.СчетФактура.ТекущийДокумент; |Покупатель = Документ.СчетФактура.Покупатель; |Товар = Документ.СчетФактура.Товар; |Количество = Документ.СчетФактура.Количество; |Функция КоличествоСумма = Сумма(Количество); |Функция ВДаллах = Сумма(КоличествоВДаллах(Количество,Товар)); |Группировка Покупатель без групп; |Группировка Товар без групп; |Группировка СФ; |Условие(Покупатель = ВыбПокупатель); |Условие(Товар в ВыбТовар); |Условие(Товар.Пиво = 1); |"//}}ЗАПРОС ; |
|||
17
1Сергей
18.07.13
✎
12:47
|
(15) запрос покажи
|
|||
18
1Сергей
18.07.13
✎
12:47
|
Вот так работает?
"//{{ЗАПРОС(Сформировать) // |Период с ВыбНачПериода по ВыбКонПериода; // |Обрабатывать НеПомеченныеНаУдаление; |СФ = Документ.СчетФактура.ТекущийДокумент; |Покупатель = Документ.СчетФактура.Покупатель; |Товар = Документ.СчетФактура.Товар; |Количество = Документ.СчетФактура.Количество; |Функция КоличествоСумма = Сумма(Количество); |Функция ВДаллах = Сумма(КоличествоВДаллах(Количество,Товар)); |Группировка Покупатель без групп; |Группировка Товар без групп; |Группировка СФ; |Условие(Покупатель В ВыбПокупатель); // |Условие(Товар в ВыбТовар); // |Условие(Товар.Пиво = 1); |"//}}ЗАПРОС |
|||
19
VoditelKobyly
18.07.13
✎
12:48
|
(11) Это не про меня
|
|||
20
Ёпрст
гуру
18.07.13
✎
12:49
|
ну и |Условие(Товар.Пиво = 1); это в топку
|
|||
21
1Сергей
18.07.13
✎
12:49
|
вот это тоже лучше закоменть
|Функция ВДаллах = Сумма(КоличествоВДаллах(Количество,Товар)); |
|||
22
VoditelKobyly
18.07.13
✎
12:50
|
(20) Это не причем, это как раз срабатывает и фильтрует от лишних товаров
|
|||
23
Ёпрст
гуру
18.07.13
✎
12:51
|
(22) я в курсе - это мегатормоз.
|
|||
24
VoditelKobyly
18.07.13
✎
12:51
|
(21) Это тоже не причем, работает
|
|||
25
VoditelKobyly
18.07.13
✎
12:52
|
(23) Понял, сделаем по другому, но речь не про тормоза.
|
|||
26
uno-group
18.07.13
✎
12:52
|
вместо "=" "в" Пробывал ставить?
Может уще условие добавить типа (Покупатель.Вид()="Контрагенты") |
|||
27
1Сергей
18.07.13
✎
12:52
|
(24) это тоже (23). попробуй, говорю, убрать всё лишнее
|
|||
28
Ёпрст
гуру
18.07.13
✎
12:54
|
ну и (18) у тебя работает ?
|
|||
29
uno-group
18.07.13
✎
12:55
|
А это зачем?
|СФ = Документ.СчетФактура.ТекущийДокумент; ... |Группировка СФ; почему не просто группировка.документ |
|||
30
VoditelKobyly
18.07.13
✎
12:56
|
(28) 18 Без условия по Покупателю работает.
Выборка показывает все документы всех покупателей |
|||
31
VoditelKobyly
18.07.13
✎
12:57
|
(26) |Условие(Покупатель.Вид() = ""Клиенты"");
Дает ошибку в условии и не работает |
|||
32
uno-group
18.07.13
✎
12:58
|
ВыбПокупатель и ВыбТовар Это что реквизит типа товар, контрагент или списки значений может тут собака зарыта.
|
|||
33
Ёпрст
гуру
18.07.13
✎
13:02
|
Так работает ?
Т=" |СФ = Документ.СчетФактура.ТекущийДокумент; |Покупатель = Документ.СчетФактура.Покупатель; |Группировка Покупатель без групп;"; Запрос = СоздатьОбъект("Запрос"); ТЗ = СоздатьОбъект("ТаблицаЗначений"); Запрос.Выполнить(Т); Запрос.Выгрузить(ТЗ,0,0); Сообщить(ТЗ.НайтиЗначение(ВыбПокупатель,,"Покупатель"); чего сообщает ? |
|||
34
НЕА123
18.07.13
✎
13:08
|
(32)
очень похоже. (0) проверь в отладчике кто же такой ВыбПокупатель. ну и вставь ВыбПокупательИстинный = ВыбПокупатель.ТекущийЭлемент(); ибо подозрение есть, что ВыбПокупатель выборка или еще что-то... (за синтаксис не ручаюсь, позабыл уже 7). |
|||
35
VoditelKobyly
18.07.13
✎
13:39
|
В отладчике:
ВыбПокупатель = ООО"Лада" ВыбПокупатель.Вид() = "Клиенты" ТипЗначенияСтр(ВыбПокупатель) = "Справочник" |
|||
36
Ёпрст
гуру
18.07.13
✎
13:39
|
на (33) есть ответ ?
|
|||
37
VoditelKobyly
18.07.13
✎
13:41
|
(33) 0
|
|||
38
НЕА123
18.07.13
✎
13:45
|
Не пробовал?
ВыбПокупательИстинный = ВыбПокупатель.ТекущийЭлемент(); |
|||
39
VoditelKobyly
18.07.13
✎
13:47
|
Все нашел, спасибо всем за помощь.
ВыбПокупатель = ООО"Лада" ВыбПокупатель.Вид() = "Клиенты" ТипЗначенияСтр(ВыбПокупатель) = "Справочник" Запрос.Покупатель = ООО " Лада" Запрос.Покупатель.Вид() = "Фирмы" ТипЗначенияСтр(Запрос.Покупатель) = "Справочник" |
|||
40
Ёпрст
гуру
18.07.13
✎
13:49
|
(37) это собственно ответ на твой вопрос - в выборке НЕТ твоего клиентоса.
|
|||
41
1Сергей
18.07.13
✎
13:49
|
я же говорил, что дело не в этом
|
|||
42
Ёпрст
гуру
18.07.13
✎
13:49
|
чего ты там ищещь - не ясно
|
|||
43
Ёпрст
гуру
18.07.13
✎
13:50
|
(41) я тоже говорил.. в (13)
|
|||
44
VoditelKobyly
18.07.13
✎
13:50
|
(40) Да.
Тут что покупатели, что фирмы два справочника практически с одинаковыми реквизитами и копией информации, что в одном, что в другом |
|||
45
VoditelKobyly
18.07.13
✎
13:51
|
(41,42) Вам то хорошо...
Вы умные. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |