|
Объединение двух одинаковых таблиц. | ☑ | ||
---|---|---|---|---|
0
Nykos
27.03.15
✎
16:36
|
Первым запросом вытягиваю ТЗ из другой ИБ с помощью COM-подключения, вторым запросом вытягиваю ТЗ из текущей базы. Все поля в ТЗ идентичные. Как объединить результаты обеих запросов так, чтобы в сформированный отчет попали данные как из моей базы, так и из выгруженной? надо чтобы все было "в одной куче".
Заранее благодарен за ваши ответы. |
|||
1
shuhard
27.03.15
✎
16:37
|
(0) ТЗ-ВТ-Объединить все
|
|||
2
ДенисЧ
27.03.15
✎
16:37
|
Запросом, разумеется
|
|||
3
butterbean
27.03.15
✎
16:39
|
(0) только не говори, что ТЗ ты сформировал на стороне подключенной базы, а не в своей
|
|||
4
Nykos
27.03.15
✎
16:40
|
(3) в своей
|
|||
5
Nykos
27.03.15
✎
16:42
|
(1) Извини, первый раз с этим сталкиваюсь, не мог бы ты подробнее объяснить?
|
|||
6
BeerHelpsMeWin
27.03.15
✎
16:45
|
поиск: как поместить таблицу значений в запрос
|
|||
7
1976vas
27.03.15
✎
16:47
|
(6) Не правильно. Как поместить таблицу значений в запрос 1с
|
|||
8
DrShad
27.03.15
✎
16:56
|
Запрос.Текст = "ВЫБРАТЬ * ПОМЕСТИТЬ ВТ ИЗ &ТЗ КАК ТЗ";
|
|||
9
shuhard
27.03.15
✎
17:35
|
(8) добрый ты однако =)
|
|||
10
DrShad
27.03.15
✎
17:45
|
(9) думаешь осилит?
|
|||
11
shuhard
27.03.15
✎
17:54
|
(10) вероятность процентов 15
|
|||
12
Михаил Козлов
27.03.15
✎
18:05
|
Лишь бы в ТЗ из другой ИБ не было COM-объектов.
|
|||
13
Nykos
27.03.15
✎
19:28
|
(10) (11) Толсто. Спасибо, уж лучше сам как-нибудь разберусь.
|
|||
14
МихаилМ
27.03.15
✎
19:30
|
||||
15
Nykos
30.03.15
✎
11:53
|
Запрос1 = ФилиальнаяБаза.NewObject("Запрос");
Запрос1.Текст = " //тут запрос ТЗ1 = Запрос1.Выполнить().Выбрать(); Запрос2 = Новый Запрос; Запрос2.Текст = " //тут запрос ТЗ2 = Запрос2.Выполнить().Выбрать(); Запрос3 = Новый Запрос; Запрос3.Текст = " |ВЫБРАТЬ * ПОМЕСТИТЬ ТЗ1 ИЗ &ТЗ1 КАК ТЗ1; |ВЫБРАТЬ * ПОМЕСТИТЬ ТЗ2 ИЗ &ТЗ2 КАК ТЗ2; |ВЫБРАТЬ * ИЗ ТЗ1 |ОБЪЕДИНИТЬ ВСЕ |ВЫБРАТЬ * ИЗ ТЗ2"; Запрос3.УстановитьПараметр("ТЗ1", ТЗ1); Запрос3.УстановитьПараметр("ТЗ2", ТЗ2); ТЗ3 = Запрос3.Выполнить().Выбрать(); Текст запросов полностью одинаковый. Ну ткните носом неграмотного, каюсь, не хватает серого вещества... Как мне добиться результата ТЗ3 = ТЗ1+ТЗ2? |
|||
16
Cube
30.03.15
✎
11:56
|
(15) Делай так:
ТЗ1 = Запрос1.Выполнить().ВЫГРУЗИТЬ(); |
|||
17
Cube
30.03.15
✎
11:57
|
Только ТЗ у тебя получится там, а не здесь...
|
|||
18
Cube
30.03.15
✎
11:58
|
Если будешь руками пересобирать ТЗ, то учти, что в запрос нужно сувать типизированную ТЗ. Посты (6) и (7) рекомендую к прочтению.
|
|||
19
Nykos
30.03.15
✎
11:58
|
(16) я пробовал с ВЫГРУЗИТЬ(); не получилось
(17) а почему там? местами поменять объединение? или вообще в принципе неверно сделал? |
|||
20
DrShad
30.03.15
✎
11:58
|
(15) текст запросов покажи - вдруг там не примитивные типы?
|
|||
21
DrShad
30.03.15
✎
12:00
|
да и выборку нельзя использовать как источник для запроса
|
|||
22
Nykos
30.03.15
✎
12:00
|
(20)
ЗапросЦ.Текст = " |ВЫБРАТЬ | КнигаПокупокПоОтгрузкеТЧ.Ссылка КАК Док, | КнигаПокупокПоОтгрузкеТЧ.СчетНДСКт КАК СчетНДСКт, | КнигаПокупокПоОтгрузкеТЧ.Контрагент КАК Контрагент, | КнигаПокупокПоОтгрузкеТЧ.ДокументПриобретения КАК ДокументПриобретения, | КнигаПокупокПоОтгрузкеТЧ.СтавкаНДС КАК СтавкаНДС, | КнигаПокупокПоОтгрузкеТЧ.СуммаНДС КАК СуммаНДС, | КнигаПокупокПоОтгрузкеТЧ.СуммаБезНДС КАК СуммаБезНДС, | КнигаПокупокПоОтгрузкеТЧ.СуммаСНДС КАК СуммаСНДС, | КнигаПокупокПоОтгрузкеТЧ.Основание КАК Основание, | КнигаПокупокПоОтгрузке.Номер КАК Номер, | КнигаПокупокПоОтгрузке.Проведен КАК Проведен, | КнигаПокупокПоОтгрузке.Владелец КАК Владелец, | КнигаПокупокПоОтгрузке.Дата КАК Дата, | КнигаПокупокПоОтгрузке.ВидКП КАК ВидКП, | КнигаПокупокПоОтгрузкеТЧ.КодОперации КАК КодОперации, | КнигаПокупокПоОтгрузкеТЧ.ДатаДляКП КАК ДатаДляКП |ИЗ | Документ.КнигаПокупокПоОтгрузке.ТЧ КАК КнигаПокупокПоОтгрузкеТЧ | ЛЕВОЕ СОЕДИНЕНИЕ Документ.КнигаПокупокПоОтгрузке КАК КнигаПокупокПоОтгрузке | ПО КнигаПокупокПоОтгрузкеТЧ.Ссылка = КнигаПокупокПоОтгрузке.Ссылка |ГДЕ | КнигаПокупокПоОтгрузке.Проведен = ИСТИНА | И КнигаПокупокПоОтгрузке.Дата МЕЖДУ &ДатаНач И &ДатаКон | И КнигаПокупокПоОтгрузке.Владелец = &Владелец | И КнигаПокупокПоОтгрузкеТЧ.СчетНДСКт В(&СчетНДС) | И(КнигаПокупокПоОтгрузке.ВидКП = &ВидКП ИЛИ КнигаПокупокПоОтгрузке.ВидКП = &ВидКП2) |УПОРЯДОЧИТЬ ПО | Контрагент |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
23
Nykos
30.03.15
✎
12:01
|
(20) и в первом и втором запросе одинаковый текст
|
|||
24
DrShad
30.03.15
✎
12:02
|
(23) ну и к примеру вот здесь
КнигаПокупокПоОтгрузкеТЧ.Контрагент КАК Контрагент, получишь OLEОбъект - какую информативную нагрузку несет данное значение? |
|||
25
Cube
30.03.15
✎
12:05
|
(19) "а почему там?"
Потому что Запрос1 - это COMОбъект... |
|||
26
DrShad
30.03.15
✎
12:07
|
имхо сериализуй результат запроса, потом собирай ТЗ на другой стороне и тогда юзай
|
|||
27
Nykos
30.03.15
✎
13:11
|
(25) а если я
|ВЫБРАТЬ * ИЗ ТЗ1 |ОБЪЕДИНИТЬ ВСЕ |ВЫБРАТЬ * ИЗ ТЗ2"; поменяю на |ВЫБРАТЬ * ИЗ ТЗ2 |ОБЪЕДИНИТЬ ВСЕ |ВЫБРАТЬ * ИЗ ТЗ1"; у меня на этой стороне ТЗ получится?) |
|||
28
DrShad
30.03.15
✎
13:13
|
(27) нет
|
|||
29
Nykos
30.03.15
✎
13:13
|
(24) Ну Контрагент мне понадобится для Отчета... Сейчас погуглю что представляет собой OLEОбъект и тогда смогу ответить точнее.
|
|||
30
Cube
30.03.15
✎
13:16
|
(27) Да блин, сделай уже так:
Запрос = Новый Запрос(МойТекстЗапроса); ТаблицаДанных = Запрос.Выполнить().Выгрузить(); Запрос = ВнешняяБаза.NewObject("Запрос"); Запрос.Текст = МойТекстЗапроса2; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ЗаполнитьЗначенияСвойств(ТаблицаДанных.Добавить(), Выборка); КонецЦикла; И скрми эту ТаблицаДанных в СКД как внешний набор. Поля обоих запросов должны иметь примитивные типы (Будево, строка, число, Дата). Остальные поля - с мопеда. |
|||
31
Cube
30.03.15
✎
13:17
|
+(30) Писал на коленке, ошибки сам исправишь (если найдешь).
|
|||
32
Nykos
30.03.15
✎
14:12
|
(31) а что делать с полями не примитивных типов? я могу присвоить им тип? Справочник.Ссылка сделать Строкой например?
При ручном добавлении колонок я бы использовал ОписаниеТипов... А в тексте запроса есть возможность это сделать? |
|||
33
Nykos
30.03.15
✎
14:17
|
(31) Может в моем случае проще уже при формировании печатной формы вывести сначала результаты одного запроса, а потом добавить строки с результатами второго запроса?...
|
|||
34
Nykos
30.03.15
✎
14:18
|
блин
|
|||
35
DrShad
30.03.15
✎
14:21
|
[(10) (11) Толсто. Спасибо, уж лучше сам как-нибудь разберусь.]
|
|||
36
Nykos
30.03.15
✎
14:27
|
угу..
|
|||
37
DrShad
30.03.15
✎
14:43
|
(36) БД хоть насколько похожи?
|
|||
38
Nykos
30.03.15
✎
14:47
|
(37) если я правильно понял вопрос то практически идентичны
|
|||
39
mistеr
30.03.15
✎
14:49
|
Внешние источники данных.
|
|||
40
DrShad
30.03.15
✎
14:50
|
(39) и?
|
|||
41
DrShad
30.03.15
✎
14:50
|
(38) а ссылки у справочников синхронизированы??
|
|||
42
shuhard
30.03.15
✎
14:51
|
(35) переборщил я с 15% , тут и 1% нет
|
|||
43
mistеr
30.03.15
✎
15:00
|
(39) (40) нет, прошу прощения, тут не подходят.
|
|||
44
Nykos
30.03.15
✎
15:55
|
(41) да
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |