Много запросов для пересчета колонки временной таблицы
Мне нужно было изменить значения в колонке во временной таблице. В принципе, можно было выгрузить в таблицу значений, обработать и загрузить обратно.
Но я выбрал путь обработки на языке запросов.
Получилось немного длинно но верно:
Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | ВЫБОР | КОГДА Т.Номенклатура.дрмк_Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) | ТОГДА Т.Склад | ИНАЧЕ Т.Номенклатура.дрмк_Склад | КОНЕЦ КАК Склад, * |ПОМЕСТИТЬ доп_ТоварыРозничныхПродаж |ИЗ | ТоварыРозничныхПродаж КАК Т |; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ ТоварыРозничныхПродаж |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Т.* |ПОМЕСТИТЬ ТоварыРозничныхПродаж |ИЗ | доп_ТоварыРозничныхПродаж КАК Т; |УНИЧТОЖИТЬ доп_ТоварыРозничныхПродаж"; Запрос.Выполнить();
Обратите внимание на использование звездочек для выбора всех полей. Остается одно лишнее поле Склад1, но в целом работает верно. Почему то в первом случае нельзя использовать Т.*, только *.
Жаль, что в языке 1С мало операций для манипуляций с временными таблицами.
