Добрый день, есть крупный запрос на редактирование которого просто нет времени, принято решение изменить его программно...
все что сверху менять нельзя , но при этом известно что если условия истина то нужно изменить строку выборки
как можно реализовать ?
выбор.ссылка.получитьобъект().найти(условие,"столбец") не получилось ,
выбор.получитьобъект().найти(условие,"столбец") не получилось
Может есть у кого то мысли ?
выбор = запрос.выполнить().выбрать();
пока выбор. следующий() цикл
конеццикла
все что сверху менять нельзя , но при этом известно что если условия истина то нужно изменить строку выборки
как можно реализовать ?
выбор.ссылка.получитьобъект().найти(условие,"столбец") не получилось ,
выбор.получитьобъект().найти(условие,"столбец") не получилось
Может есть у кого то мысли ?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вместо запрос.выполнить().выбрать();
сделайте запрос.выполнить().Выгрузить();
Получится таблица значений, делайте с ней всё что хотите, в т.ч. поиск по отборам и всё остальное.
Редактировать результат запроса, насколько я знаю, нельзя.
сделайте запрос.выполнить().Выгрузить();
Получится таблица значений, делайте с ней всё что хотите, в т.ч. поиск по отборам и всё остальное.
Редактировать результат запроса, насколько я знаю, нельзя.
Пока выбор.Следующий() Цикл
Если выбор.столбец = условие Тогда
ДелайПравду(выбор);
Иначе
ДелайЛожь(выбор);
КонецЕсли;
КонецЦикла;
А зачем ещё раз выбирать?
Последующий код будет с ТЗ работать так же как и с выбранной строкой.
Просто обход строк ТЗ сделай со старыми именами:
Для каждого Выбор из Тз Цикл
КонцЦикла;
Последующий код будет с ТЗ работать так же как и с выбранной строкой.
Просто обход строк ТЗ сделай со старыми именами:
Для каждого Выбор из Тз Цикл
КонцЦикла;
(11)
Пока что похоже самый лучший вариант, но опять же но что обход выполняется в функции в которую передается выборка , причем не в единственную функцию ....
дующий код будет с ТЗ работать так же как и с выбранной строкой.
Просто обход строк ТЗ сделай со старыми именами:
Для каждого Выбор из Тз Цикл
КонцЦикла;
Просто обход строк ТЗ сделай со старыми именами:
Для каждого Выбор из Тз Цикл
КонцЦикла;
Пока что похоже самый лучший вариант, но опять же но что обход выполняется в функции в которую передается выборка , причем не в единственную функцию ....
Лови костыль )
);
Таблица = Запрос.Выполнить().Выгрузить();
ИтоговаяТаблица = Таблица.СкопироватьКолонки();
Для Каждого СтрокаТаблицы Из Таблица Цикл
Если СтрокаСоответствуетУсловию(СтрокаТаблицы) Тогда
ЗаполнитьЗначенияСвойств(ИтоговаяТаблица.Добавить(), СтрокаТаблицы);
КонецЕсли;
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| *
|ПОМЕСТИТЬ ВТ
|ИЗ
| &Таблица КАК Таблица
|;
|
|ВЫБРАТЬ
| *
|ИЗ
| ВТ КАК ВТ";
Запрос.УстановитьПараметр("Таблица", ИтоговаяТаблица);
выбор = Запрос.Выполнить().Выбрать(
Показать
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот