|
Остатки и обороты по групам номенклатуры | ☑ | ||
---|---|---|---|---|
0
Fenix102
04.02.14
✎
08:49
|
В общем за период нужно собрать данные данные по группам номенклатуры,
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Родитель КАК Родитель |ИЗ | Справочник.Номенклатура КАК Номенклатура | |УПОРЯДОЧИТЬ ПО | Родитель ИЕРАРХИЯ"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Если ЗначениеЗаполнено(Выборка.Родитель) Тогда НоваяСтрока = ТабличнаяЧасть.Добавить(); НоваяСтрока.Номенклатура = Выборка.Родитель; НоваяСтрока.УровеньРодителя = Выборка.Родитель.Уровень(); Запрос2 = Новый Запрос; Запрос2.Текст = "ВЫБРАТЬ | ОстатокТовараОстаткиИОбороты.Номенклатура, | ОстатокТовараОстаткиИОбороты.Отдел, | ОстатокТовараОстаткиИОбороты.ОстатокКонечныйОстаток, | ОстатокТовараОстаткиИОбороты.ОстатокОборот |ИЗ | РегистрНакопления.ОстатокТовара.ОстаткиИОбороты КАК ОстатокТовараОстаткиИОбороты |ГДЕ | ОстатокТовараОстаткиИОбороты.Отдел = &Магазин" ; Запрос2.УстановитьПараметр("Отдел",Магазин); КонецЕсли; КонецЦикла; |
|||
1
Fenix102
04.02.14
✎
08:50
|
ой опечатка там где магазин.
Не могу понять как вывести все уровни с остатками и оборотами |
|||
2
Ярус
04.02.14
✎
08:51
|
а объеденить 1 запрос со 2 религия не позволяет?
|
|||
3
Ярус
04.02.14
✎
08:52
|
и период задать бы да?
|
|||
4
ZaprosMan
04.02.14
✎
08:53
|
В одном запросе такого не получить.
Первым получаешь группы. Вторым в цикле, по группам получаешь остатки. А куда вывести то? В отчет? |
|||
5
Fenix102
04.02.14
✎
08:54
|
(4) Мне в табличную часть
|
|||
6
ZaprosMan
04.02.14
✎
08:55
|
И условия на группу и период поставь.
|
|||
7
ZaprosMan
04.02.14
✎
08:56
|
Желательно в параметрах виртуальной таблицы.
|
|||
8
Fenix102
04.02.14
✎
08:57
|
(6) Вот в этом и вопрос какое условие?
| ОстатокТовараОстаткиИОбороты.Номенклатура.Родитель = &Выборка.Родитель" |
|||
9
Ярус
04.02.14
✎
08:59
|
(4) что правда?
в скд сваял за 1 минуту ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка ПОМЕСТИТЬ Вт_Ном ИЗ Справочник.Номенклатура КАК Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, Вт_Ном.Ссылка КАК Номенклатура ИЗ Вт_Ном КАК Вт_Ном ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц, , ) КАК ТоварыНаСкладахОстаткиИОбороты ПО Вт_Ном.Ссылка = ТоварыНаСкладахОстаткиИОбороты.Номенклатура в настройках вывода группировка по номенклатуре, с иерархией, норм выводит могу скрин скинуть |
|||
10
Ярус
04.02.14
✎
09:02
|
||||
11
ZaprosMan
04.02.14
✎
09:03
|
Причем тут СКД?
|
|||
12
Мимохожий Однако
04.02.14
✎
09:03
|
ВЫБРАТЬ
Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ЭтоГруппа = ИСТИНА И Номенклатура.Ссылка В ИЕРАРХИИ(&ВыбГруппа) СГРУППИРОВАТЬ ПО Номенклатура.Ссылка |
|||
13
Ярус
04.02.14
✎
09:05
|
(11) без скд тоже норм, добавить упорядочивание по иерархии и итоги.
|
|||
14
Ярус
04.02.14
✎
09:06
|
ну если совсем все печально то и в обработке можно обратиться к скд и получить из него уже готовый результат в таблицузначений, все лучше чем гонять запросы в цикле по тысячам позиций
|
|||
15
Fenix102
04.02.14
✎
09:08
|
(10) Сейчас попробую
|
|||
16
Fenix102
04.02.14
✎
09:16
|
(14) ?Вт_ном.ссылка
|
|||
17
Fenix102
04.02.14
✎
09:19
|
Таблица не найдена пишет,что делаю не правильно?
|
|||
18
Ярус
04.02.14
✎
09:22
|
если у тебя не отчет то в свой объект(обработка, док, ....) добавляешь макет скд, в нем пишешь код из (9), определяешь ресурсы, на закладке настроек вывода выводишь списком, добавляешь нужные поля, группировка данных по номенклатуре + иерархия
в коде пишешь СКД = ЭтотОбъект.ПолучитьМакет(ИмяТвоегоМакета); КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных(); КомпоновщикНастроек = ЭтотОбъект.НастройкиСКД; Настройки = КомпоновщикНастроек.Настройки; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки); ТЗ = Новый ТаблицаЗначений; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(ТЗ); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); В ТЗ попадет результат |
|||
19
Fenix102
04.02.14
✎
09:38
|
(18) Если честно нифига не понятно, а не проще просто запросом?без макетов и т.д. в 7 просто написал без групп или группами и все хорошо, тута синтаксиси не очень знаю еще, как просто сделать запрос где все уровни с итогами не могу понять че то, можешь объяснить?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |