|   |   | 
| 
 | v7: "вечный" цикл при выборке из запроса :) | ☑ | ||
|---|---|---|---|---|
| 0
    
        palpetrovich 20.03.15✎ 14:58 | 
        кодик:
 Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2, -1) = 1 Цикл Прервать; КонецЦикла; КонецЦикла; мне из второй выборки нужно только одно, последнее по упорядочиванию, значение - вроде все логично, получил - прервал, ан нет, низзя тут так оказывается что можно сделать для реализации сабжа делать? | |||
| 1
    
        IVT_2009 20.03.15✎ 14:59 | 
        может выгрузить в ТЗ и взять это последнее значение?     | |||
| 2
    
        palpetrovich 20.03.15✎ 15:02 | 
        (1)  это понятно, непонятно почему так с выборкой получается
 зы: без "Прервать;" - все отрабатывает как надо | |||
| 3
    
        Медведик 20.03.15✎ 15:04 | 
        (2) Заведи переменную-флаг, как нашел нужное значение - флаг сбросил и целевой код пусть по "Если Флаг = 1" пропускается.
 Топорно, но работать будет. | |||
| 4
    
        palpetrovich 20.03.15✎ 15:07 | 
        (3) ну, примерно так сделал
 Пока Запрос.Группировка(1) = 1 Цикл ПечДок = ""; Пока Запрос.Группировка(2, -1) = 1 Цикл Если ПечДок = "" Тогда ПечДок = Запрос.Док; КонецЕсли; КонецЦикла; Сообщить(""+Запрос.Товар+" "+ПечДок+" Цена= "+ПечЦена); КонецЦикла; | |||
| 5
    
        Lazy Stranger 20.03.15✎ 15:13 | 
        а если внутреннюю выборку не обходить целиком? 
 Пока Запрос.Группировка(1) = 1 Цикл ПечДок = ""; Если Запрос.Группировка(2, -1) = 1 тогда ПечДок = Запрос.Док; КонецЕсли; Сообщить(""+Запрос.Товар+" "+ПечДок+" Цена= "+ПечЦена); КонецЦикла; | |||
| 6
    
        Злопчинский 20.03.15✎ 15:13 | 
        боже, какая мутная хрень.
 воспользуйтесь классическим гоуту если другое не подходит | |||
| 7
    
        Lazy Stranger 20.03.15✎ 15:14 | 
        но вообще-то, емнип, "прервать" в конструкции из (0) вроде работало     | |||
| 8
    
        palpetrovich 20.03.15✎ 15:18 | 
        (5) "Если" я пробовал  изначально, конструкция "цикл+прервать" - уже потом, по результату с вечным циклом..     | |||
| 9
    
        palpetrovich 20.03.15✎ 15:21 | 
        (7) так работает 
 Пока Запрос.Группировка(2) = 1 Цикл так не работает Пока Запрос.Группировка(2, -1) = 1 Цикл | |||
| 10
    
        WebberNSK 20.03.15✎ 15:32 | 
        (0) запросом получай сразу что нужно
 нафига так писать код | |||
| 11
    
        palpetrovich 20.03.15✎ 15:40 | 
        (10) научи пожалуйста, в результате нужна плоская табличка со структурой строк:
 Товар-Поставщик-ПоследнийПриходныйДокумент-ЦенаПрихода-ОстатокНаСкладах | |||
| 12
    
        palpetrovich 20.03.15✎ 15:57 | 
        (10) время вышло - ты балабол :)     | |||
| 13
    
        Torquader 20.03.15✎ 16:34 | 
        А что получается в запросе ?
 Может быть, там вообще всё кардинально нужно переделывать, чем перебирать весь результат, чтобы увидеть конец ? | |||
| 14
    
        Злопчинский 20.03.15✎ 17:33 | 
        (8) Прервать прерывает внешний цикл ближайший, а не все внешние..     | |||
| 15
    
        Злопчинский 20.03.15✎ 17:35 | 
        (11) можно попробовать, но геморно будет - придется тянуть из регистра партий, а в партиях у пиплов обычно бардак     | |||
| 16
    
        Злопчинский 20.03.15✎ 17:36 | 
        Можно взять регистр остатки на складах, склеить с Справочник.Партии (если ВЕДЕТСЯ ПАРТИОННЫЙ УЧЕТ) - взять последний элемент спр.партии для тек.номенклатуры - из него вытащить прих.документ и цену     | |||
| 17
    
        palpetrovich 20.03.15✎ 17:53 | 
        (14) естествеено :)
 (16) справочника партии нет, из регистра Партии, - прихДок, если он не в выбранном периоде, взять неоткуда, поэтому я "склеил" запрос к регистру остатков с запросом по документам. В общем костыль из (4) работает и, пока, этого хватает | |||
| 18
    
        Ёпрст гуру 20.03.15✎ 18:06 | 
        (0)
 забудь про метод -1 в группировке, он всегда так криво работал делай упоряддочивание в самом запросе. | |||
| 19
    
        Ёпрст гуру 20.03.15✎ 18:40 | 
        (11) по какому полю нужна сортировка по-убыванию?     | |||
| 20
    
        Ёпрст гуру 20.03.15✎ 18:41 | 
        всё в чорном запросе можно слепить, почти вссё.     | |||
| 21
    
        palpetrovich 20.03.15✎ 18:56 | 
        (19) |Группировка Док Упорядочить по Док.ДатаДок;     | |||
| 22
    
        Ёпрст гуру 20.03.15✎ 19:29 | 
        (21) 
 это же элементарно, ватсон | |||
| 23
    
        Ёпрст гуру 20.03.15✎ 19:31 | 
        Функция Вася = Сумма (Число(КонДата-ДатаДок));
 ... Группировка Док УпорядочитьПО Вася; | |||
| 24
    
        palpetrovich 21.03.15✎ 10:47 | 
        (23) прикольно, спасибо :)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |