|
v7: Что-то с фильтром регистра | ☑ | ||
---|---|---|---|---|
0
LOTOS2000
05.09.14
✎
14:52
|
Не фильтруется регистр остатков. Где ошибка?
Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = " |Период с ВыбНачПериода по ВыбКонПериода; |Товары = Регистр.Д.Товары; |Клиент = Регистр.Д.Клиенты; |Постав = Регистр.Д.Товары.Поставщик; |Кол = Регистр.Д.Количество; |Функция ПрихКол = Приход(Кол); |Функция РасхКол = Расход(Кол); |Группировка Постав Без Групп; |"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; РегД = СоздатьОбъект("Регистр.Д"); Пока Запрос.Группировка(1) = 1 Цикл РегД.УстановитьЗначениеФильтра("Клиенты",Запрос.ЗначениеГруппировки(1),1); РегД.ВыбратьДвижения(ВыбНачПериода,ВыбКонПериода); Пока РегД.ПолучитьДвижение() = 1 Цикл Сообщить("А"); КонецЦикла; КонецЦикла; |
|||
1
КонецЦикла
05.09.14
✎
14:56
|
Запрос.Постав - а так?
|
|||
2
КонецЦикла
05.09.14
✎
14:56
|
Клиенты - это вот так измерение называется?
|
|||
3
LOTOS2000
05.09.14
✎
14:56
|
(1) Не помогло
|
|||
4
LOTOS2000
05.09.14
✎
14:57
|
(2) Тип справочник
|
|||
5
КонецЦикла
05.09.14
✎
14:59
|
В товаре не заполнен поставщик?
|
|||
6
КонецЦикла
05.09.14
✎
15:00
|
Запрос.Клиент - а так?
|
|||
7
LOTOS2000
05.09.14
✎
15:00
|
(5) Я вывалил запрос в ТЗ - поставщик присутствует.
|
|||
8
LOTOS2000
05.09.14
✎
15:01
|
(6) Ну так-то конечно замечательно :)
|
|||
9
LOTOS2000
05.09.14
✎
15:12
|
Дело в том, что Постав и Клиенты = один и тот же СПР.
Если выгрузить запрос в ТЗ, я получаю только ОДНУ колонку "Постав", а при таком коде: Пока Запрос.Группировка(1) = 1 Цикл Сообщить(Запрос.Клиент); КонецЦикла; Получаю перебор всех клиентов от данных Постав(щиков) |
|||
10
LOTOS2000
05.09.14
✎
15:27
|
Поясню снова - мне нужно из запроса вытащить "Постав" и воткнуть его в фильтр. В запросе "Постав" присутствует, но в фильтр никак не ложится. Бида :(
|
|||
11
akaBrr
05.09.14
✎
15:32
|
А смысл у регистра какой? Это остатки товаров или продажи?
|
|||
12
akaBrr
05.09.14
✎
15:33
|
+(11) судя по по приходу, остатки :)
|
|||
13
akaBrr
05.09.14
✎
15:35
|
Тогда в указанный период Постав не попали в Клиенты
|
|||
14
palpetrovich
05.09.14
✎
15:35
|
а группировка "через 3 точки" - это вообще комильфо?
|
|||
15
akaBrr
05.09.14
✎
15:37
|
(14) быстродействие товарища видно не интересует
|
|||
16
palpetrovich
05.09.14
✎
15:40
|
(15) тогда непонятно, должно работать. или автор чего-то недоговаривает :)
|
|||
17
LOTOS2000
05.09.14
✎
15:44
|
(13) В ТЗ запроса "Постав" присутствуют! :)
(14) Не важно какого (на сегодняшний день) цвета кошка, ловящая мышей :) (16) не попадает в фильтр хоть застрелись. |
|||
18
КонецЦикла
05.09.14
✎
15:53
|
(8) Ну так сам проверь совпадение типов теперь и далее, чего ванговать
|
|||
19
palpetrovich
05.09.14
✎
15:55
|
(17) бог с ним. с фильтром, так что получается?
Пока Запрос.Группировка(1) = 1 Цикл Сообщить("Поставщик: "+Запрос.Постав); |
|||
20
LOTOS2000
05.09.14
✎
15:57
|
(18) Тип един.
Забросил запрос в ТЗ, из ТЗ получаю "Постав", тыкаю в фильтр - выборка движений регистра не происходит. :( (19) Так всё ОК :) |
|||
21
LOTOS2000
05.09.14
✎
15:58
|
(19) Меня именно процесс втыкания в фильтр заволновал
|
|||
22
palpetrovich
05.09.14
✎
15:59
|
(20) а так: Сообщить("Поставщик: "+Запрос.Постав+ " "+ ТипЗначенияСтр(Запрос.Постав));
|
|||
23
LOTOS2000
05.09.14
✎
16:02
|
(22) Справочник
|
|||
24
akaBrr
05.09.14
✎
16:02
|
(17) Перефразирую: в указанный период поставщики не попадали в измерение Клиенты.
|
|||
25
LOTOS2000
05.09.14
✎
16:04
|
(24) В указанный период с измерением "Клиенты" и измерением "Товары" было движение. А "постав" - это не что иное, как реквизит элемента "Товары".
|
|||
26
palpetrovich
05.09.14
✎
16:06
|
я тут задумался а что это вообще за схема? Товар всегда только от одного поставщика? или для другого поствщика заводите ноый элемент номенклатуры?
|
|||
27
КонецЦикла
05.09.14
✎
16:06
|
(25) Теперь, внимание!
Где гарантия того, что клиент прошедший по регистру - это клиент в товаре? Может в товарах нужно пошурудить, обновить там их? |
|||
28
palpetrovich
05.09.14
✎
16:08
|
(27) думаю совсем необязательно Регистр.Д.Клиент = Регистр.Д.Товары.Поставщик
|
|||
29
akaBrr
05.09.14
✎
16:09
|
(27) я и пытаюсь это донести до ТС
|
|||
30
LOTOS2000
05.09.14
✎
16:10
|
(27) Вот пример:
измерение "Клиенты" - ООО Рога и копыта (им продали товар) измерение "Товары" - Мороженое (от поставщика "ООО Вектор") ресурс "Количество" - 1 шт. Теперь смотрим спр Товары - у элемента "Мороженое" есть рекв "Постав" (тип спр Клиенты) со значением ООО Вектор. |
|||
31
LOTOS2000
05.09.14
✎
16:11
|
(28) в моём случае это один и тотже тип, но разные значения
|
|||
32
LOTOS2000
05.09.14
✎
16:11
|
В итоге мне нужно в фильтр воткнуть ООО Вектор.
|
|||
33
palpetrovich
05.09.14
✎
16:12
|
(30) так что, у всех товаров таки уникальные постащики?
|
|||
34
LOTOS2000
05.09.14
✎
16:13
|
(33) это влияет на данную проблему?
|
|||
35
akaBrr
05.09.14
✎
16:14
|
(30) сделай еще один шаг, ты почти у цели
|
|||
36
LOTOS2000
05.09.14
✎
16:15
|
(35) посмотри мой пост в (20) - скажи почему из ТЗ значение не попадает в фильтр?
|
|||
37
palpetrovich
05.09.14
✎
16:17
|
(34) нет, но интересно. Иеще интересно, сделай запрос типа
Вектор = ООО Вектор; Клиент = Регистр.Д.Клиенты; условие(Клиент = Вектор) |
|||
38
LOTOS2000
05.09.14
✎
16:19
|
(37) поясни:
Вектор = ООО Вектор; |
|||
39
LOTOS2000
05.09.14
✎
16:20
|
то есть, есть ли ООО Вектор в выборке?
|
|||
40
akaBrr
05.09.14
✎
16:20
|
(36)
измерение "Клиенты" - ООО Рога и копыта (им продали товар) измерение "Товары" - Мороженое (от поставщика "ООО Вектор") ресурс "Количество" - 1 шт. Вектор есть в измерении? |
|||
41
palpetrovich
05.09.14
✎
16:20
|
(38) переменная Вектор = элементсправочник000Вектор
|
|||
42
palpetrovich
05.09.14
✎
16:22
|
(39) т.е присутсвовал-ли "ООО Вектор" вообще в измерении Клиент, по которому ты хочешь получить фильтр
|
|||
43
LOTOS2000
05.09.14
✎
16:22
|
(42) да есть!
|
|||
44
palpetrovich
05.09.14
✎
16:22
|
+42 за выбранный период
|
|||
45
LOTOS2000
05.09.14
✎
16:24
|
стоп.
есть только покупатель и товар из выборки я чудесно получаю Вектора из товара. |
|||
46
LOTOS2000
05.09.14
✎
16:25
|
иначе говоря, выполняется условие из поста (40)
|
|||
47
LOTOS2000
05.09.14
✎
16:25
|
Вектора в измерении нет!
|
|||
48
palpetrovich
05.09.14
✎
16:26
|
(46) иначе говоря, все правильно и никто не виноват :)
|
|||
49
palpetrovich
05.09.14
✎
16:28
|
+(48) поменяй в (0) строчку
РегД.ВыбратьДвижения(,ВыбКонПериода); |
|||
50
LOTOS2000
05.09.14
✎
16:28
|
(49) а смысл?
|
|||
51
palpetrovich
05.09.14
✎
16:30
|
(50) та да, смысла нет. Честно говоря я не сильно понимаю и смысл отчета в (0) :)
|
|||
52
LOTOS2000
05.09.14
✎
16:31
|
(51) в двух словах: запросом получить список поставщиков за период, затем отобрать движения по ним.
|
|||
53
palpetrovich
05.09.14
✎
16:33
|
(52) дык, добавь в запрос
Док = Регистр.Д.ТекущийДокумент и группировку по нему |
|||
54
LOTOS2000
05.09.14
✎
16:36
|
(53) мне нужно именно через фильтр ! :)
просто такое желание :) к запросу у меня нет претензий, я чудесно получаю ТЗ со значениями "Постав", но не могу понять, почему не происходит выборка регистра? Вот в чём проблема. |
|||
55
palpetrovich
05.09.14
✎
16:37
|
(54) ну здра, я думал ты понял, ну не было у тебя движений по измерению Клиент со значкением ООО Вектор
|
|||
56
akaBrr
05.09.14
✎
16:38
|
(54) это безнадежно, удаяюсь
|
|||
57
LOTOS2000
05.09.14
✎
16:40
|
Чёртова рекурсия! :)
Наверное это пятница, понял :) |
|||
58
КонецЦикла
05.09.14
✎
16:51
|
(23) Ну так какого хрена втыкать в клиента поставщика?
Ставь нужные условия в запросе или иди к тому кто выдал задание и мучай его |
|||
59
КонецЦикла
05.09.14
✎
16:52
|
В этом регистре нет измерения Поставщик?
|
|||
60
LOTOS2000
05.09.14
✎
16:58
|
(59) задача решена, сказывается усталость.
искал вектор там, где его быть не должно :) |
|||
61
КонецЦикла
05.09.14
✎
16:59
|
Молодец
измерение "Клиенты" - ООО Рога и копыта (им продали товар) измерение "Товары" - Мороженое (от поставщика "ООО Вектор") Искать вектора сред рогов и копыт - это было феерично |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |