|
Почему этот запрос в консоли задач выполняется правильно, а в СКД - неправильно? | ☑ | ||
---|---|---|---|---|
0
dust09
15.12.16
✎
01:04
|
Подскажите, пожалуйста, возможные причины:
Почему этот запрос в консоли задач выполняется правильно, а в окончательном виде в СКД - неправильно (по другому)? (Конфигурация - Комплексная Автоматизация 1.1.72.1, сильно нетиповая, много изменений) ВЫБРАТЬ ПринятыеКонтракты.КонтрагентВКонтракте КАК ФИО, ПринятыеКонтракты.КонтрактныйНомер КАК КонтрактныйНомер, ПринятыеКонтракты.ДатаПринятия КАК ДатаКонтракта, ПринятыеКонтракты.Регистратор КАК ПринятиеКонтрактов, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ 1) КАК Поле1, ПринятыеКонтракты.ПриходЗаТоварЧерезКассу ПОМЕСТИТЬ Табл ИЗ РегистрСведений.ПринятыеКонтракты КАК ПринятыеКонтракты СГРУППИРОВАТЬ ПО ПринятыеКонтракты.Регистратор, ПринятыеКонтракты.ДатаПринятия, ПринятыеКонтракты.КонтрагентВКонтракте, ПринятыеКонтракты.КонтрактныйНомер, ПринятыеКонтракты.ПриходЗаТоварЧерезКассу ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СУММА(Табл.Поле1) КАК K1, Табл.ПриходЗаТоварЧерезКассу ПОМЕСТИТЬ ВТ_Коэффициенты1 ИЗ Табл КАК Табл СГРУППИРОВАТЬ ПО Табл.ПриходЗаТоварЧерезКассу ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПринятыеКонтракты.КонтрагентВКонтракте КАК ФИО, ПринятыеКонтракты.КонтрактныйНомер КАК КонтрактныйНомер, ПринятыеКонтракты.ДатаПринятия КАК ДатаКонтракта, ПринятыеКонтракты.Регистратор КАК ПринятиеКонтрактов, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ 1) КАК Поле1, ПринятыеКонтракты.ПриходЗаТоварЧерезКассу ПОМЕСТИТЬ Табл2 ИЗ РегистрСведений.ПринятыеКонтракты КАК ПринятыеКонтракты ГДЕ ПринятыеКонтракты.ДатаПринятия МЕЖДУ НАЧАЛОПЕРИОДА(&НачПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонПериода, ДЕНЬ) СГРУППИРОВАТЬ ПО ПринятыеКонтракты.Регистратор, ПринятыеКонтракты.ДатаПринятия, ПринятыеКонтракты.КонтрагентВКонтракте, ПринятыеКонтракты.КонтрактныйНомер, ПринятыеКонтракты.ПриходЗаТоварЧерезКассу ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СУММА(Табл2.Поле1) КАК K2, Табл2.ПриходЗаТоварЧерезКассу ПОМЕСТИТЬ ВТ_Коэффициенты2 ИЗ Табл2 КАК Табл2 СГРУППИРОВАТЬ ПО Табл2.ПриходЗаТоварЧерезКассу ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Коэффициенты1.ПриходЗаТоварЧерезКассу, ВТ_Коэффициенты1.K1 / ВТ_Коэффициенты2.K2 КАК Коэф ПОМЕСТИТЬ ВТ_Коэфф ИЗ ВТ_Коэффициенты1 КАК ВТ_Коэффициенты1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Коэффициенты2 КАК ВТ_Коэффициенты2 ПО ВТ_Коэффициенты1.ПриходЗаТоварЧерезКассу = ВТ_Коэффициенты2.ПриходЗаТоварЧерезКассу ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПринятыеКонтракты.КонтрагентВКонтракте КАК ФИО, ПринятыеКонтракты.КонтрактныйНомер КАК КонтрактныйНомер, ПринятыеКонтракты.ДатаПринятия КАК ДатаКонтракта, ПринятыеКонтракты.Регистратор КАК ПринятиеКонтрактов, ПринятыеКонтракты.ПриходЗаТоварЧерезКассу КАК ПриходЗаТоварЧерезКассу, ПринятыеКонтракты.НоменклатурнаяГруппа, ВТ_Коэфф.Коэф ПОМЕСТИТЬ ВТ_ПринятыеКонтракты ИЗ РегистрСведений.ПринятыеКонтракты КАК ПринятыеКонтракты ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Коэфф КАК ВТ_Коэфф ПО ПринятыеКонтракты.ПриходЗаТоварЧерезКассу = ВТ_Коэфф.ПриходЗаТоварЧерезКассу ГДЕ ПринятыеКонтракты.ДатаПринятия МЕЖДУ НАЧАЛОПЕРИОДА(&НачПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонПериода, ДЕНЬ) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МАКСИМУМ(ВТ_ПринятыеКонтракты.Коэф) КАК Коэф, ПТК_РП.Ссылка КАК Регистратор, ВЫРАЗИТЬ(ПТК_РП.Ссылка.Контрагент КАК Справочник.Контрагенты) КАК Контрагент, МАКСИМУМ(ПТК_РП.СуммаБанк / ВТ_ПринятыеКонтракты.Коэф) КАК СуммаБанк, МАКСИМУМ(ПТК_РП.СуммаВзаиморасчетов / ВТ_ПринятыеКонтракты.Коэф) КАК СуммаВзаиморасчетов, МАКСИМУМ(ПТК_РП.СуммаДокументы / ВТ_ПринятыеКонтракты.Коэф) КАК СуммаДокументы, МАКСИМУМ(ПТК_РП.СуммаПлатежа / ВТ_ПринятыеКонтракты.Коэф) КАК СуммаПлатежа, МАКСИМУМ(ПТК_РП.СуммаПТК / ВТ_ПринятыеКонтракты.Коэф) КАК СуммаПТК, МАКСИМУМ(ПТК_РП.СуммаПлатежаБонусами / ВТ_ПринятыеКонтракты.Коэф) КАК СуммаПлатежаБонусамиВсего, МАКСИМУМ(ПТК_РП.СуммаПлатежаКартой / ВТ_ПринятыеКонтракты.Коэф) КАК СуммаПлатежаКартой, МАКСИМУМ(ПТК_РП.СуммаСтроки / ВТ_ПринятыеКонтракты.Коэф) КАК СуммаСтроки, ПТК_РП.Ссылка.Ответственный КАК Ответственный, СУММА(0) КАК КонтрактовОплачено, СУММА(0) КАК КонтрактовПринято, ВТ_ПринятыеКонтракты.НоменклатурнаяГруппа ПОМЕСТИТЬ ВТ_ПТКК ИЗ Документ.ПриходЗаТоварЧерезКассу.РасшифровкаПлатежа КАК ПТК_РП ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ПринятыеКонтракты КАК ВТ_ПринятыеКонтракты ПО ПТК_РП.Ссылка = ВТ_ПринятыеКонтракты.ПриходЗаТоварЧерезКассу ГДЕ ПТК_РП.Ссылка.Проведен И ПТК_РП.Ссылка.Дата МЕЖДУ НЕОПРЕДЕЛЕНО И НАЧАЛОПЕРИОДА(&НачПериода, ДЕНЬ) СГРУППИРОВАТЬ ПО ПТК_РП.Ссылка, ВТ_ПринятыеКонтракты.НоменклатурнаяГруппа, ВЫРАЗИТЬ(ПТК_РП.Ссылка.Контрагент КАК Справочник.Контрагенты), ПТК_РП.Ссылка.Ответственный ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ ВТ_ПТКК.Регистратор, ВЫБОР КОГДА ПТК_РБ.СуммаЧека = 6000 ТОГДА ПТК_РБ.СуммаЗачета ИНАЧЕ 0 КОНЕЦ КАК СуммаПлатежаБонусами6000, ВЫБОР КОГДА ПТК_РБ.СуммаЧека <> 6000 ТОГДА ПТК_РБ.СуммаЗачета ИНАЧЕ 0 КОНЕЦ КАК СуммаПлатежаБонусамиПрочие, ВТ_ПТКК.Ответственный, ВТ_ПТКК.Контрагент, ПТК_РБ.НомерЧека ПОМЕСТИТЬ ВТ_Бонусы ИЗ ВТ_ПТКК КАК ВТ_ПТКК ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходЗаТоварЧерезКассу.РасшифровкаБонусов КАК ПТК_РБ ПО ВТ_ПТКК.Регистратор = ПТК_РБ.Ссылка ГДЕ ВТ_ПТКК.Регистратор ССЫЛКА Документ.ПриходЗаТоварЧерезКассу ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Бонусы.Регистратор, СУММА(ВТ_Бонусы.СуммаПлатежаБонусами6000) КАК СуммаПлатежаБонусами6000, СУММА(ВТ_Бонусы.СуммаПлатежаБонусамиПрочие) КАК СуммаПлатежаБонусамиПрочие, ВТ_Бонусы.Ответственный, ВТ_Бонусы.Контрагент, ВТ_Бонусы.НомерЧека ПОМЕСТИТЬ ВТ_Бонусы_ГР ИЗ ВТ_Бонусы КАК ВТ_Бонусы ГДЕ (ВТ_Бонусы.СуммаПлатежаБонусами6000 <> 0 ИЛИ ВТ_Бонусы.СуммаПлатежаБонусамиПрочие <> 0) СГРУППИРОВАТЬ ПО ВТ_Бонусы.Регистратор, ВТ_Бонусы.Ответственный, ВТ_Бонусы.Контрагент, ВТ_Бонусы.НомерЧека ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВТ_Бонусы ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ -1 КАК ПериодДанных, ВТ_ПТКК.Регистратор, ВТ_ПТКК.Контрагент, ВТ_ПТКК.СуммаБанк КАК СуммБанк, ВТ_ПТКК.СуммаВзаиморасчетов КАК СуммВзаиморасчетов, ВТ_ПТКК.СуммаДокументы КАК СуммДокументы, ВТ_ПТКК.СуммаПлатежа КАК СуммПлатежа, ВТ_ПТКК.СуммаПТК КАК СуммПТК, 0 КАК СуммаПлатежаБонусами6000, 0 КАК СуммаПлатежаБонусамиПрочие, ВТ_ПТКК.СуммаПлатежаБонусамиВсего КАК СуммПлатежаБонусамиВсего, ВТ_ПТКК.СуммаПлатежаКартой КАК СуммПлатежаКартой, ВТ_ПТКК.Ответственный, ВТ_ПТКК.КонтрактовОплачено, ВТ_ПТКК.КонтрактовПринято, ВТ_ПТКК.СуммаСтроки КАК СуммВсего, ВТ_ПТКК.НоменклатурнаяГруппа, ВТ_ПТКК.Коэф ИЗ ВТ_ПТКК КАК ВТ_ПТКК |
|||
1
dust09
15.12.16
✎
01:22
|
(0) "в окончательном виде в СКД - неправильно (по другому)"
Здесь имеется ввиду: при выводе на экран отчёта по контрактам в окончательном виде. |
|||
2
vicof
15.12.16
✎
02:17
|
При такой формулировке вопроса: потому что консоль и СКД - разные вещи.
|
|||
3
VladZ
15.12.16
✎
06:29
|
(1) А в каком виде выводишь в СКД? Может у тебя там "в шахматном порядке по диагонали". И критерии правильности озвучь.
|
|||
4
catena
15.12.16
✎
06:34
|
Вытащить из СКД результирующий запрос и сравнить с исходным.
|
|||
5
Курцвейл
15.12.16
✎
06:46
|
Потому что &НачПериода вместо ({&НачПериода})
|
|||
6
d546
15.12.16
✎
08:35
|
||||
7
dust09
15.12.16
✎
10:22
|
(4) А как это "Вытащить из СКД результирующий запрос" ?
|
|||
8
dust09
15.12.16
✎
10:23
|
(5) Извините, а это в какой строке запроса Вы заметили ошибку?
|
|||
9
Вафель
15.12.16
✎
10:26
|
Автозаполнение?
|
|||
10
Homer
15.12.16
✎
10:28
|
А чего тут думать. В (4) уже дали правильный ответ!
|
|||
11
d546
15.12.16
✎
10:28
|
||||
12
PLUT
15.12.16
✎
10:29
|
(0) потому что у СКД есть мозг, и она херит всё ненужное
|
|||
13
catena
15.12.16
✎
10:55
|
(7)Проще всего какой-нибудь консолью из (6) или (11)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |