Имя: Пароль:
1C
1С v8
Изменить результат запроса
0 altfin
 
21.04.15
21:35
Добрый вечер.

Запрос выполняется: РезультатЗапроса = Запрос.Выполнить();
Если бы шла выгрузка в таблицу значений не было бы вопросов.

Можно ли как-то взять и обработать результат запроса и потом обратно затолкать его чтобы можно было дальше спокойно перебирать?

В процессе переборки подменять значение не вариант, так как результат запроса вызывается из многих мест программы.
1 RomaH
 
naïve
21.04.15
21:37
например?
зачем?
2 ДенисЧ
 
21.04.15
21:37
в запросе всё добро выгрузи в ВТ, там поменяй (переносом в другую ВТ), и из последней выбирай.
3 WebberNSK
 
21.04.15
21:40
(1) видимо запрос не получается написать такой, чтобы он правильный результат вернул...
4 altfin
 
21.04.15
21:41
(2) Учет НДС, постоянно меняется запрос, и неохота при каждом обновлении высиживать нужный результат (2 обновления - 2 раза меняли, каждый раз править запрос накладно)

(3) без изменения запроса никак?

может есть какие-то уже функции которые сожрут результат и выдадут в таком же виде
5 RomaH
 
naïve
21.04.15
21:43
результат.выгрузить
запрос.установитьпараметр("ТЗ",ТЗ)
6 RomaH
 
naïve
21.04.15
21:43
чем не устраивает выгрузка в тз?
7 altfin
 
21.04.15
21:43
(1) результат запроса возвращается в несколько мест, поэтому такой вопрос и возник

если бы только в одном месте не было бы вопроса
8 altfin
 
21.04.15
21:44
тз не то же самое что и результат запроса (итоги, группировки)
9 RomaH
 
naïve
21.04.15
21:46
переведу - ТЗ можно передать в запрос в виде параметра
т.е.
запрос - ТЗ - запрос - это твой случай
10 altfin
 
21.04.15
21:50
(9) в принципе наверно можно попробовать
11 shuhard_серый
 
21.04.15
21:50
(4)[Учет НДС, постоянно меняется запрос, и неохота при каждом обновлении высиживать нужный результат]
сделай свой общий модуль и вызывай из него,
зачем запрос то насиловать ?
12 WebberNSK
 
21.04.15
21:58
(4) а если что то поменяется так, что твой алгоритм "вкурит" изменения, но результат будет выдавать не правильный?

я бы такие вещи при обновлении отслеживал и изучал/дорабатывал
13 WebberNSK
 
21.04.15
21:59
а так...
1) результат запроса выгрузить в ТЗ,
2) уничтожить временную таблицу,
3) обработать,
4) поместить во временную таблицу

только памяти это много будет есть и гонять данные будешь между серверами
14 altfin
 
21.04.15
22:22
|УПОРЯДОЧИТЬ ПО
    |    ДатаПринятияНаУчет,
    |    ДатаОплаты
    |ИТОГИ
    |    МАКСИМУМ(Продавец),
    |    МАКСИМУМ(Контрагент),
    |    МИНИМУМ(ДатаОплаты),
    |    МАКСИМУМ(ДатаОприходования),
    |    МАКСИМУМ(ДатаПринятияНаУчет),
    |    МАКСИМУМ(НаАванс),
    |    ВЫБОР
    |        КОГДА &ПравилаПостановления735
    |            ТОГДА МАКСИМУМ(ВсегоПокупок)
    |        ИНАЧЕ СУММА(ВсегоПокупок)
    |    КОНЕЦ КАК ВсегоПокупок,
    |    СУММА(СуммаБезНДС20),
    |    СУММА(НДС20),
    |    СУММА(СуммаБезНДС18),
    |    СУММА(НДС18),
    |    СУММА(СуммаБезНДС10),
    |    СУММА(НДС10),
    |    СУММА(НДС0),
    |    СУММА(СуммаСовсемБезНДС),
    |    МАКСИМУМ(СводныйКорректировочный),
    |    СУММА(НДС),
    |    МАКСИМУМ(НомерДокументаОплаты),
    |    МАКСИМУМ(ДатаДокументаОплаты)
    |ПО
    |    ОБЩИЕ,
    |    СчетФактураДокумент,
    |    КодВидаОперации,
    |    ИсправленныйСчетФактура,
    |    Исправление";

Не уверен что через ТЗ можно это прогнать.

Заменю наверно кусочек кода через СтрЗаменить.Пойдет пока, лучше чем запрос менять.
15 ILM
 
гуру
22.04.15
21:13
Сделай обертку на вызов модуля, и получай в нем запрос, а уже с запросом делай что хочешь.
AdBlock убивает бесплатный контент. 1Сергей