Имя: Пароль:
1C
1С v8
Как в справочнике номенклатуры отобразить только группы номенклатура с остатками?
0 tciban
 
29.03.23
08:01
Доброе утро, уважаемые коллеги! Как обычно мне приходят в голову проблемы, которые все наверное решали уже лет 10 назад и я как всегда изобретаю велосипед... Потому прошу вас подсказать ссылкой или просто словами как сделать такое:

конфигурация УТ 10.3, стандартный регистр остатков ТоварыНаСкладах

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

Попробовал сначала в лоб - запросом получаем номенклатуру, по которой есть остатки, ее в отбор по ссылке. Работает, но видно группы, в которых нет номенклатуры с остатками. Снова в лоб - получаю всех родителей товаров у которых есть остаток без повторяющихся, потом по итогам запроса получаю их родителей и опять же в список значений отбора. Вот тут то и запнулся - долго массив заполняется! Отсюда вопрос - кто видел/знает алгоритм/запрос который может быстро получить список групп, в которых есть товары с остатками? Зачем так подробно описал - а вдруг кто то знает как это сделать не через отбор?
1 Krendel
 
29.03.23
08:53
переходи на ут11, там это реализовано
2 tciban
 
29.03.23
09:04
(1) Переход на ут 11 - несколько более глубокая тема, но думаю и там может возникнуть задача быстрого поиска групп с остатками :) Но мы имеем ОФ... Впрочем конечно можно УФ вставить. Интересен скорее алгоритм
3 magicSan
 
29.03.23
09:15
"Вот тут то и запнулся - долго массив заполняется!" - какой массив?
4 tciban
 
29.03.23
09:26
(3) для отбора. Я применил простейший способ
    Список.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
    Список.Отбор.Ссылка.Значение = СписокТоваров;
5 Serg_1960
 
модератор
29.03.23
09:30
ИТС, "Примеры запросов для работы с иерархическими справочниками" -
https://its.1c.ru/db/metod8dev/content/2659/hdoc

ВЫБРАТЬ
    УчетНоменклатурыОбороты.Номенклатура КАК Номенклатура,
    УчетНоменклатурыОбороты.Номенклатура.Представление,
    УчетНоменклатурыОбороты.КоличествоОборот КАК КоличествоОборот
ИЗ
    РегистрНакопления.УчетНоменклатуры.Обороты КАК УчетНоменклатурыОбороты
ИТОГИ СУММА(КоличествоОборот) ПО
   Номенклатура ИЕРАРХИЯ
6 Волшебник
 
модератор
29.03.23
09:29
(0) Добавь в запрос итоги по иерархии, получишь группы
7 tciban
 
29.03.23
09:29
(5) Уже нашел этот пример, стало работать бодрее, да
8 tciban
 
29.03.23
09:43
(7) и теперь я заметил что отбор что то не работает на группы :(
Список.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
Список.Отбор.Ссылка.Значение = СписокТоваров;
А пустые группы, которых нет в СписокТоваров показывает!
9 tciban
 
29.03.23
09:51
(8) и вот что я делаю не так?
10 magicSan
 
29.03.23
09:55
(4) 10ка летает же просто огонь - попробуй сравнивать не товар а родителя
11 Lexandr
 
29.03.23
10:19
(8) Упс, неожиданно). Я решал эту проблему отключением иерархии и вывод дерева номенклатуры в отдельном окне. Кстати, смутно помню, что такое же решение в УТ10 было в форме подбора, но не точно.
12 vicof
 
29.03.23
10:47
Говорят, что для просмотра остатков по номенклатуре подходят отчеты.
И колонку с остатком в дерево тоже можно вывести.
И пометить оформлением строки с нулевыми остатками.
Зачем отборы в дереве по остаткам, непонятно.
13 tciban
 
29.03.23
10:52
(12) И отчетов полно и про оформление строки известно мне. Но вот сам решил некую фигнюшку для дома найти, естественно заглянул в справочник. А там горы лишней информации и хрен чего найдешь, хотя вроде и названия прописаны грамотно и структурировано все грамотно и тщательно... Но мне было неудобно. И пользователям удобно не будет, особенно новым. А удобно только то, что первым в голову приходит, вот только сделать непросто бывает, потому и нет еще его
14 tciban
 
29.03.23
11:02
(10) Вот думал думал, так и не понял как это?
15 tciban
 
29.03.23
12:26
Так все таки как мне можно скрыть пустые группы справочника на обычных формах? Помогите!!!
16 Мимохожий Однако
 
29.03.23
12:28
(15) Никак
17 tciban
 
29.03.23
12:31
ну вот, все пропало :(
18 Lexandr
 
29.03.23
12:51
(15) Используй СправочникДерево, там можно убирать группы.
19 Мимохожий Однако
 
29.03.23
13:03
Можно сделать расчёт по остаткам заранее, если время не очень критично, записать признак наличия остатка в какой-нибудь реквизит Булево и собирать список сразу же. Это ускорит процесс
20 tciban
 
29.03.23
13:23
(19) Список делается весьма быстро уже, хватило совета из (5).
Теперь бы придумать как скрыть группы!
21 Мультук
 
29.03.23
13:38
(20)

Давным-давно (с). Конфигурация была типа УТ10

Нужно было, чтобы в справочнике "Контрагенты" некие пользователи видели только своих контрагентов
Сделали через типовой РЛС (оказывается нужно было галочки нажать)

Дальше-больше. Поступили распоряжение  -- "нужно чтобы эти пользователи даже группы чужие не видели". Типа меньше видишь - крепче спишь.
Запили свои роли в РЛС -- скрыли группы.

=== + =====

(19) Можно сделать расчёт по остаткам заранее, если время не очень критично, записать признак наличия остатка в какой-нибудь реквизит Булево и собирать список сразу же. Это ускорит процесс


== Равно ==
Возможно ваше решение

P.S.
Только предусмотрите флажок какой в параметрах сеанса
22 Волшебник
 
модератор
29.03.23
13:41
(20) Дерево групп сделай слева. В основном списке отключи иерархию