Имя: Пароль:
1C
1С v8
помогите сгруппировать в СКД
0 rchervak
 
06.08.12
16:54
собственно вопрос - можна ли группировать через настройки в СКД чтобы результаты сумировались? или только в запросе это возможно?
1 х86
 
06.08.12
16:55
на закладке ресурсы указывать
2 Mouzem
 
06.08.12
16:56
Ресурсы
3 rchervak
 
06.08.12
17:17
(1) (2) сделал как написали, но он мне как то странно сгруппировал, такое ощущени что в несколько раз больше чем надо..  

вот запрос:

ВЫБРАТЬ
   ТоварыВРезервеНаСкладахОстатки.Склад,
   ТоварыВРезервеНаСкладахОстатки.Номенклатура,
   ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры,
   ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ОстатокРезерв,
   ПродажиОбороты.КоличествоОборот КАК ПродажиОборот,
   НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК период,
   ТоварыВРезервеНаСкладахОстатки.ДокументРезерва.ТипРезерва КАК типРезерва,
   ТоварыВРезервеНаСкладахОстатки.ДокументРезерва
ИЗ
   РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаРезерва, ДокументРезерва.Резерв = ИСТИНА) КАК ТоварыВРезервеНаСкладахОстатки
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ПродажиОбороты
       ПО ТоварыВРезервеНаСкладахОстатки.Номенклатура = ПродажиОбороты.Номенклатура
           И ТоварыВРезервеНаСкладахОстатки.Склад = ПродажиОбороты.ДокументПродажи.Склад
           И ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры.Наименование = ПродажиОбороты.ХарактеристикаНоменклатуры.Наименование

Собираю остатки по резервам, пытаюсь сгруппировать по реквизиту "Тип Резерва".

В ресурсы добавил ОстатокРезерв - В выражении "Сумма"

он мне умножил все в нескольно раз, причем пока даже не могу понять по какому алгоритму...
4 х86
 
06.08.12
17:20
(3)по наименованию обычно не соединяют
5 rchervak
 
06.08.12
17:23
коды характеристик  у них одинаковые, такая база досталась.
6 rchervak
 
06.08.12
21:33
Вобщем если я не использую соединение с регистром продажи, то все получается прекрасно. В ресурсы в поле выражение забиваю Сумма(ОстатокРезерв) - и итоги тоже получаются.  Но как только добавляю в запрос регистр продажи и левое соединение - картина меняется. Если не указать в ресурсах "Сумма(ОстатокРезерв)"- то отчет получается правильный, колонка с продажами и колонки с резервами дают правильные результаты, но колонка с итогами по резервам - выдает не сумму а один из ресурсов (последний нашедший). попытался добавить еще одно поле где хотел вывести результат  "Сумма(ОстатокРезерв)" а итоги отключить, не выходит, как только добавляю ресурс с суммой, отчет вообще ничего не выводит.
7 Лоботряс
 
06.08.12
21:41
В параметрах таблицы Продажи убери детализцию до регистратора.
8 rchervak
 
06.08.12
21:49
(7) да. действительно. спасибо. выводит правильно если не указать детализацию по регистратору. сам не знаю почему(( но тогда пропадает поле ПЕРИОД в регистре продажи.обороты/ а для меня это оч. важно так как я вывожу данные по продажам с группировкой по месяцам. НачалоПериода(Продажи.обороты.период , месяц). можна это как то выцепить в таком случае?
9 Лоботряс
 
06.08.12
21:58
(9) Ну ставь периодичность Месяц тамже. В таблице остатков  - по одной записи на каждую номенклатуру(на конец периода), а в таблице оборотов - на каждую номенклатуру ровно столько записей сколько месяцев в выбранном интервале. Определись что тебе с чем правильнее соединять.
10 rchervak
 
06.08.12
22:08
(10) да уж.. честно - не понял.
"В таблице остатков  - по одной записи на каждую номенклатуру(на конец периода) "

как мне эту одну запись выцепить?


главное - резервы. тоесть соединяю я резерв - продажи (левое соединение)
11 Лоботряс
 
06.08.12
22:13
Думаю начать нужно все же с того, чтобы подробно и наиболее полно описать что ты хочешь получить. Можно даже с наброском желаемой формы отчета. Тогда кто-нибудь что-нибудь толковое подскажет. Но не я... Я уже пошел спать...
12 rchervak
 
07.08.12
12:06
приведу схему того что должно получится..

http://imglink.ru/show-image.php?id=e12f6a1190ffabb5ad03389481f174f0

три раза Ок надо нажать чтобы картинка появилвсь
13 le_
 
07.08.12
12:12
Я бы советовал прочесть Хрусталеву, посмотреть курс http://www.spec8.ru/kurs-po-skd-besplatno
и ознакомиться со статьями на ИТС:
"Особенности расчета итогов по полям остатка. Использование реквизитов измерений."
http://a.imageshack.us/img412/5521/18053290.jpg

"Типичные проблемы при расчете остатков."
http://a.imageshack.us/img405/476/73796797.jpg
14 rchervak
 
07.08.12
16:10
пилю целый день этот вопрос... но каменный цветок все не выходит. апну на всякий случай...

вобщем понял одно - у меня группировка идет лишняя по периоду ,  остатки резервов умножаются на количество месяцев когда были продажи этого товара..
15 rchervak
 
07.08.12
16:29
думаю многие делали отчеты на подобии этого.. просто из других регистров.. может кто сделает доброе дело - выложит код запроса где используется выборка из двух различных регистров и компонуется один из них по периоду..

Что то типа такого:

             Остаток Товара (гуппировка по Чему либо)  | Продажи за Январь | Продажи За Февраль | и т.д. |
Номенклатура             5                              |  3                |          2


смысл у меня впринципе такой же.. может тогда я найду в чем у меня ошибка
16 Лоботряс
 
07.08.12
16:31
Тебе нужно брать не РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки, а РегистрНакопления.ТоварыВРезервеНаСкладах.ОстаткиИОбороты
17 rchervak
 
07.08.12
17:06
ВОТ ЧТО ПОЛУЧИЛОСЬ..

ВЫБРАТЬ
   РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ) КАК количествоМесяцев,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК резерв,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.Склад,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ДокументРезерва,
   НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК Месяц,
   ПродажиОбороты.КоличествоОборот КАК продажи
ИЗ
   РегистрНакопления.ТоварыВРезервеНаСкладах.ОстаткиИОбороты(&НачалоПериода, &ДатаРезерва, Регистратор, , ) КАК ТоварыВРезервеНаСкладахОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ПродажиОбороты
       ПО ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура.Код = ПродажиОбороты.Номенклатура.Код
           И ТоварыВРезервеНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.КодХар = ПродажиОбороты.ХарактеристикаНоменклатуры.КодХар
ГДЕ
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ДокументРезерва.Резерв = ИСТИНА

в настройках создаю таблицу

Группировка строк - Номенклатура, код характеристики

колонка1- Группировка по месяцу ресурс - продажи
колонка2- Группировка по типу резерва , ресурс - резерв



в итоге все равно не правильные записи...
18 rchervak
 
07.08.12
17:15
все равно умножает количество месяцев на осттаки по резервам.. и выводит в "резерв".. может как нибудь обхетрить? как написать чтобы результат делил на количество месяцев в которых есть продажи??
19 Лоботряс
 
07.08.12
17:18
Это не типовая конфа? Можешь выложить куда-нть дт-шник этой базы. Это проще сделать чем объяснить...
20 rchervak
 
07.08.12
17:24
конфа типовая УПП. 1.3
просто в документ "заказ покупателя" добавлен реквизит Резерв (булево) и ТипРезерва - Перечисление с 2мя вариантами -"основной" и "подакцию"
тоесть "заказ покупателя" если установлены реквизиты как бы является резервом.. весь смысл.

вот по типу резрвов  я и пытаюсь сгруппировать документ "заказ покупателя".
21 Лоботряс
 
07.08.12
17:24
Опять же я уже говорил, что периодичность нужно заменить на месяц если это удовлетворяет условиям задачи или авто, ну никак не по регистратору...
22 rchervak
 
07.08.12
17:28
ВЫБРАТЬ
   РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ) КАК количествоМесяцев,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК резерв,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.Склад,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ДокументРезерва,
   НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК Месяц,
   ПродажиОбороты.КоличествоОборот КАК продажи
ИЗ
   РегистрНакопления.ТоварыВРезервеНаСкладах.ОстаткиИОбороты(&НачалоПериода, &ДатаРезерва, , , ) КАК ТоварыВРезервеНаСкладахОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПродажиОбороты
       ПО ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура.Код = ПродажиОбороты.Номенклатура.Код
           И ТоварыВРезервеНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.КодХар = ПродажиОбороты.ХарактеристикаНоменклатуры.КодХар
ГДЕ
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ДокументРезерва.Резерв = ИСТИНА

те же результаты.
23 rchervak
 
07.08.12
17:29
тоесть вот так..

ВЫБРАТЬ
   РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ) КАК количествоМесяцев,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК резерв,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.Склад,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ДокументРезерва,
   НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК Месяц,
   ПродажиОбороты.КоличествоОборот КАК продажи
ИЗ
   РегистрНакопления.ТоварыВРезервеНаСкладах.ОстаткиИОбороты(&НачалоПериода, &ДатаРезерва, , , ) КАК ТоварыВРезервеНаСкладахОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПродажиОбороты
       ПО ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура.Код = ПродажиОбороты.Номенклатура.Код
           И ТоварыВРезервеНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.КодХар = ПродажиОбороты.ХарактеристикаНоменклатуры.КодХар
ГДЕ
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ДокументРезерва.Резерв = ИСТИНА
24 Лоботряс
 
08.08.12
09:24
(23) почитай статью http://infostart.ru/public/80164/
Там в конце написано как настроить группировки и вывод ресурсов так как тебе нужно.
25 Rovan
 
гуру
08.08.12
09:45
(22) попробуй так

ВЫБРАТЬ     РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ) КАК количествоМесяцев,
Запрос1.*,
   Запрос2.КоличествоОборот КАК продажи
ИЗ
(
ВЫБРАТЬ
   ТоварыВРезервеНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК резерв,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.Склад,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ДокументРезерва
ИЗ
   РегистрНакопления.ТоварыВРезервеНаСкладах.ОстаткиИОбороты(&НачалоПериода, &ДатаРезерва, , , ) КАК ТоварыВРезервеНаСкладахОстаткиИОбороты
ГДЕ
   ТоварыВРезервеНаСкладахОстаткиИОбороты.ДокументРезерва.Резерв = ИСТИНА
) КАК Запрос1

ЛЕВОЕ СОЕДИНЕНИЕ ( ВЫБРАТЬ
ПродажиОбороты.Номенклатура.Код,
ПродажиОбороты.ХарактеристикаНоменклатуры.КодХар
ПродажиОбороты.КоличествоОборот
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПродажиОбороты
) КАК Запрос2
ПО Запрос1.Номенклатура.Код = Запрос2.Номенклатура.Код
И Запрос1.ХарактеристикаНоменклатуры.КодХар = Запрос2.ХарактеристикаНоменклатуры.КодХар
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс