|
Запрос по остаткам в УТ 10.3 | ☑ | ||
---|---|---|---|---|
0
kobzon
20.06.14
✎
21:19
|
Народ подскажите как сделать маханький отчет с запросом. Которые перебирал бы весь справочник номенклатуры, выводил все даже нулевые элементы с ценой и остатком. Или где такой запрос можно посмотреть?
Тупо как в 7.7 из регистра места хранения взять не получится данные? |
|||
1
Wobland
20.06.14
✎
21:23
|
из справочник левое остатки левое цены...
|
|||
2
kobzon
20.06.14
✎
21:27
|
А если вид склада розничный остатки берутся ведь не из РегистраНакопления.ТоварыНаСкладах?
|
|||
3
Wobland
20.06.14
✎
21:29
|
не помню, как там в десятке.. из РегистраНакопления.ТоварыНеНаРозничныхСкладах, наверное
|
|||
4
Arh01
20.06.14
✎
21:52
|
В упп/КА есть отчет "суммовая оценка склада". Он и с ценами и с остатками. В ут может тоже есть?
|
|||
5
Mikhail Volkov
21.06.14
✎
00:46
|
(0) > выводил все даже нулевые элементы с ценой и остатком
Может прайс-лист? |
|||
6
kobzon
21.06.14
✎
11:25
|
Друзья подскажите что не так?
Нахожу остаток: Функция ПолучитьОстатокНоменклатурыМоя(Номенклатура) Запрос2 = Новый Запрос; Запрос2.Текст = "ВЫБРАТЬ |ОстатокНоменклатуры.КоличествоОстаток |ИЗ |РегистрНакопления.ТоварыВРознице (&Дата,Номенклатура = &Номенклатура и Склад = &Склад) КАК ОстатокНоменклатуры"; Склад = ВыбСклад; //Параметры запроса Запрос2.УстановитьПараметр("Дата",ТекущаяДата());// Дата Запрос2.УстановитьПараметр("Номенклатура",Номенклатура);// Номенклатура Запрос2.УстановитьПараметр("Склад",Склад);// Типы цен номенклатуры ОстатокНоменклатуры = Запрос2.Выполнить().Выгрузить(); Если ОстатокНоменклатуры.Количество()<>0 Тогда Возврат ОстатокНоменклатуры[0].КоличествоОстаток; Иначе Возврат 0; КонецЕсли; КонецФункции //ПолучитьОстатокНоменклатуры Ошибка: {Форма.Форма.Форма(38)}: Ошибка при вызове метода контекста (Выполнить) ОстатокНоменклатуры = Запрос2.Выполнить().Выгрузить(); по причине: {(4, 1)}: Нельзя задавать параметры для таблицы "РегистрНакопления.ТоварыВРознице" <<?>>РегистрНакопления.ТоварыВРознице (&Дата,Номенклатура = &Номенклатура и Склад = &Склад) КАК ОстатокНоменклатуры |
|||
7
Wobland
21.06.14
✎
11:36
|
(6) а задавать таблицы "РегистрНакопления.ТоварыВРознице" для параметры нельзя
|
|||
8
kobzon
21.06.14
✎
11:39
|
(7) И как быть? Нужно же указать склад и дату и номенклатуру.
|
|||
9
Wobland
21.06.14
✎
11:43
|
(8) запрашивать у .Остатков
|
|||
10
kobzon
21.06.14
✎
12:01
|
(9) Спасибо! Понял.
"ВЫБРАТЬ | ТоварыВРозницеОстатки.Склад, | ТоварыВРозницеОстатки.Номенклатура, | ТоварыВРозницеОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыВРознице.Остатки КАК ТоварыВРозницеОстатки |ГДЕ | ТоварыВРозницеОстатки.Склад = &Склад | И ТоварыВРозницеОстатки.Номенклатура = &Номенклатура"; Конструктор запросов тоже помог)) |
|||
11
Wobland
21.06.14
✎
12:02
|
(10) найди в конструкторе кнопку про установку параметров виртуальных таблиц
|
|||
12
kobzon
21.06.14
✎
12:02
|
(11) Зачем? Так не прокатит?
|
|||
13
Wobland
21.06.14
✎
12:06
|
(12) на дату крайней записи в регистре прокатит. платформа начнёт тебе собирать таблицу остатков по всем-всем складам и номенклатурам, соберёт. потом уберёт лишнее в соответствии с ГДЕ. не проще сразу приказать собрать только из нужного?
|
|||
14
kobzon
21.06.14
✎
12:21
|
(13) Попробовал не разобрался чего там писать.
|
|||
15
Wobland
21.06.14
✎
12:23
|
двоечник
ИЗ |РегистрНакопления.ТоварыВРознице.Остатки(&Дата,Номенклатура = &Номенклатура и Склад = &Склад) |
|||
16
kobzon
22.06.14
✎
19:29
|
Делал 3 разных запроса по переборке номенклатуры, цены и остатка, но получилось очень медленно(
Решил делать одним запросом но чето запутался в этих соединениях Текст = Новый ТекстовыйДокумент; Продажная = Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000004"); Склад = Справочники.Склады.НайтиПоКоду("000000001"); Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ | СпрНоменклатура.Ссылка, | ЦеныНоменклатурыСрезПоследних.Цена | ТоварыВРозницеОстатки.КоличествоОстаток |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, Активность = ИСТИНА) КАК ЦеныНоменклатурыСрезПоследних | ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&Период,Номенклатура = &Номенклатура и Склад = &Склад) КАК ТоварыВРозницеОстатки | ПО (ТоварыВРозницеОстатки.Номенклатура = СпрНоменклатура.Ссылка)"; Запрос.УстановитьПараметр("Период", ТекущаяДата()); Запрос.УстановитьПараметр("Склад",Склад); Запрос.Текст = ТекстЗапроса; Результат = Запрос.Выполнить().Выбрать(); Ошибка: {Форма.Форма.Форма(73)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить().Выбрать(); по причине: {(4, 5)}: Неправильный псевдоним "ТоварыВРозницеОстатки.КоличествоОстаток" <<?>>ТоварыВРозницеОстатки.КоличествоОстаток |
|||
17
GreatOne
22.06.14
✎
19:40
|
ЦеныНоменклатурыСрезПоследних.Цена запятую потерял
|
|||
18
kobzon
22.06.14
✎
19:47
|
(17) Да, точно. Спасибо!
А как мне явно указать Номенклатуру: Номенклатура = &Номенклатура А то ругается: {(9, 90)}: Не задано значение параметра "Номенклатура" ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&Период,Номенклатура = <<?>>&Номенклатура и Склад = &Склад) КАК ТоварыВРозницеОстатки |
|||
19
kobzon
22.06.14
✎
19:53
|
Все понял, Номенклатуру: Номенклатура = &Номенклатура вообще лишнее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |