|   |   | 
| 
 | Чудеса с СКД или "Поле не входит в группу". | ☑ | ||
|---|---|---|---|---|
| 0
    
        memogolik 18.11.16✎ 14:42 | 
        Написал отчет. Отладил в консоле отчетов. Все работает.
 Переношу в СКД. Ошибка: https://s.mail.ru/FMPS/x6nRPFZXW Даже не знаю в какую сторону копать. Заранее спасибо. Пытался делать отчет в базе копии. Тоже самое. Ошибка на строки: ВЫБРАТЬ ПЕРВЫЕ 10000 КОЛИЧЕСТВО(*) КАК Номер, ВТ4.Соглашение, ВТ4.Путевой, ВТ4.КодировкаДоставки ПОМЕСТИТЬ ВТ55 ИЗ ВТ4 КАК ВТ4, ВТ4 КАК ВТ41 ГДЕ ВТ4.КодировкаДоставки >= ВТ41.КодировкаДоставки СГРУППИРОВАТЬ ПО ВТ4.Соглашение, ВТ4.Путевой, ВТ4.КодировкаДоставки УПОРЯДОЧИТЬ ПО ВТ4.КодировкаДоставки Весь отчет: ВЫБРАТЬ АВЭКС_ЗаданияТрейдПойнт.Идентификатор, АВЭКС_ЗаданияТрейдПойнт.Соглашение, АВЭКС_АвтомобилиТрейдПойнт.ТранспортноеСредство, АВЭКС_АвтомобилиТрейдПойнт.НомерТелефона, АВЭКС_ЗаданияТрейдПойнт.Регистратор, АВЭКС_ЗаданияТрейдПойнт.Период, АВЭКС_ЗаданияТрейдПойнт.Статус ПОМЕСТИТЬ ВТ1 ИЗ РегистрНакопления.АВЭКС_ЗаданияТрейдПойнт КАК АВЭКС_ЗаданияТрейдПойнт ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АВЭКС_АвтомобилиТрейдПойнт КАК АВЭКС_АвтомобилиТрейдПойнт ПО АВЭКС_ЗаданияТрейдПойнт.Идентификатор = АВЭКС_АвтомобилиТрейдПойнт.ИдентификаторТрейдПойнт ГДЕ АВЭКС_АвтомобилиТрейдПойнт.Работает И АВЭКС_АвтомобилиТрейдПойнт.ТранспортноеСредство = &ТранспортноеСредство И АВЭКС_ЗаданияТрейдПойнт.Период МЕЖДУ &ДатаНачала И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ) И АВЭКС_ЗаданияТрейдПойнт.Активность И АВЭКС_ЗаданияТрейдПойнт.ТипЗадания = ЗНАЧЕНИЕ(Перечисление.Авэкс_ТипыЗаданийТрейдПойнт.d) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ ВТ1.Идентификатор, ВТ1.Соглашение, ВТ1.ТранспортноеСредство ПОМЕСТИТЬ ВТ2 ИЗ ВТ1 КАК ВТ1 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МАКСИМУМ(ВТ1.Регистратор.ДатаВремяРейсаФактС) КАК ВремяСтарта, МАКСИМУМ(ВТ1.Регистратор.ДатаВремяРейсаПланПо) КАК ВремяПрибытия, ВТ1.Регистратор ПОМЕСТИТЬ ДатаСтартаПрибытия ИЗ ВТ1 КАК ВТ1 ГДЕ ВТ1.Статус = 0 СГРУППИРОВАТЬ ПО ВТ1.Регистратор ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК КОЛИЧЕСТВО ПОМЕСТИТЬ К ИЗ ВТ2 КАК ВТ2 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ2.Идентификатор, ВТ2.Соглашение, ВТ2.ТранспортноеСредство, К.КОЛИЧЕСТВО ПОМЕСТИТЬ ВТ22 ИЗ ВТ2 КАК ВТ2 ВНУТРЕННЕЕ СОЕДИНЕНИЕ К КАК К ПО (ИСТИНА) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ22.Идентификатор, ВТ22.Соглашение, ВТ22.КОЛИЧЕСТВО, ВТ22.ТранспортноеСредство, ВТ1.Регистратор.Дата, ВТ1.Регистратор, ВТ1ПУТЕВОЙ.Регистратор КАК Путевой, ВЫБОР КОГДА ВТ1.Регистратор ССЫЛКА Документ.АВЭКС_ВыполнениеЗаданийТрейдПойнт ТОГДА ВТ1.Регистратор.ДокОснование.ДатаВремяРейсаФактС ИНАЧЕ NULL КОНЕЦ КАК ВремяСтарта, ВЫБОР КОГДА ВТ1.Регистратор ССЫЛКА Документ.АВЭКС_ВыполнениеЗаданийТрейдПойнт ТОГДА ВТ1.Регистратор.ДокОснование.ДатаВремяРейсаПланПо ИНАЧЕ NULL КОНЕЦ КАК ВремяПрибытия, Партнеры.КодировкаДоставки КАК КодировкаДоставки ПОМЕСТИТЬ ВТ3 ИЗ ВТ22 КАК ВТ22 ЛЕВОЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1 ПО (ВТ1.Идентификатор = ВТ22.Идентификатор) И (ВТ1.Соглашение = ВТ22.Соглашение) И (ВТ1.ТранспортноеСредство = ВТ22.ТранспортноеСредство) И (ВТ1.Статус = 1) ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры ПО ВТ22.Соглашение.Партнер = Партнеры.Ссылка ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1ПУТЕВОЙ ПО (ВТ1ПУТЕВОЙ.Идентификатор = ВТ22.Идентификатор) И (ВТ1ПУТЕВОЙ.Соглашение = ВТ22.Соглашение) И (ВТ1ПУТЕВОЙ.ТранспортноеСредство = ВТ22.ТранспортноеСредство) И (ВТ1ПУТЕВОЙ.Статус = 0) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ3.Соглашение, ВТ3.Путевой, ВТ3.КодировкаДоставки ПОМЕСТИТЬ ВТ4 ИЗ ВТ3 КАК ВТ3 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПЕРВЫЕ 10000 КОЛИЧЕСТВО(*) КАК Номер, ВТ4.Соглашение, ВТ4.Путевой, ВТ4.КодировкаДоставки ПОМЕСТИТЬ ВТ55 ИЗ ВТ4 КАК ВТ4, ВТ4 КАК ВТ41 ГДЕ ВТ4.КодировкаДоставки >= ВТ41.КодировкаДоставки СГРУППИРОВАТЬ ПО ВТ4.Соглашение, ВТ4.Путевой, ВТ4.КодировкаДоставки УПОРЯДОЧИТЬ ПО ВТ4.КодировкаДоставки ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ55.Номер, ВТ55.Соглашение, ВТ55.Путевой, ДатаСтартаПрибытия.ВремяСтарта, ДатаСтартаПрибытия.ВремяПрибытия ПОМЕСТИТЬ ВТ5 ИЗ ВТ55 КАК ВТ55 ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДатаСтартаПрибытия КАК ДатаСтартаПрибытия ПО ВТ55.Путевой = ДатаСтартаПрибытия.Регистратор ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ3.Идентификатор, ВТ3.Соглашение, ВТ3.КОЛИЧЕСТВО, ВТ3.ТранспортноеСредство, ВТ3.Регистратор, ВТ5.Путевой, ВТ3.КодировкаДоставки, ВТ5.Номер, ВТ5.ВремяСтарта, ВТ5.ВремяПрибытия, ВЫБОР КОГДА ВТ3.КОЛИЧЕСТВО <> 0 ТОГДА ДОБАВИТЬКДАТЕ(ВТ5.ВремяСтарта, СЕКУНДА, ВЫРАЗИТЬ(РАЗНОСТЬДАТ(ВТ5.ВремяСтарта, ВТ5.ВремяПрибытия, СЕКУНДА) / ВТ3.КОЛИЧЕСТВО * ВТ5.Номер КАК ЧИСЛО(15, 0))) ИНАЧЕ 0 КОНЕЦ КАК Шаг ПОМЕСТИТЬ ВТ6 ИЗ ВТ5 КАК ВТ5 ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ3 КАК ВТ3 ПО ВТ5.Соглашение = ВТ3.Соглашение И ВТ5.Путевой = ВТ3.Путевой ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ // ВТ6.Идентификатор, ВТ6.Соглашение, // ВТ6.КОЛИЧЕСТВО, ВТ6.ТранспортноеСредство, ВТ6.Регистратор, ВТ6.Путевой, ВТ6.КодировкаДоставки, ВТ6.Номер, ВТ6.ВремяСтарта, ВТ6.ВремяПрибытия, ВТ6.Шаг, ВЫБОР КОГДА ВТ6.Шаг<&ТекущаяДата ТОГДА ИСТИНА И ВЫБОР КОГДА ЕСТЬNULL(ВТ6.Регистратор,1)=1 ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ПРОСРОЧЕНО, &ТекущаяДата КАК ТекущаяДата ИЗ ВТ6 КАК ВТ6 УПОРЯДОЧИТЬ ПО ВТ6.Номер | |||
| 1
    
        Cyberhawk 18.11.16✎ 14:49 | 
        ИЗ
 ВТ4 КАК ВТ4, ВТ4 КАК ВТ41 | |||
| 2
    
        memogolik 18.11.16✎ 14:50 | 
        и в чем косяк?
 консоль запросов же обычная не ругается и выдает результат | |||
| 3
    
        kumena 18.11.16✎ 14:55 | 
        > и в чем косяк? 
 сначала расскажи нафига так вообще делеаешь? | |||
| 4
    
        memogolik 18.11.16✎ 15:02 | 
        (3) а какая разница?
 Отчет считает динамику выполнения плана развоза заказов водителем. | |||
| 5
    
        memogolik 18.11.16✎ 15:10 | 
        ап     | |||
| 6
    
        memogolik 18.11.16✎ 15:14 | 
        Часть кода на котором выскакивает ошибка делает нумерацию строк в таблице. 
 1. Магазин1 2. Магазин2. етц. | |||
| 7
    
        memogolik 18.11.16✎ 15:25 | 
        ап2     | |||
| 8
    
        memogolik 18.11.16✎ 15:44 | 
        хелп     | |||
| 9
    
        kumena 18.11.16✎ 15:45 | 
        > а какая разница? 
 да никакой - один и..т, а другой дразница! причину тебе русским языком вроде написана! а портянку твою лень разбирать, убирай по частям и сам увидишь место. | |||
| 10
    
        memogolik 18.11.16✎ 15:48 | 
        (9) дело не в портянке. В обычной консоле все же работает. Тут какая то фишка в Скд. И еще: нечего по существу сказать-  не засоряй эфир.     | |||
| 11
    
        memogolik 18.11.16✎ 16:26 | 
        Знатоки Скд ау)     | |||
| 12
    
        h-sp 18.11.16✎ 16:38 | 
        (11) поля какие выводишь в отчет? Если какие-то не выводишь, они удаляются из конечного запроса. В курсе?     | |||
| 13
    
        тарам пам пам 18.11.16✎ 16:43 | 
        Выдерни реально исполняемый запрос и его уже проверяй. Если лень руками выдергивать - то есть ИнструментыРазработчика, там консоль компоновок умеет это делать.     | |||
| 14
    
        memogolik 18.11.16✎ 16:50 | 
        (12) Спасибо!!!!!!!!!!!!!!!!
 (13) Можно поподробнее? Желательно ссылочку) | |||
| 15
    
        memogolik 18.11.16✎ 16:51 | 
        (13) разве консоль скд может временные таблицы выводить?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |