Имя: Пароль:
1C
1С v8
Как добраться до значения строчки в запросе?
0 Мисти
 
21.12.13
21:31
ТекстЗапроса =     
    "ВЫБРАТЬ
    |    ЗаданиеНаПеревозкуРаспоряжения.Ссылка.ДатаВремяРейсаПланС КАК ДатаДоставки,
    |    ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Водитель КАК Водитель,
    |    ВЫБОР
    |        КОГДА ЗаданиеНаПеревозкуРаспоряжения.Ссылка.ЗонаДоставки = &ПустаяСсылка
    |            ТОГДА 3
    |        КОГДА ЗаданиеНаПеревозкуРаспоряжения.Ссылка.ЗонаДоставки.Наименование ПОДОБНО ""Самовывоз""
    |            ТОГДА 2
    |        ИНАЧЕ 3
    |    КОНЕЦ КАК Доставка,
    |    ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Склад КАК Склад,
    |    ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Вес,
    |    ЗаданиеНаПеревозкуРаспоряжения.Ссылка.М2,
    |    ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Партнер КАК Контрагент,
    |    ЗаданиеНаПеревозкуРаспоряжения.Распоряжение.Ссылка КАК Заявка,
    |    ЗаданиеНаПеревозкуРаспоряжения.Вес КАК ВесСтр,
    |    ЗаданиеНаПеревозкуРаспоряжения.М2 КАК М2Стр,
    |    ЗаданиеНаПеревозкуРаспоряжения.Ссылка КАК Заказ,
    |    ЗаданиеНаПеревозкуРаспоряжения.Ссылка.ЗонаДоставки КАК ЗонаДоставки,
    |ВЫРАЗИТЬ(ЗаданиеНаПеревозкуРаспоряжения.ДополнительнаяИнформация КАК СТРОКА(100)) КАК ДополнительнаяИнформация,    
    |    ЗаданиеНаПеревозкуРаспоряжения.Кос_ДопКомментарий КАК Кос_ДопКомментарий,
    |    ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Комментарий КАК Комментарий,
    |    ЗаданиеНаПеревозкуРаспоряжения.Распоряжение.ДополнительнаяИнформацияПоДоставке Как  ДополнительнаяИнформацияПоДоставке
    |ИЗ
    |    Документ.ЗаданиеНаПеревозку.Распоряжения КАК ЗаданиеНаПеревозкуРаспоряжения
    |ГДЕ
    |    ЗаданиеНаПеревозкуРаспоряжения.Ссылка.ДатаВремяРейсаПланС МЕЖДУ &ДатаНачДня И &ДатаКонДня
    |    И ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Проведен
    |    И ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон";
    ТекстЗапроса = ТекстЗапроса+ДопУсловияЗая;
    ТекстЗапроса =  ТекстЗапроса+ "
    
    |ИТОГИ
    |    СУММА(Вес),
    |    СУММА(М2),
    |    СУММА(ВесСтр),
    |    СУММА(М2Стр)
    |ПО
    |    Водитель,
    |    Склад,
    |    Заказ,
    |    ЗонаДоставки,
    |    Доставка,
    //|   ДополнительнаяИнформация,
    |    Заявка,
    |    Контрагент";
1 Мисти
 
21.12.13
21:32
Наверное, кривоватый у меня запрос, но всё более-менее работает, кроме одного - не находится
    |ВЫРАЗИТЬ(ЗаданиеНаПеревозкуРаспоряжения.ДополнительнаяИнформация КАК СТРОКА(100)) КАК ДополнительнаяИнформация,
2 Мисти
 
21.12.13
21:33
В результате запроса эти данные есть, но в процессе обхода по группировкам я обхожу их мимо.
3 Мисти
 
21.12.13
21:33
Заказ    ЗонаДоставки    ДополнительнаяИнформация    Кос_ДопКомментарий    Комментарий    ДополнительнаяИнформацияПоДоставке
                    
                    
Задание на перевозку 00-00000065 от 17.12.2013 17:51:40    M2 Ясенево (любой тоннаж)            "комментарий из задания"    
Задание на перевозку 00-00000065 от 17.12.2013 17:51:40    M2 Ясенево (любой тоннаж)            "комментарий из задания"    
Задание на перевозку 00-00000065 от 17.12.2013 17:51:40    M2 Ясенево (любой тоннаж)            "комментарий из задания"    
Задание на перевозку 00-00000065 от 17.12.2013 17:51:40    M2 Ясенево (любой тоннаж)            "комментарий из задания"    """Инф. из заказа клиента
"""
Задание на перевозку 00-00000065 от 17.12.2013 17:51:40    M2 Ясенево (любой тоннаж)            "комментарий из задания"    """Инф. из заказа клиента
"""
Задание на перевозку 00-00000065 от 17.12.2013 17:51:40    M2 Ясенево (любой тоннаж)    "комментарий из строчки"    """Инф. из заказа клиента
"""    "комментарий из задания"    """Инф. из заказа клиента
"""
4 Мисти
 
21.12.13
21:34
Кривовато видно - это результат запроса. "Комментарий из строчки" - только один раз, и туда я не попадаю.
5 Salimbek
 
21.12.13
21:36
(2) Поток сознания твой непонятен мне.
(4) А как ты туда хочешь попасть? Много кода вокруг приведено, пример выборки вот привел, а именно это, почему-то скрываешь.
6 Мисти
 
21.12.13
21:39
Обход у меня такой -
    Груп1 = Груп.Получить(0).Значение.Значение;
    Выборка1 =     Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, Груп1);
    Пока Выборка1.Следующий() Цикл
И т.д.
Вложенность - до 5 в разных вариантах.
7 Мисти
 
21.12.13
21:40
Груп2 = Груп.Получить(1).Значение.Значение;
            Выборка2 =     Выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, Груп2);
Пока Выборка2.Следующий() Цикл
8 Пеппи
 
21.12.13
21:41
(0) а зачем закомментировала строку?
9 Salimbek
 
21.12.13
21:42
(6) Что мешает тут: "Груп1 = Груп.Получить(0).Значение.Значение;" поставить точку останова, и посмотреть, что же у тебя там в выборке? Ну и далее, на любом нужном уровне...
10 Мисти
 
21.12.13
21:43
Ну вот предположим, Груп1 - "Заказ", Груп2 - "Заявка",
Количества суммируются, "Инф. из заказа клиента" находится, а для того, чтобы вытащить  "комментарий из строчки" - видимо, нужно спуститься еще ниже, а я не понимаю, как.
(9)Ничего не мешает! Там нет нужного значения!
11 Мисти
 
21.12.13
21:44
Комментприй из строчки - это значение, которое видно в таблице в отладчике.
Оно называется
ЗаданиеНаПеревозкуРаспоряжения.ДополнительнаяИнформация КАК СТРОКА(100)) КАК ДополнительнаяИнформация
12 Salimbek
 
21.12.13
21:54
(11) И что должно быть в этой колонке на уровне "итогов"? Попробуй, хотя бы, поставить:
"
    |ИТОГИ
    |    СУММА(Вес),
    |    МИНИМУМ(ДополнительнаяИнформация),
"
13 Пеппи
 
21.12.13
21:54
у тебя 5 или 6 группировок ?
14 Мисти
 
21.12.13
21:58
У меня до 5 группировок.
15 Мисти
 
21.12.13
22:01
(12) Это очень похоже на правду!
16 Мисти
 
21.12.13
22:19
Ура! Это оно. Спасибо!
Независимо от того, куда вы едете — это в гору и против ветра!