Объединение таблиц значений

1. Kaspirovsky 216 23.07.17 09:56 Сейчас в теме
уже всю голову сломал

Есть три таблицы значений

тзОптовыеПродажи , тзРозничныеПродажи, у них колонки Магазин, Номенклатура, Цена - строковые все

тзГород колонки Магазин, Город

Как объединить все эти 3 тз?? я потом этуОбъединенную таблицу буду сортировать, выводить список
По теме из базы знаний
Найденные решения
3. starik-2005 3037 23.07.17 11:45 Сейчас в теме
  ТЗПродажи = тзОптовыеПродажи.СкопироватьКолонки();
  ТЗПродажи.Загрузить(тзОптовыеПродажи);
  Для каждого ст ИЗ тзРозничныеПродажи Цикл
    ЗаполнитьЗначенияСвойств(ТЗПродажи.Добавить(), ст)
  КонецЦикла;
  ТЗПродажи.Колонки.Добавить("Город", Новый ОписаниеТипов("Строка"));
  Для каждого ст ИЗ ТЗПродажи Цикл
    ст.Город = тзГород.Найти(ст.Магазин, "Магазин").Город
  КонецЦикла;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1484 23.07.17 10:29 Сейчас в теме
(1) сделай запрос или кодом перебери все элементы и создай новую ТЗ.
3. starik-2005 3037 23.07.17 11:45 Сейчас в теме
  ТЗПродажи = тзОптовыеПродажи.СкопироватьКолонки();
  ТЗПродажи.Загрузить(тзОптовыеПродажи);
  Для каждого ст ИЗ тзРозничныеПродажи Цикл
    ЗаполнитьЗначенияСвойств(ТЗПродажи.Добавить(), ст)
  КонецЦикла;
  ТЗПродажи.Колонки.Добавить("Город", Новый ОписаниеТипов("Строка"));
  Для каждого ст ИЗ ТЗПродажи Цикл
    ст.Город = тзГород.Найти(ст.Магазин, "Магазин").Город
  КонецЦикла;
Показать
4. Kaspirovsky 216 23.07.17 15:17 Сейчас в теме
(3)
ТЗПродажи.Загрузить(тзОптовыеПродажи);

Благодарю, только во второй строке пишем

ТЗПродажи.ЗаполнитьЗначения(тзОптовыеПродажи);
5. starik-2005 3037 23.07.17 16:29 Сейчас в теме
(4)
только во второй строке
Такие детали мало кому интересны. Решить эту задачу есть способов под сотню, один из которых - вообще запросом:
  Запрос = Новый Запрос(
  "ВЫБРАТЬ * ПОМЕСТИТЬ Таб1 ИЗ &Таб1;
  |ВЫБРАТЬ * ПОМЕСТИТЬ Таб2 ИЗ &Таб2;
  |ВЫБРАТЬ * ПОМЕСТИТЬ Таб3 ИЗ &Таб3;
  |ВЫБРАТЬ Подзапрос.*, Город ИЗ 
  | (ВЫБРАТЬ * ИЗ Таб1
  |   ОБЪЕДИНИТЬ ВСЕ
  |   ВЫБРАТЬ * ИЗ Таб2) КАК Подзапрос
  |  ЛЕВОЕ СОЕДИНЕНИЕ Таб3 КАК Таб3
  |  ПО Подзапрос.Магазин = Таб3.Магазин")

  Запрос.УстановитьПараметр("Таб1", тзОптовыеПродажи);
  Запрос.УстановитьПараметр("Таб2", тзРозничныеПродажи);
  Запрос.УстановитьПараметр("Таб3", тзГород);

  ТЗПродажи = Запрос.Выполнить().Выгрузить();
Показать
consplus_pavlov; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот