|
v7: РегистрОстатки - передать список товаров - вылазят ошибочные данные | ☑ | ||
---|---|---|---|---|
0
EvgeniuXP
29.05.12
✎
18:47
|
В РегистреОстатков создал условие: Товар В (ВЫБРАТЬ val #СписокТоваров), но как заметил, итоги считает каждый раз по-разному.... перенес условие в ГДЕ - отлично работает... для интереса написал условие наоборот через "НЕ" регистрах остатках, т.е. в итоге должен получить пустой список, если занесу в СписокТоваров все товары - в результате, через параметр виртуальной таблицы - список не пустой, а через условие "ГДЕ" - действительно пустой....
Такое ощущение, что виртуальные таблицы в прямом запросе работают всё-таки криво.... :( список состоял из 4800 элементов. |
|||
1
Mikeware
29.05.12
✎
18:48
|
чиво?
|
|||
2
Mikeware
29.05.12
✎
18:49
|
+(1) такое ощущение™, что ты выпимши...
|
|||
3
Злопчинский
29.05.12
✎
19:00
|
(1) ..а город подумал - ученья идут...
на форуме 1С++ чего-то там перетирали про виртуальные таблицы в классе "прямой запрос" |
|||
4
Mikeware
29.05.12
✎
19:02
|
(3) Ну так и нужно человечьим языком проблему описывать...
|
|||
5
EvgeniuXP
30.05.12
✎
19:32
|
(4) ну что не понятного, выбираю вот так:
ВЫБРАТЬ | Доходы.Филиал КАК Филиал, | Доходы.Товар КАК Товар, | Доходы.Цвет КАК Цвет, | Доходы.Размер КАК Размер, | СУММА(Доходы.ОстатокТовараОстаток) КАК ОстатокТовараОстаток, | СУММА(Доходы.ПродСтоимостьОстаток) КАК ПродСтоимостьОстаток | ИЗ | $РегистрОстатки.УчетРеализации(:ВыбДата,НЕ Товар В (ВЫБРАТЬ val ИЗ #ВыбТовар),(Филиал,Товар,Цвет,Размер),(ОстатокТовара,ПродСтоимость)) КАК Доходы $nolock | | СГРУППИРОВАТЬ | Филиал, | Товар Товар=СоздатьОбъект("Справочник.Товары"); Товар.ВыбратьЭлементы(); СЗТовары=СоздатьОбъект("СписокЗначений"); Пока Товар.ПолучитьЭлемент()=1 Цикл Если Товар.ЭтоГруппа()=1 Тогда Продолжить; Инача СЗТовары.ДобавитьЗначение(Товар.ТекущийЭлемент()); КонецЕсли; КонецЦикла; Запрос.УложитьСписокЗначений(СЗТовары,"#ВыбТовар"); результат: выбираются товары - но результат должен быть ПУСТОЙ!!! все товары положил же в список значений и условие НЕ. А если напишу вот так: ВЫБРАТЬ | Доходы.Филиал КАК Филиал, | Доходы.Товар КАК Товар, | Доходы.Цвет КАК Цвет, | Доходы.Размер КАК Размер, | СУММА(Доходы.ОстатокТовараОстаток) КАК ОстатокТовараОстаток, | СУММА(Доходы.ПродСтоимостьОстаток) КАК ПродСтоимостьОстаток | ИЗ | $РегистрОстатки.УчетРеализации(:ВыбДата,,(Филиал,Товар,Цвет,Размер),(ОстатокТовара,ПродСтоимость)) КАК Доходы $nolock | | СГРУППИРОВАТЬ | Филиал, | Товар | ГДЕ НЕ Товар В (ВЫБРАТЬ val ИЗ #ВыбТовар В результате получаю пустой список - что и правильно :) Где собака зарыта? |
|||
6
EvgeniuXP
30.05.12
✎
19:37
|
переданный массив проверял все товары попадают, в первом случае многие товары не попадают в результат таблицы, лишь малая часть...
во втором случае - вообще никто не попадает. Виртуальные таблицы работают плохо :( Массив состоял из 4800 товаров. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |