Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

1с Объединить 3 таблицы в коде

1с Объединить 3 таблицы в коде
Я
   Lily_1C
 
27.12.18 - 10:02
Добрый день!
Подскажите,пожалуйста,как объединить 3 таблицы в одну?
Есть 3 таблицы долгов: ТаблицаДолгов1,ТаблицаДолгов2,ТаблицаДолгов3.

Как получить ТаблицаДолгов?(общую таблицу,объединяющую все три)
 
 
   lxs
 
1 - 27.12.18 - 10:05
(0) ОБЪЕДИНИТЬ ВСЕ

Но может лучше почитать Практические примеры разработки для начала?
И пособие по построению запросов в 1С?
   Lily_1C
 
2 - 27.12.18 - 10:06
Не в запросе, как объединить?
   Ник080808
 
3 - 27.12.18 - 10:08
(0) обход в таблиц построчно и добавление в новую)
   Lily_1C
 
4 - 27.12.18 - 10:08
С помощью запросов я уже получила эти таблицы,они идентичны по структуре.
Как то можно одну таблицу поставить под другую, и следующую тоже подставить вниз?)
   Ник080808
 
5 - 27.12.18 - 10:10
МассивТаблиц = Новый Массив;
МассивТаблиц.Добавить(ТаблицаДолгов1);
МассивТаблиц.Добавить(ТаблицаДолгов2);
Для Каждого ЭлементМассива из МассивТаблиц Цикл
Для Каждого Стр из ЭлементМассива Цикл
НС = ТаблицаДолгов3.Добавить();
ЗаполнитьЗначенияСвойств(нс,стр);
КонецЦикла;
КонецЦикла;
   Ник080808
 
6 - 27.12.18 - 10:10
в итоге все три таблицы  будут в таблицадолгов3
   shuhard
 
7 - 27.12.18 - 10:11
(4) в (3) какая буква не понятна ?
добавляешь колонка
дописываешь
сортируешь
   Очевидно
 
8 - 27.12.18 - 10:12
(5)
а можно ещё моднее :
Для Каждого Стр из ЭлементМассива Цикл
ЗаполнитьЗначенияСвойств(ТаблицаДолгов3.Добавить(),стр);
КонецЦикла;
   Lily_1C
 
9 - 27.12.18 - 10:15
А так верно?
ТаблицаДолгов = Новый Массив;
    
    Для Каждого Таб Из ТаблицаДолгов1 Цикл
        ТаблицаДолгов.Добавить(Таб);
    КонецЦикла;
    
    Для Каждого Таб Из ТаблицаДолгов2 Цикл
        ТаблицаДолгов.Добавить(Таб);
    КонецЦикла;
    
    Для Каждого Таб Из ТаблицаДолгов3 Цикл
        ТаблицаДолгов.Добавить(Таб);
    КонецЦикла;
   Lily_1C
 
10 - 27.12.18 - 10:16
(8)-спасибо огромное!!!
 
 Рекламное место пустует
   ГдеСобакаЗарыта
 
11 - 27.12.18 - 10:18
(4) А почему бы одним запросом не получить все данные в одну таблицу? Все нормальные пацаны и девчонки так делают.
Ну и еще в типовых есть специальные функции объединения таблиц.
   Ник080808
 
12 - 27.12.18 - 10:56
(11) ребенок только учится. Она еще не постигла дзен запросов.
   Вафель
 
13 - 27.12.18 - 10:57
делай как настоящий программист - merge join
   GANR
 
14 - 27.12.18 - 11:06
(12) Какой еще дзен!?
// создаем пустую таблицу с аналогичными колонками

ТаблОбъединение = Табл1.Скопировать(Новый Массив);
// и алгоритмом общего модуля запихиваем в неё все 3 таблицы

ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(Табл1, ТаблОбъединение);
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(Табл2, ТаблОбъединение);
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(Табл3, ТаблОбъединение);
   GANR
 
15 - 27.12.18 - 11:08
(13) средствами ассемблера тогда уж - чего мелочиться
   Лодырь
 
16 - 27.12.18 - 11:09
(14) БСПоклонник детектед!
   Ник080808
 
17 - 27.12.18 - 11:17
(14) ребенок спрашивает как объединить три одинаковые таблицы. Ты думаешь, она знает что такое БСП и общий модуль
ОбщегоНазначенияКлиентСервер?) Есть несколько стадий становления 1сника:
1. Объединить три таблицы циклом;
2. Объединить запросом;
3. Объединить с бсп) Она на открыла для себя только первый)
   Вафель
 
18 - 27.12.18 - 11:25
(17)3 - это и есть первый. только циклы в общих модулях
   Вафель
 
19 - 27.12.18 - 11:25
а потом в бсп решат, что это не клиентский метод и вся обработка полетит
   Ник080808
 
20 - 27.12.18 - 11:28
(18) так в этом и цимес. Сначала пишешь на чистом языке свое, потом после многих лет боли и страданий, постигаешь дзен и юзаешь типовое)
   Pahomich
 
21 - 27.12.18 - 11:30
(20) Цимес - исключтельно еврейское блюдо...
   МихаилМ
 
22 - 27.12.18 - 12:22
(17)
можно еще через скд , табдок, дз
а один товарищ под сотню методов объединения знает
https://forum.infostart.ru/forum9/topic175149/#message1822773
   GANR
 
23 - 27.12.18 - 13:26
(16) Yes, это так.
(17) Эти 3 стадии прям на себе помню. Я и слова "БСП" не произносил. Надо показать человеку мощь модулей линейки ОбщегоНазначения.
   GANR
 
24 - 27.12.18 - 13:28
(22) О Господи! Да чего мучаетесь - ассемблером надо.
   Pahomich
 
25 - 27.12.18 - 13:34
(24) Интересно, как ты, в условиях офиса, найдешь в ассемблере Таблицу значений...
   GANR
 
26 - 27.12.18 - 13:35
(19) Верное замечание. А для этого у нас общий модуль OUR_ПосредникСБГУКлиентСервер и в нем функция.

Процедура ДополнитьТаблицу(Т1, Т2) Экспорт

  ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(Т1, Т2);

КонецПроцедуры

Обращения идут не напрямую к БСП, а через этого посредника. Если отчет о проверке конфигурации после обновления покажет, что функции которую вызывает модуль-посредник нету - просто подпилим это место и всё (а не всю конфу).
   Смотрящий
 
27 - 27.12.18 - 13:41
(17) С уяли ребенок ? оО Писун больше чем у меня отрос а все онжеребенок
   Сергиус
 
28 - 27.12.18 - 13:51
(27)Учитывая, что это девушка, то вряд ли больше..)
   catena
 
29 - 27.12.18 - 13:53
(28)Имелась в виду полоска ЧСВ, видимо))
   Сергиус
 
30 - 27.12.18 - 13:54
(29)Это ж надо линейкой измерять)
   catena
 
31 - 27.12.18 - 13:55
(30)На ней же подписано, если мышой навести
   Сергиус
 
32 - 27.12.18 - 13:56
(31)У меня такого нет..
   Mikeware
 
33 - 27.12.18 - 14:14
(28) по абсолютной величине :-)
 
 
   Ник080808
 
34 - 27.12.18 - 15:18
(27) она мне свой писюн не показывала, к счастью) а ребенок, потому что вопрос детский)
   Смотрящий
 
35 - 27.12.18 - 15:31
(28) Полоска под ником ... она у всех есть ;)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует