Запрос по реквизиту регистра накопления в 8.0

SeverBap

Well-known member
18.09.2007
451
0
#1
Вообщем ситуация простая: необходимо переписать типовой отчет "Остатки товаров" так как в регистре накопления убрали из измерений Контрагент и ДокументПрихода, перенесли в реквизиты! Отчет впринципе работает без отбора по этим (Контрагент и ДокументПрихода). Я :google: и толком ничего не нашел как можно реализовать СОЕДИНЕНИЕ такого " ;) " в такой поставленой задачи.??
Вот код генерации запроса:
Код удален модератором раздела. Причина: опубликуете код, если вас попросят. Внимательно читайте правила!
Да еще скорее всего это потом переконвертируют в 8.1
подскажите где тут рыть яму! :KillMe:
 

unknown181538

НеГуру
28.12.2008
1 417
0
#2
Видимо придется делать запрос по движениям с последующей группировкой, что существенно замедлит выполнение. Копать, мне кажется лучше в сторону выбора подходящего регистра - например партий.
 

SeverBap

Well-known member
18.09.2007
451
0
#3
:) уже давно определились! Я же написал что поменялся регистр накопления партии номенклатуры, перемещены контрагент и документ прихода в реквизиты ... нужно просто переписать запрос в отчете нужно как-то написать что бы при указании партии и поставщика он делал отбор по реквизиту (ведь теперь это не измерение а реквизит - и это усложняет так как я незнаю в какую сторону рыть) :crash:
 

unknown181538

НеГуру
28.12.2008
1 417
0
#4
Пример: "ВЫБРАТЬ
РозничнаяВыручка.Подразделение КАК Подразделение,
СУММА(РозничнаяВыручка.Сумма) КАК Сумма
ИЗ
РегистрНакопления.РозничнаяВыручка КАК РозничнаяВыручка
ГДЕ
РозничнаяВыручка.Период >= &НачДата
И РозничнаяВыручка.Период <= &КонДата
И РозничнаяВыручка.Подразделение = &Подразделение

СГРУППИРОВАТЬ ПО
РозничнаяВыручка.Подразделение"
(Подразделение - реквизит.)

Только вот не понятно, зачем вы убрали Партию из измерений регистра партий. По партиям обычно еще и остатки получают.
 

SeverBap

Well-known member
18.09.2007
451
0
#6
Ошибка будет, РозничнаяВыручка.<??>Подразделение = &Подразделение - Типа не найдено!
 

SeverBap

Well-known member
18.09.2007
451
0
#8
Код:
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА Регистр.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) 
| ТОГДА Регистр.Количество
| ИНАЧЕ -Регистр.Количество 
| КОНЕЦ) КАК Количество,
| Регистр.Номенклатура, 
| Регистр.ДокументПрихода
|ИЗ 
| РегистрНакопления.ПартииНоменклатуры КАК Регистр
|ГДЕ 
| Регистр.Контрагент = &Контрагент 
| И Регистр.Период МЕЖДУ &ДатаНачала И &ДатаКонца
|
|СГРУППИРОВАТЬ ПО 
| Регистр.Номенклатура,
| Регистр.ДокументПрихода";
Запрос.УстановитьПараметр("Контрагент",Контрагент);
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(НачПериода));
Запрос.УстановитьПараметр("ДатаКонца", КонецДня(КонПериода));
РезультатЗапроса=Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Строка(Выборка.ДокументПрихода));
КонецЦикла;
как можно замуть с приходом и расходом?
 

unknown181538

НеГуру
28.12.2008
1 417
0
#9

SeverBap

Well-known member
18.09.2007
451
0
#10
unknown181538 все нормально разобрался, вот только остается понять как надо написать что бы можно было получать начальныйостатокКоличество!
 

unknown181538

НеГуру
28.12.2008
1 417
0
#11
1)Получить обороты до начальной даты в отдельной таблице и соединить таблицы.
2) Сделать чтобы в одно поле запроса попадали движения ДО начДаты, в другое после. Одно будет остатками, другое оборотами.