![]() |
![]() |
![]() |
|
Определить пересечение табличных частей | ☑ | ||
---|---|---|---|---|
0
Dirk Diggler
29.10.09
✎
06:54
|
Простенький вопрос.
Есть 2 табличные части, скажем, исходные комплектующие спецификаций УПП. Как запросом найти их "пересечение"? Проверить, не содержится ли одна из них целиком в другой? |
|||
1
reg-aleks
29.10.09
✎
06:57
|
ВНУТРЕННЕ СОЕДИНЕИЕ двух таблиц!
|
|||
2
Dirk Diggler
29.10.09
✎
07:18
|
Ну если я правильно понимаю, что если соединение 2х таблиц, то и у выбрать должно быть 2 аргумента:
ВЫБРАТЬ А,Б ИЗ В ВНУТРЕННЕ СОЕДИНЕНИЕ Г ПО Д=Е что далее я буду делать с А и Б? |
|||
3
Рэйв
29.10.09
✎
07:25
|
Может так тебе легче будет?
ВЫБРАТЬ B.НомерСтроки,Г.НомерСтроки ИЗ В ВНУТРЕННЕ СОЕДИНЕНИЕ Г ПО B.А=Г.А |
|||
4
Rie
29.10.09
✎
07:36
|
(2) После ВЫБРАТЬ идёт список тех полей, которые тебе нужны. Хоть все выбирай, хоть одно - на источнике это никак не скажется. И если идёт соединение двух таблиц, то после ВЫБРАТЬ вполне может идти и одно поле (если больше ничего не надо), и двадцать.
|
|||
5
Dirk Diggler
29.10.09
✎
08:26
|
В любом случае, я получаю ошибку
"Содержимое объекта данных может быть выбрано только во временную таблицу" Без колдовни с временными таблицами удастся обойтись? |
|||
6
НЕА123
29.10.09
✎
08:56
|
(5)
источники кто? |
|||
7
Dirk Diggler
29.10.09
✎
09:14
|
Надо полагать, табличные части спецификации.
Вообще, задача такова: Есть некая спецификация номенклатуры. Надо получить все спецификации номенклатуры, у которых табличная часть "ИсходныеКомплектующие" есть подмножество данной. Например, есть спецификация с ТЧ: Швеллер - 1 м Труба круглая - 3 м Краска - 0.5 кг Болт - 15 шт Если вдруг найдутся такие спецификации с ТЧ типа: Труба круглая - 3 м Болт - 15 шт или Швеллер - 1 м Краска - 0.5 кг Болт - 15 шт то они должны попасть в результат запроса. |
|||
8
НЕА123
29.10.09
✎
09:36
|
(7)
понятно. до завтра отложим, на пятницу. |
|||
9
Dirk Diggler
29.10.09
✎
10:10
|
Да я тут по-школьному сделал, через 2 временные таблицы. Одного не могу добиться - как получить в результате запроса строки табличной части, чтобы можно было к ним обращаться полноценно - с доступам к колонкам и вызовом методов....
|
|||
10
Dirk Diggler
29.10.09
✎
10:32
|
(4) Rie, а вот я сделал:
ТекстЗапроса="Выбрать ТЧ.ВидНорматива, ТЧ.Номенклатура,ТЧ.ХарактеристикаНоменклатуры как Характеристика,ТЧ.Количество ПОМЕСТИТЬ СоставУзла ИЗ &ТабЧ КАК ТЧ"; Запрос1.Текст=ТекстЗапроса; Запрос1.УстановитьПараметр("ТабЧ", ТекущийУзел.ИсходныеКомплектующие); Результат=Запрос1.Выполнить(); ТекстЗапроса="Выбрать ТЧ.ВидНорматива, ТЧ.Номенклатура,ТЧ.ХарактеристикаНоменклатуры как Характеристика,ТЧ.Количество ПОМЕСТИТЬ СоставСпец ИЗ &ТабЧ КАК ТЧ"; Запрос1.Текст=ТекстЗапроса; Запрос1.УстановитьПараметр("ТабЧ", Объект.ИсходныеКомплектующие); Результат=Запрос1.Выполнить(); ТекстЗапроса="Выбрать Номенклатура Как НМКУзла ИЗ СоставУзла ГДЕ НЕ Номенклатура В ( Выбрать Номенклатура Как Нмк ИЗ СоставСпец ВНУТРЕННЕЕ СОЕДИНЕНИЕ СоставУзла ПО СоставСпец.Характеристика=СоставУзла.Характеристика И СоставСпец.Количество=СоставУзла.Количество)"; ТекстЗапроса="Выбрать * ИЗ СоставУзла ГДЕ НЕ Номенклатура В ( Выбрать Номенклатура ИЗ СоставСпец ВНУТРЕННЕЕ СОЕДИНЕНИЕ СоставУзла ПО СоставСпец.Характеристика=СоставУзла.Характеристика И СоставСпец.Количество=СоставУзла.Количество)"; Запрос1.Текст=ТекстЗапроса; Результат=Запрос1.Выполнить(); И получил вот такую шнягу: Ошибка при вызове метода контекста (Выполнить): {(1, 57)}: Неоднозначное поле "Номенклатура" И как бороццо? |
|||
11
НЕА123
29.10.09
✎
11:00
|
(10)
поборол? |
|||
12
Dirk Diggler
29.10.09
✎
13:01
|
ога. Но все-таки как-то по школьному ))) Сказывается отсутствие практики
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |