#0
by Вуглускр1991
Были темы Ещё нарыть можно, при желании. Думаю многие поймут, почему нельзя соединять две таблицы по условию реквизит Таблицы1 В ИЕРАРХИИ реквизит Таблицы2. Думаю многие, кто знает SQL этого не поймут. А кто знает ещё и CTE задумаются о кроссплатформенности CTE для DB2 oracle и postgre. Мне миста много помогла в оперативной работе, спасибо мистяне. Если сочтете годным такой способ решения проблемы - берите. Добавляем регистр сведений "ИерархияНоменклатуры" с измерениями: "НоменклатураРодитель" - номенклатура и можно ресурс "УровеньВИерархии" - число Добавляем подписку на событие Событие: "ПриЗаписи" Обработчик: в отдельном серверном привилегированном модуле КонецПроцедуры Затем, добавляем в модуль менеджера регистра три процедуры: ТабаРодов.Сортировать("НоменклатураГруппа Возр,УровеньВИерархии Возр,НоменклатураРодитель Возр",); КонецПроцедуры После чего можно заменять конструкциею "В ИЕРАРХИИ" внутри запроса вот так: "ВЫБРАТЬ
#2
by Fragster
на самом деле если бы 1с незажмотились на нормальное физическое хранение иерархии (правое и левое значение дерева), то условие соединения выглядело бы как МЕЖДУ
#5
by Fragster
для варианта с регистром - это выглядело бы как Ссылка, левое значение, правое значение.
#11
by Вуглускр1991
Это пример использования в чистом виде, без смысловой нагрузки. Во многих конфигурациях через группы созданы политики, максимальный приоритет имеет политика записанная для непосредственного родителя. Вся номенклатура из группы товары учитывается на 41.01 Однако из папки "цветочные магазины НТТ" на 41.11 Мы знаем как в БП такое сотворить. Тогда можно построить таблицу "горшок ВАЛЕНОК" - "цветочные магазины НТТ" - 2 - 41.11 "горшок ВАЛЕНОК" - "товары" - 1 - 41.01 Где 2 и 1 соответственно уровни родителей "горшка ВАЛЕНКА" Поэтому взяв максимум мы получим результирующую политику учет на 41.11 и все в одном запросе.
#12
by Defender aka LINN
Тебе - бесполезно. Еще можно для каждой группы определить диапазон идентификаторов. Т.е., группы верхнего уровня - от 1 до 10000, от 10001 до 20000 и т.д., к примеру. Вложенная в первую группу - от 1 до 1000, вложенная в нее - от 1 до 100. Ну и тогда тупо по вхождению в интервал.
#14
by ProProg
для этого регистр сведений специальный не нужен. Это разовая задача в каких то допилках и решается элементарнейшим способом!
#17
by Вуглускр1991
Ещё одна разовая задача: получить сопоставление элемента номенклатуры и его самого верхнего родителя.
#19
by ProProg
а такое вообще как два пальца. в СКД при работе с запросами в доступных полях есть группа Системный полей, к которым моджно обращаться с названием Уровень и Уровень в группе. В типовых есть масса отчетов где отчеты построены по кнокретному уровню иерархии и даже с номенклатурой.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как соединить одним шнуром через хаб 3 компутера
- Вывести запрос с итогами по иерархии с группировкой строк по иерархии
- OLE перенос справочника (проблема с родителем и уровнями иерархии)...
- Выборка и вывод номенклатуры с учетом иерархии
- Как быстрее всего соединить две ТЗ без запросов?
- Соединить 1с со сканером Proton IMS 3190
- Сортировка элементов в СКД по иерархии, но без вывода иерархии
В этой группе 1С
- Вопрос по поводу свойства типа объекта XDTO
- Где в конфигураторе вводится сумма прописью?
- остатки скд на каждый день
- Передать данные ТЧ между формами
- Подскажите, где ошибка? ADO
- v7: Цвет колонки в таблице
- 8.3 Невозможно применить фиксированные настройки. Пересекаются элементы отбора.
- Не получается отбор по дате
- УТ 11.0. Документ "Возврат поставщику" не делает движений по складу
- БП 2.0. Реализация не попадает в книгу продаж
- Как закрыть период в УТ10.3
- УПП на SQL. Конфликт блокировок при выполнении транзакции.
- Локальные ключи на сервер 1С.
- Отчет на СКД: 2 варианта отчета
- 1с82 на 64 -разрядном сервере ?
- Заполнение списка значений во второй форме внешнего отчета
- Как отключить возможность раскрывать иерархию в номенклатуре?
- Проблема в добавлении записи
- V8 Интерфейс такси. Как скрыть все панели или открыть форму обработки полноэкран
- Сохранение реквизитов формы в xml