|
v8: Выбор всех элементов табличных частей | ☑ | ||
---|---|---|---|---|
0
FuriKuri
08.04.13
✎
12:30
|
Нужно выбрать все элементы из табличных частей трех документов. Как из 1 выбрать я знаю:
ВЫБРАТЬ РАЗЛИЧНЫЕ ПереоценкаТоваровВРозницеТовары.Номенклатура ИЗ Документ.ПереоценкаТоваровВРознице.Товары КАК ПереоценкаТоваровВРознТовары А как из 3? |
|||
1
mikecool
08.04.13
✎
12:32
|
ВЫБРАТЬ РАЗЛИЧНЫЕ
ПереоценкаТоваровВРозницеТовары.Номенклатура ИЗ Документ.ПереоценкаТоваровВРознице.Товары КАК ПереоценкаТоваровВРознТовары объединить все .... |
|||
2
MSII
08.04.13
✎
12:34
|
Где ПереоценкаТоваровВРозницеТовары.Ссылка В (&ТриТвоихДокумента)
|
|||
3
FuriKuri
08.04.13
✎
13:08
|
ТАкая еще проблема. Я выбрал всю номенклатуру из документов, а также всю номенклатуру нужную из справочника номенклатуры. Каким образом можно из сопоставить так чтобы можно было сравнить и выгрузить те элементы которые есть в справочнике но которых нет в документах?
|
|||
4
MSII
08.04.13
✎
13:10
|
(3) Тебе есть смысл что-то по запросам почитать, чтобы набрать базовый уровень.
|
|||
5
FuriKuri
08.04.13
✎
13:13
|
(4) смсыл может и есть. но иедя может и не появится...
|
|||
6
Jonny_Khomich
08.04.13
✎
13:15
|
(5) зачем тебе сравнить твою выгруженную номеклатуру из документов со справочником номенклатуры?
|
|||
7
FuriKuri
08.04.13
✎
13:17
|
Нужно определить, какая номенклатура не используется в документах, и переместить ее в другую папку. Сделал через ссылки но это занимает большое время. теперь пробую вот так
|
|||
8
FuriKuri
08.04.13
✎
13:24
|
Вобщем я так понял нужно через левое соединение с проверкой на Null
|
|||
9
mikecool
08.04.13
✎
13:26
|
выбрать ссылка
из справочник.номенклатура где не ссылка в (поззапрос на выборку номенклатуры из документов) |
|||
10
FuriKuri
08.04.13
✎
13:29
|
(9) Я выше написал что делал через ссылки. Это занимает очень продолжительное время при большом количестве номенклатуры
|
|||
11
mikecool
08.04.13
✎
13:31
|
(10) я хз как ты это сделал через ссылки
что занимает продолжительное время? или ты думаешь - перебрать данные всей базы это два пальца об асфальт, если данных дохера? |
|||
12
FuriKuri
08.04.13
✎
13:32
|
(11) ну вот хочу таким образом сделать и сравнить на скорость :)
|
|||
13
FuriKuri
08.04.13
✎
14:28
|
Сделал вот так. НО вот так, но почему то не выводятся значения :(
ТЗН1 = Новый ТаблицаЗначений; ТЗН2 = Новый ТаблицаЗначений; //поиск в документах Запрос1 = Новый Запрос; Запрос1.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоступлениеТоваровУслуг.Номенклатура КАК товар |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | ОприходованиеТоваров.Номенклатура КАК товар |ИЗ | Документ.ОприходованиеТоваров.Товары КАК ОприходованиеТоваров | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗаказПокупателя.Номенклатура КАК товар |ИЗ | Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя"; Результат = Запрос1.Выполнить(); ТЗДокумент = Результат.выгрузить(); //поиск в справочнике Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК товар |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ВидНоменклатуры = &ВидНоменклатуры"; Запрос.УстановитьПараметр("ВидНоменклатуры",ВидНоменклатуры); РезультатЗапроса = Запрос.Выполнить(); ТЗНоменклатура = РезультатЗапроса.выгрузить(); Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ * ПОМЕСТИТЬ ТЗ1 ИЗ &ТЗ КАК ТЗ1"; Запрос.УстановитьПараметр("ТЗ", ТЗДокумент); Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ * ПОМЕСТИТЬ ТЗ2 ИЗ &ТЗ КАК ТЗ2"; Запрос.УстановитьПараметр("ТЗ", ТЗНоменклатура); Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | ТЗ1.Товар |ИЗ | ТЗ2 КАК ТЗ2 | ЛЕВОЕ СОЕДИНЕНИЕ ТЗ1 КАК ТЗ1 | ПО (ТЗ1.Товар = ТЗ2.Товар) |ГДЕ | ТЗ2.Товар ЕСТЬ NULL "; Выборка = Запрос.Выполнить().Выгрузить(); В чем я не прав ? |
|||
14
zladenuw
08.04.13
✎
14:33
|
(13) ужас.
ВЫБРАТЬ РАЗЛИЧНЫЕ ПоступлениеТоваровУслуг.Номенклатура КАК товар ПОМЕСТИТЬ НоменклатураДокументов ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РАЗЛИЧНЫЕ ОприходованиеТоваров.Номенклатура ИЗ Документ.ОприходованиеТоваров.Товары КАК ОприходованиеТоваров ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РАЗЛИЧНЫЕ ЗаказПокупателя.Номенклатура ИЗ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Номенклатура.Ссылка ИЗ НоменклатураДокументов КАК НоменклатураДокументов ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура ПО НоменклатураДокументов.товар = Номенклатура.Ссылка ГДЕ НЕ Номенклатура.Ссылка В (ВЫБРАТЬ ТЧ.товар ИЗ НоменклатураДокументов КАК ТЧ) |
|||
15
zladenuw
08.04.13
✎
14:34
|
(14) конструктор шайтан. без соединения
|
|||
16
FuriKuri
08.04.13
✎
14:36
|
Я уже разобрался... вконце неправильно соединения поставил..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |