Реклама на этом месте
Форум 1С
Форум 1С
Programmers. Accountants. Administrators
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
06 Mar 2021, 18:30
Login with username, password and session length
МультиВход
Welcome, Guest. Please login or register.
Did you miss your activation email?
 
collapse

Author Topic: Запрос к справочнику с табличной частью. Результат в ДеревоЗначений.  (Read 268 times)

0 Members and 1 Guest are viewing this topic.

Offline oooo800

  • *
  • Posts: 3
  • РЕПУТАЦИЯ: 0
  • Register: 2020-07-12
  • Website: 
  • Профессия: Ученик 1С
Самописная конфиурация на данный момент на Платформе 8.3.16.1224, Управляемые формы.
Начинаю изучать запросы. Столкнулся с таким case' ом.

Есть справочник с табличной частью, например: Товары и ДопСвойстваТовара, соответственно.
Например, основные реквизиты - реквизиты нетабличной части:
Code: [Select]
- Код = Строка;
- Наименование = Строка;
- ЕдИзм = СправочникСсылка.ЕдиницыИзмерения;
- КлассОпасности = СправочникСсылка.КлассыОпасности;
- ТипСклада = ПеречислениеСсылка.ВидыСкладов;
- Упаковка = ПеречисленияСсылка.ВидыУпаковки;
- Категория = Число;
- Опасный = Булево;
- КомментарийКТовару - Строка;

Например, реквизиты табличной части ДопСвойстваТовара;
Code: [Select]
- ИмяДопСвойства = Строка;
- ПолноеИмяДопСвойства = Строка;
- Производитель = СправочникСсылка.Производители;
- СтранаИзготовления = СправочникСсылка.Страны;
- ТипМаркировки = ПеречислениеСсылка.ТипыМаркировки;
- ВариантКомплектации = ПеречислениеСсылка.ВариантыКомплектации;
- Импортный = Булево;
- КомментарийКСвойству = Строка;

В обработке программно создается ЭлементФормы с типом ДеревоЗначений для вывода результатов отбора.

Необходимо в это ДеревоЗначений выгружать элементы справочника, без отбора или с отбором по любому из реквизитов или по сочетанию из нескольких любых реквизитов справочника, таким образом, чтобы:
- при отсутствии отбора - не задано значение ни одного реквизита, выводятся все элементы справочника со всеми строками табличной части соответствующих элементов:
Code: [Select]
Товар1
  Свойство1Товара1
  Свойство2Товара1

Товар2
  Свойство1Товара2
  Свойство2Товара2
  Свойство3Товара2
и так далее;

- при отборе по реквизиту или нескольким реквизитам - или только нетабличным или только табличным или и тем и тем, выводятся все отобранные элементы справочника со всеми строками табличной части соответствующих элементов, соответствующих критериям отбора:
Code: [Select]
Товар3
  Свойство1Товара3
  Свойство2Товара3

Товар7
  Свойство5Товара3
  Свойство12Товара3

Товар21
  Свойство15Товара21
при этом, если отбор идет по нескольким реквизитам, не важно только по нетабличным или только по табличным или и по тем и тем, отбор производится по условию "И", то есть в отобранные попадают только те элементы, которые соответствуют ВСЕМ критериям отбора, например:
ЕдИзм = штуки И Категория = 3 И СтранаИзготовления = Китай И ВариантКомплектации = наборы - в отборе ТОЛЬКО элементы со штуками, 3 категории, а в этих отобранных элементах присутствуют только те строки, в которых страна Китай и ВариантКомплектации набор;

Соответственно, если, по условиям отбора, например, указанным выше:
ЕдИзм = штуки И Категория = 3 И СтранаИзготовления = Китай И ВариантКомплектации = наборы, есть элементы со штуками,3 категории, из Китая, но нет ни одного элемента с строкой набор, получаем пустой результат.

Так понимаю, лучший вариант с точки зрения быстродействия а может и единственный - Запрос.
Может кто подскажет быстродействующий вариант запроса.


Offline oooo800

  • *
  • Posts: 3
  • РЕПУТАЦИЯ: 0
  • Register: 2020-07-12
  • Website: 
  • Профессия: Ученик 1С
Забыл написать.
Нужно, чтобы в узле дерева - в строке элемента были заполнены только колонки, связанные с реквизитами нетабличной части, а колонки реквихитов табличеой части были пустыми, а при раскрытии узла - наоборот, чтобы были заполнены только колонки саязаные с реквизитами табличной части, а колонки реквизитов нетабличной части оставались бы пустыми.

Добавлено: 12 Jul 2020, 21:40

И, Табличная часть элемента может быть пустой.

Last Edit: oooo800; 12 Jul 2020, 21:40. Reason: Merged DoublePost


 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

* Статьи

* Кто онлайн

  • Dot Guests: 70
  • Dot Hidden: 0
  • Dot Users: 0

There aren't any users online.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Search

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal