Friday, April 29, 2011

Объединение таблиц значений в 1С 8.х через запрос и временные таблицы

Запрос = Новый Запрос;
Запрос.Текст = "Выбрать * ПОМЕСТИТЬ ВремТабл Из &ТабЗнач1 как ТабЗнач1;
| Выбрать * ПОМЕСТИТЬ ВремТабл1 Из &ТабЗнач как ТабЗнач;
| Выбрать * ИЗ ВремТабл ОБЪЕДИНИТЬ ВСЕ Выбрать * ИЗ ВремТабл1";

Запрос.УстановитьПараметр("ТабЗнач",ТаблицаИсточник1);
Запрос.УстановитьПараметр("ТабЗнач1",ТаблицаИсточник2);
ИтоговаяТаблица = Запрос.Выполнить().Выгрузить();

2 comments:

  1. Эта процедура совсем не годится для больших циклов, где выборку надо "подлить" в Результат.
    Для больших циклов быстрее Метод Добавить и заполнение полей.

    ReplyDelete
    Replies
    1. Это быстрая процедура для объединения данных, для огромных массивов, необходима минимум доработок,а именно:
      1. Точно описать поля
      2. Сформировать используя индексы
      После этого ни какой метод добавить не сделает быстрее.

      Delete