Группировка по свойствам.

1. niko 29.05.07 10:02 Сейчас в теме
День добрый.
Подскажите, как решается задача, например, вывода остатков товара, с группировкой по свойствам товара (не только по "ОсновномуСвойству"). Платформа (пусть будет) ТиС 9.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. vcv 89 29.05.07 15:24 Сейчас в теме
Так же как и любой более-менее сложный отчет на 7.7 - сваливаем данные в таблицу значений, делаем по ней свертку, сортировку и расчет нужных итогов, потом выводим ее. Для вывода таблицы значений в отчет с группировками на проклабе есть обработка. Здесь тоже, кажется, лежала.
3. niko 29.05.07 15:32 Сейчас в теме
vcv Написал:
-------------------------------------------------------
> Так же как и любой более-менее сложный отчет на
> 7.7 - сваливаем данные в таблицу значений, делаем
> по ней свертку, сортировку и расчет нужных итогов,
> потом выводим ее.

А через запрос это точно невозможно? (Ведь ,в принципе, между позицией номенклатуры и ее свойствами установлена привязка, хоть и не прямая)

>Для вывода таблицы значений в
> отчет с группировками на проклабе есть обработка.
> Здесь тоже, кажется, лежала.

Не подскажете поточнее название?


4. vasilykushnir 63 29.05.07 16:00 Сейчас в теме
Можно и запросом извернутся. Но очень советую обратить ясный взор на
http://infostart.ru/projects/67/?ref=440 1C: Новейший отчет 7.7
Эта вещь решает практически все проблемы с отчетами.
5. niko 29.05.07 16:13 Сейчас в теме
VasilyKushnir Написал:
-------------------------------------------------------
> 1C: Новейший отчет 7.7
> Эта вещь решает практически все проблемы с
> отчетами.

Этот отчет я приобрел (и в нем нельзя реализовать такие группировки. Как мне ответил автор - возможно это будет в следующей версии)

Но задача другая. Задача состоит в том, чтобы менеджер мог формировать прайсы по свойствам, в зависимости от конкретной задачи. Например:

"Вид - производитель - категория - литраж".

И поскольку ими уже освоены отчеты ТиС и способы задания в них группировок, хотелось бы эту задачу реализовать подобно.
6. vasilykushnir 63 29.05.07 16:21 Сейчас в теме
Насколько мне известно нельзя группировать только по детализации типов НеОпределенный. Например, если значение может принимать тип Склад или Контрагент - в регистре тип НеОпределенный, то детализация группировки не проходит (и авторы действительно обещали это подправить), а если Товар и явная ссылка на справочник Товары, то в группировки можно добавлять любое свойство товара.
7. niko 29.05.07 16:38 Сейчас в теме
VasilyKushnir Написал:
-------------------------------------------------------
> Насколько мне известно нельзя группировать только
> по детализации типов НеОпределенный. Например,
> если значение может принимать тип Склад или
> Контрагент - в регистре тип НеОпределенный, то
> детализация группировки не проходит (и авторы
> действительно обещали это подправить)

Хорошо. Предположим я хочу сделать отчет остатков товаров с группировкой по разным свойствам товара. Как добавить эти группировки в "Новейшем"?

8. vasilykushnir 63 29.05.07 17:12 Сейчас в теме
Становишься на группировке Товар, далее кнопка "Добавить реквизит текущей группировки" (следующая от жирной кнопки вправо) и добавляешь в группировку любой реквизит товара.
9. niko 29.05.07 21:27 Сейчас в теме
VasilyKushnir Написал:
-------------------------------------------------------
> Становишься на группировке Товар, далее кнопка
> "Добавить реквизит текущей группировки" (следующая
> от жирной кнопки вправо) и добавляешь в
> группировку любой реквизит товара.

И в этом случае можно добавить только реквизит "ОсновноеСвойство". А у товара может быть (и бывает) не одно свойство.

10. poppy 30.05.07 00:14 Сейчас в теме
Niko Написал:
-------------------------------------------------------
> И в этом случае можно добавить только реквизит
> "ОсновноеСвойство". А у товара может быть (и
> бывает) не одно свойство.

ИМХО в этом вся и фишка. Обрати внимание, что во всех отчетах можно фильтровать по свойствам, но группировать только по основному свойству.

Особенность состоит в том, что связь элемента справочника "Номенклатура" и "Основным свойством" - один ко многим, но между "Номенклатура" и другими свойствами - многие ко многим.

Попробуй преобразовать связи от "многие-ко-мноим" к "многие-к-одному". Может получится. Но у меня уверенности нет.
11. CheBurator 3122 30.05.07 13:30 Сейчас в теме
Все очень просто.
на примере: надо сделать прайс такой:
- в прайс должны попасть те позиции где значение свойства "Цвет" не равно "красный".
Запрос =
|Товар = Справочник.СвойстваНоменклатуры.Владелец;
|Свойство = Справочник.СвойстваНоменклатуры.Свойство;
|Значение = Справочник.СвойстваНоменклатуры.Значение;
|Условие (Найти(ВРег(Свойство),"ЦВЕТ")<>0);
|Условие (Найти(ВРег(Значение),"КРАСН")<>0);
..типа все
недостатки
- будет работать медленно
- требуется жесткаф формализация работы со свойствами
(а то какай-нить кекса вместо красного РУЧКАМИ умудрится вбить цвет "ГЛАМУРНЕНЬТКИЙ" и не попадет такая позиция в прайс хотя имелся в виду красный)
если нормально подумать - то можнно и для данной позиции реализовать МФ (но это будет бяка, так как МФ - это подзапросы)
12. niko 30.05.07 14:33 Сейчас в теме
poppy Написал:
> Попробуй преобразовать связи от "многие-ко-мноим"
> к "многие-к-одному". Может получится. Но у меня
> уверенности нет.

С ходу не получилось. Думал, что кто-то уже решал подобные задачи.

13. niko 30.05.07 14:40 Сейчас в теме
Сhe Burashka Написал:
-------------------------------------------------------
> Все очень просто.
> на примере: надо сделать прайс такой:
> - в прайс должны попасть те позиции где значение
> свойства "Цвет" не равно "красный".

Задача не втом чтобы отобрать определенные позиции (это как раз выполнимо), а в том, чтобы в прайсе (или остатках) группировка происходила по свойствам. Например:

Вино красное
-- Провинция
-- Выдержка
-- Номенклатура

где "вино красное", "Провинция", "выдержка" - беруться из справочника "СвойстваНоменклатуры", владельцем которго является справочник "Номенклатура"

14. poppy 31.05.07 01:51 Сейчас в теме
Niko Написал:
-------------------------------------------------------
> С ходу не получилось. Думал, что кто-то уже решал
> подобные задачи.
>

У тебя таких свойств счетное и конечное количество или такие свойства могут добавляться в процессе работы?
15. niko 31.05.07 10:52 Сейчас в теме
poppy Написал:
-------------------------------------------------------
> У тебя таких свойств счетное и конечное количество
> или такие свойства могут добавляться в процессе
> работы?

Могут (и будут) добавляться в процессе работы.

16. poppy 31.05.07 12:58 Сейчас в теме
Niko Написал:
-------------------------------------------------------
> А через запрос это точно невозможно? (Ведь ,в
> принципе, между позицией номенклатуры и ее
> свойствами установлена привязка, хоть и не
> прямая)

В том виде, как стоит задача - да, невозможно.
Что-бы в запросе получить группировку (и итоги) нужно иметь доступ к значению через точки, например,
Свойство = Регистр.ОстаткиТМЦ.Номенклатура.ОсновноеСвойство.Свойство;

Можно предположить такое решение. В номенклатуру добавляем несколько реквизитов типа Справочник.СвойстваНоменклатуры. Перед тем как формироварь запрос, заполняем эти реквизиты нужными нам значениями.

Не уверена, что из этого что-то может получиться.

З.Ы. ИМХО лучше повозиться с таблицей значений, как это преложил vcv.
17. niko 31.05.07 13:36 Сейчас в теме
poppy Написал:
-------------------------------------------------------
>
> В том виде, как стоит задача - да, невозможно.
> Что-бы в запросе получить группировку (и итоги)
> нужно иметь доступ к значению через точки,
> например,
> Свойство =
> Регистр.ОстаткиТМЦ.Номенклатура.ОсновноеСвойство.С
> войство;
>
> Можно предположить такое решение. В номенклатуру
> добавляем несколько реквизитов типа
> Справочник.СвойстваНоменклатуры. Перед тем как
> формироварь запрос, заполняем эти реквизиты
> нужными нам значениями.
>
> Не уверена, что из этого что-то может получиться.
>
> З.Ы. ИМХО лучше повозиться с таблицей значений,
> как это преложил vcv.

Совершенно верно. Я пошел несколько другим путем. С помощью "Новейшего" создал запрос не к регистрам, а вывел печать справочников (в данном случае "Свойства номенклатуры"). Все получилось с одним "Но". Если у товаров есть несколько свойств и нужно вывести группировки вида:
-- Свойство1
-----Свойство2
---------Свойство3
-------------Номенклатура

Выводится следующее:

--Свойство1
----Номенклатура
--Свойство2
----Номенклатура
и т.д.
И это понятно, поскольку свойства привязаны к номенклатуре и не имеют подчинения между собой.

Поэтому, видимо через ТЗ - наиболее оптимально + в диалоге указывать порядок группировки свойств.

Огромное спасибо всем, кто откликнулся и попытался как-то помочь.
18. niko 31.05.07 13:50 Сейчас в теме
P.S.

В принципе, если указать в диалоге порядок группировки свойств, тогда при выводе группировок будет достаточно вставить условие:
Пока Запрос.Группировка("Свойство") = 1 Цикл
Таб.ВывестиСекцию("СвойствоN");
Если Запрос.Свойство = КонечноеСвойство Тогда
Пока Запрос.Группировка("Номенклатура") = 1 Цикл
Таб.ВывестиСекцию("Номенклатура");
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот