|
Чудеса с СКД или "Поле не входит в группу". | ☑ | ||
---|---|---|---|---|
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) разве консоль скд может временные таблицы выводить?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |