|   |   | 
| 
 | Запрос в запросе | ☑ | ||
|---|---|---|---|---|
| 0
    
        PitNN 26.04.12✎ 10:16 | 
        Добрый день, друзья.
  Подскажите с такой штукой, а то сам не могу придумать. Суть в следующем. Есть таблица ячейки которой содержат в себе инструкцию на языке запросов, например: "Выбор когда истина тогда 1 иначе 0 как Флаг,". Как можно и можно ли вообще внутри одного запроса получить эти инструкции и при этом чтобы они выполнились? | |||
| 1
    
        Ненавижу 1С гуру 26.04.12✎ 10:17 | 
        с помощью одного запроса склеить другой и выполнить его, можно     | |||
| 2
    
        butterbean 26.04.12✎ 10:17 | 
        типа запрос к тексту запроса?? не взлетит     | |||
| 3
    
        Maxus43 26.04.12✎ 10:20 | 
        динамически формировать текст запроса тока     | |||
| 4
    
        izekia 26.04.12✎ 10:21 | 
        (1) текст запроса как в запросе склеить?     | |||
| 5
    
        Ненавижу 1С гуру 26.04.12✎ 10:21 | 
        (4) зачем в запросе? обход результата запроса     | |||
| 6
    
        Wobland 26.04.12✎ 10:22 | 
        (4) запрос, рожающий запрос? оригинально     | |||
| 7
    
        skiller3000 26.04.12✎ 10:22 | 
        да, смотря  к чему идет обращение, если просто собрать в запросе, то склеить текст и обход по ячейкам     | |||
| 8
    
        izekia 26.04.12✎ 10:28 | 
        (5) в запросе его нет, он у выборки)
  (6) это к (0) мне такое не надо | |||
| 9
    
        Ненавижу 1С гуру 26.04.12✎ 10:31 | 
        (8) ты всё понял, хватит поясничать ))     | |||
| 10
    
        PitNN 26.04.12✎ 10:32 | 
        И как же его, простите, склеить?
  Что бы было более понятно опишу ситуацию. Есть таблицы "ТипыЦен" и "ПравилаРасчета" У таблицы ТипыЦен колонки: "НомерСтроки", "Цена1", "Цена2", "Цена3" У таблицы ПравилаРасчета колонки: "НомерСтроки", "Правило" Предположим вторая таблица содержит 2 строки: 1; "Выбор Когда ТипыЦен.Цена1 > ТипыЦен.Цена2 Тогда ТипыЦен.Цена1+ТипыЦен.Цена2 Иначе ТипыЦен.Цена3 КАК Результат" 2; "Выбор Когда ТипыЦен.Цена3 < 0 Тогда ТипыЦен.Цена1-ТипыЦен.Цена3 Иначе ТипыЦен.Цена2 КАК Результат" Как получить третью таблицу, которая будет содержать номер строки и результат расчета? | |||
| 11
    
        Ненавижу 1С гуру 26.04.12✎ 10:34 | 
        (10) ты сначала покажи как ты из этих данных сам без компьютера напишешь текст запроса     | |||
| 12
    
        butterbean 26.04.12✎ 10:34 | 
        (10) запросы в цикле по строкам     | |||
| 13
    
        izekia 26.04.12✎ 10:35 | 
        (9) да тема тупая, чем еще заняться?)     | |||
| 14
    
        izekia 26.04.12✎ 10:35 | 
        пойду поработаю     | |||
| 15
    
        PitNN 26.04.12✎ 10:38 | 
        (11) Не понял вопроса
  (12) В цикле это на крайний случай. Интересует можно ли получить результат одним запросом? | |||
| 16
    
        butterbean 26.04.12✎ 10:40 | 
        (15) текст запроса "внутри" запроса нельзя обработать, имхо конечно     | |||
| 17
    
        izekia 26.04.12✎ 10:44 | 
        в 1С это точно нельзя сделать в запросе и вообще подобный шаблон не для скл, как мне кажется     | |||
| 18
    
        Ненавижу 1С гуру 26.04.12✎ 10:45 | 
        (15) ок, в (10) ты показал данные, что ты хочешь получить в итоге на конкретных значениях?     | |||
| 19
    
        PitNN 26.04.12✎ 10:46 | 
        Ясно. Нельзя, значит. Всем спасибо     | |||
| 20
    
        PitNN 26.04.12✎ 10:50 | 
        (18) У тебя есть видение как это можно реализовать?
  ТипыЦен содержит: НомерСтроки;Цена1;Цена2;Цена3 1; 5; 7; 9; 2; 2; 8; -4; Результирующая таблица: НомерСтроки;Результат 1; 9; 2; -6; | |||
| 21
    
        PitNN 26.04.12✎ 10:51 | 
        (20) Ошибка. Вторая строка "6"     | |||
| 22
    
        Ненавижу 1С гуру 26.04.12✎ 10:52 | 
        (20) посмотрим, а почему для первой строки данных ты применил первую строку правил, а не вторую?     | |||
| 23
    
        Ненавижу 1С гуру 26.04.12✎ 10:52 | 
        +(22) а для второй второе?     | |||
| 24
    
        PitNN 26.04.12✎ 10:55 | 
        Потому что таблица "ПравилаРасчета" содержит колонку "НомерСтроки" по которой идет связь с таблицей цен     | |||
| 25
    
        Ненавижу 1С гуру 26.04.12✎ 11:07 | 
        (24) делаем запрос к таблице правил и строим следующую бешеную конструкцию:
  ВЫБОР КОГДА НомерСтроки=1 ТОГДА Выбор Когда ТипыЦен.Цена1 > ТипыЦен.Цена2 Тогда ТипыЦен.Цена1+ТипыЦен.Цена2 Иначе ТипыЦен.Цена3 КАК Результат //правило 1 строки КОГДА НомерСтроки=2 ТОГДА Выбор Когда ТипыЦен.Цена3 < 0 Тогда ТипыЦен.Цена1-ТипыЦен.Цена3 Иначе ТипыЦен.Цена2 КАК Результат ... КОНЕЦ КАК Результат натравливаем полученный текст запроса на таблицу ТипыЦен | |||
| 26
    
        PitNN 26.04.12✎ 11:27 | 
        спасибо за помощь     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |