Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Объединение двух ИТ при помощи "ПолноеСоединение" (число прочтений - 1156 )
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Объединение двух ИТ при помощи "ПолноеСоединение"
26. Марта 2009 :: 12:51
Печать  
Есть две таблицы

Код
Выбрать все
ИТ1
-----------------
Ключ    Поле1
-----------------
1	    А
2	    А


ИТ2
---------
Ключ    Поле2
---------
1	    Б
3	    Б
 



Надо чтобы получилось:

Код
Выбрать все
ИТРез
------------------------------
Ключ    Поле1	 Поле2
------------------------------
1	    А		  Б
2	    А		  знач2
3	    знач1	  Б
 



То есть надо, чтобы для строк из ИТ1, отсутсвующих в ИТ2, Поле2 было равно заданному значению "знач2". И то же самое, чтобы для строк из ИТ2, отсутсувующих в ИТ1,  поле "Поле1" было равно значению "знач1".
Лучше всего для этих целей подходит метод "ПолноеСоединение".
Выполняю следующий код:

Код
Выбрать все
ИТРез = ИТ1.ПолноеСоединение("Ключ", ИТ2, "Ключ", "Ключ, Поле2");
 



Но есть одна проблемка.
После выполнения этого метода получается следующая таблица:

Код
Выбрать все
ИТРез
------------------------------
Ключ    Поле1	 Поле2
------------------------------
1	    А		  Б
2	    А		  <пусто>
3	    <пусто>	 Б
 



Как мне пустые поля заполнить нужными значениями "знач1" и "знач2"?
  
Наверх
ICQ  
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Объединение двух ИТ при помощи "ПолноеСоединение"
Ответ #1 - 26. Марта 2009 :: 14:16
Печать  
Например, пройтись и заполнить самостоятельно. Либо самому увеличить и первую и вторую таблицы до одинакового размера, и лишь потом соединять. На 1С++ не надо надеяться в КАЖДОМ частном случае. Это лишь инструмент со своими ограничениями и возможностями. Вполне вероятно, что на все возможностей 1С++ не хватит, придется ручками код писать.
  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Объединение двух ИТ при помощи "ПолноеСоединение"
Ответ #2 - 27. Марта 2009 :: 09:52
Печать  
Понятно.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать