|
Помогите в запросе навести порядок :) | ☑ | ||
---|---|---|---|---|
0
b-dm
20.09.13
✎
13:52
|
Есть запрос, там полное соединение регистра накопления и проводок по регистру бух.хозрасчетному. Как можно сделать так, чтобы выводились записи по отсортированные по дате ? Ниже запрос:
ВЫБРАТЬ | ХозрасчетныйДвиженияССубконто.Регистратор.Контрагент, | СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма, | ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.МоментВремени КАК МоментВремениПроводки |ПОМЕСТИТЬ Проводки |ИЗ | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ДатаНач, &ДатаКон, СчетКт = &Счет, , ) КАК ХозрасчетныйДвиженияССубконто | |СГРУППИРОВАТЬ ПО | ХозрасчетныйДвиженияССубконто.Регистратор.Контрагент, | ХозрасчетныйДвиженияССубконто.Регистратор, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.МоментВремени |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НДСЗаписиКнигиПродажОбороты.Покупатель, | НДСЗаписиКнигиПродажОбороты.Регистратор, | СУММА(НДСЗаписиКнигиПродажОбороты.НДСОборот) КАК НДСОборот, | НДСЗаписиКнигиПродажОбороты.Период, | НДСЗаписиКнигиПродажОбороты.ДатаСобытия КАК ДатаСобытияПродажи |ПОМЕСТИТЬ Регистры |ИЗ | РегистрНакопления.НДСЗаписиКнигиПродаж.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК НДСЗаписиКнигиПродажОбороты |ГДЕ | НДСЗаписиКнигиПродажОбороты.ЗаписьДополнительногоЛиста = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | НДСЗаписиКнигиПродажОбороты.Покупатель, | НДСЗаписиКнигиПродажОбороты.Регистратор, | НДСЗаписиКнигиПродажОбороты.Период, | НДСЗаписиКнигиПродажОбороты.ДатаСобытия |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Проводки.РегистраторКонтрагент КАК КонтрагентПроводки, | ЕСТЬNULL(Проводки.Регистратор, ""отсутствуют проводки"") КАК ДокументПроводки, | ЕСТЬNULL(Проводки.Сумма, 0) КАК СуммаПроводки, | Регистры.Покупатель КАК КонтрагентКнига, | ЕСТЬNULL(Регистры.Регистратор, ""отсутствуют в книге продаж"") КАК ДокументКнига, | Регистры.НДСОборот КАК СуммаКнига, | ЕСТЬNULL(Проводки.Сумма, 0) - ЕСТЬNULL(Регистры.НДСОборот, 0) КАК Разница, | Проводки.МоментВремениПроводки, | Регистры.ДатаСобытияПродажи КАК ДатаСобытияПродажи |ИЗ | Регистры КАК Регистры | ПОЛНОЕ СОЕДИНЕНИЕ Проводки КАК Проводки | ПО (Проводки.Регистратор = Регистры.Регистратор)"; Если ТолькоРасхождения Тогда Запрос.Текст = Запрос.Текст + "ГДЕ | ЕСТЬNULL(Проводки.Сумма, 0) - ЕСТЬNULL(Регистры.НДСОборот, 0) <> 0 |
|||
1
Buster007
20.09.13
✎
13:54
|
упорядочить
|
|||
2
b-dm
20.09.13
✎
13:58
|
(1) куда надо вставить ? хочу упорядочить по моменту времени или по датедокумента, ну то есть по датам. На какую закладку или в какой конкретно куусок кода вставлять ?
|
|||
3
Жан Пердежон
20.09.13
✎
14:01
|
(2) чем ты занимался 2 года 7 месяцев 11 дней?
|
|||
4
b-dm
20.09.13
✎
14:04
|
(3) по сути есть что сказать ? 7-кой занимался, устроит ?
|
|||
5
Тоненький Клиент
20.09.13
✎
14:06
|
||||
6
Cyberhawk
20.09.13
✎
14:08
|
"ГДЕ
| НДСЗаписиКнигиПродажОбороты.ЗаписьДополнительногоЛиста = ЛОЖЬ" в параметр ВТ Обороты не засовывается? |
|||
7
b-dm
20.09.13
✎
14:12
|
(5) там написано только партнерам продавать будут или я что то не понял ?
|
|||
8
b-dm
20.09.13
✎
14:12
|
(6) может и засовывается, надо поробовать, но мне не это надо :) надо чтобы по дате выводились записи, хочу их отсортировать, как это можно сделать ?
|
|||
9
Cyberhawk
20.09.13
✎
14:17
|
(8) выложи таблицу-результат запроса в виде Экселя, тогда скажу
|
|||
10
Oleg_Kag
20.09.13
✎
14:19
|
ГДЕ
ЕСТЬNULL(Проводки.Сумма, 0) - ЕСТЬNULL(Регистры.НДСОборот, 0) <> 0 УПОРЯДОЧИТЬ ПО ДатаСобытияПродажи |
|||
11
b-dm
20.09.13
✎
14:35
|
(10) - спасибо, попробую сейчас
|
|||
12
b-dm
20.09.13
✎
14:44
|
{(30, 3)}: При формировании временной таблицы предложение УПОРЯДОЧИТЬ может использоваться только совместно с предложением ПЕРВЫЕ
<<?>>УПОРЯДОЧИТЬ ПО ДатаСобытияПродажи |
|||
13
catena
20.09.13
✎
15:00
|
(12)А зачем порядочить во временной таблице? Упорядочивай итоговую.
|
|||
14
Сонька
20.09.13
✎
15:04
|
(12) нельзя упорядочить записи временной таблицы, сделай тоже самое в итоговой
|
|||
15
Сонька
20.09.13
✎
15:05
|
(13)упс... бояню :)
|
|||
16
b-dm
20.09.13
✎
15:33
|
(13) - делал, результат такой же
|
|||
17
catena
20.09.13
✎
15:34
|
(16)Не верю
|
|||
18
b-dm
20.09.13
✎
15:39
|
ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.Регистратор.Контрагент, | СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма, | ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.МоментВремени КАК МоментВремениПроводки |ПОМЕСТИТЬ Проводки |ИЗ | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ДатаНач, &ДатаКон, СчетКт = &Счет, , ) КАК ХозрасчетныйДвиженияССубконто | |СГРУППИРОВАТЬ ПО | ХозрасчетныйДвиженияССубконто.Регистратор.Контрагент, | ХозрасчетныйДвиженияССубконто.Регистратор, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.МоментВремени |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НДСЗаписиКнигиПродажОбороты.Покупатель, | НДСЗаписиКнигиПродажОбороты.Регистратор, | СУММА(НДСЗаписиКнигиПродажОбороты.НДСОборот) КАК НДСОборот, | НДСЗаписиКнигиПродажОбороты.Период, | НДСЗаписиКнигиПродажОбороты.ДатаСобытия КАК ДатаСобытияПродажи |ПОМЕСТИТЬ Регистры |ИЗ | РегистрНакопления.НДСЗаписиКнигиПродаж.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК НДСЗаписиКнигиПродажОбороты |ГДЕ | НДСЗаписиКнигиПродажОбороты.ЗаписьДополнительногоЛиста = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | НДСЗаписиКнигиПродажОбороты.Покупатель, | НДСЗаписиКнигиПродажОбороты.Регистратор, | НДСЗаписиКнигиПродажОбороты.Период, | НДСЗаписиКнигиПродажОбороты.ДатаСобытия |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Проводки.РегистраторКонтрагент КАК КонтрагентПроводки, | ЕСТЬNULL(Проводки.Регистратор, ""отсутствуют проводки"") КАК ДокументПроводки, | ЕСТЬNULL(Проводки.Сумма, 0) КАК СуммаПроводки, | Регистры.Покупатель КАК КонтрагентКнига, | ЕСТЬNULL(Регистры.Регистратор, ""отсутствуют в книге продаж"") КАК ДокументКнига, | Регистры.НДСОборот КАК СуммаКнига, | ЕСТЬNULL(Проводки.Сумма, 0) - ЕСТЬNULL(Регистры.НДСОборот, 0) КАК Разница, | Проводки.МоментВремениПроводки, | Регистры.ДатаСобытияПродажи КАК ДатаСобытияПродажи |ИЗ | Регистры КАК Регистры | ПОЛНОЕ СОЕДИНЕНИЕ Проводки КАК Проводки | ПО (Проводки.Регистратор = Регистры.Регистратор) | |УПОРЯДОЧИТЬ ПО | ДатаСобытияПродажи |
|||
19
b-dm
20.09.13
✎
15:40
|
{Форма.КонтрольКнигиПродаж.Форма(117)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить(); по причине: {(56, 2)}: Синтаксическая ошибка "СУММА(СуммаПроводки)," <<?>>СУММА(СуммаПроводки), Дальше у меня идёт следующее, после запроса: Запрос.Текст = Запрос.Текст + "ИТОГИ | СУММА(СуммаПроводки), | СУММА(СуммаКнига), | СУММА(Разница) |ПО | ОБЩИЕ"; |
|||
20
catena
20.09.13
✎
15:46
|
(19)Ну ведь не "результат такой же", ошибка совсем другая.
|
|||
21
Сонька
20.09.13
✎
15:49
|
Выбор Когда Проводки.Сумма Есть Null Тогда 0 Конец КАК СуммаПроводки
|
|||
22
catena
20.09.13
✎
15:52
|
(21)Зачем так?
|
|||
23
catena
20.09.13
✎
15:53
|
(19)И все-таки что-то недоговариваешь, приведенный кусок запроса не может давать такую ошибку.
|
|||
24
b-dm
20.09.13
✎
16:05
|
(23) хочешь вышлю отчет ? работает на типовой бух2
|
|||
25
b-dm
20.09.13
✎
16:05
|
посмотришь так или нет
|
|||
26
b-dm
20.09.13
✎
16:06
|
весь запрос написал, вот он:
Макет = ПолучитьМакет("Макет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйДвиженияССубконто.Регистратор.Контрагент, | СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма, | ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.МоментВремени КАК МоментВремениПроводки |ПОМЕСТИТЬ Проводки |ИЗ | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ДатаНач, &ДатаКон, СчетКт = &Счет, , ) КАК ХозрасчетныйДвиженияССубконто | |СГРУППИРОВАТЬ ПО | ХозрасчетныйДвиженияССубконто.Регистратор.Контрагент, | ХозрасчетныйДвиженияССубконто.Регистратор, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.МоментВремени |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НДСЗаписиКнигиПродажОбороты.Покупатель, | НДСЗаписиКнигиПродажОбороты.Регистратор, | СУММА(НДСЗаписиКнигиПродажОбороты.НДСОборот) КАК НДСОборот, | НДСЗаписиКнигиПродажОбороты.Период, | НДСЗаписиКнигиПродажОбороты.ДатаСобытия КАК ДатаСобытияПродажи |ПОМЕСТИТЬ Регистры |ИЗ | РегистрНакопления.НДСЗаписиКнигиПродаж.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК НДСЗаписиКнигиПродажОбороты |ГДЕ | НДСЗаписиКнигиПродажОбороты.ЗаписьДополнительногоЛиста = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | НДСЗаписиКнигиПродажОбороты.Покупатель, | НДСЗаписиКнигиПродажОбороты.Регистратор, | НДСЗаписиКнигиПродажОбороты.Период, | НДСЗаписиКнигиПродажОбороты.ДатаСобытия |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ ПЕРВЫЕ 1410065407 | Проводки.РегистраторКонтрагент КАК КонтрагентПроводки, | ЕСТЬNULL(Проводки.Регистратор, ""отсутствуют проводки"") КАК ДокументПроводки, | ЕСТЬNULL(Проводки.Сумма, 0) КАК СуммаПроводки, | Регистры.Покупатель КАК КонтрагентКнига, | ЕСТЬNULL(Регистры.Регистратор, ""отсутствуют в книге продаж"") КАК ДокументКнига, | Регистры.НДСОборот КАК СуммаКнига, | ЕСТЬNULL(Проводки.Сумма, 0) - ЕСТЬNULL(Регистры.НДСОборот, 0) КАК Разница, | Проводки.МоментВремениПроводки, | Регистры.ДатаСобытияПродажи КАК ДатаСобытияПродажи |ИЗ | Регистры КАК Регистры | ПОЛНОЕ СОЕДИНЕНИЕ Проводки КАК Проводки | ПО (Проводки.Регистратор = Регистры.Регистратор) | |УПОРЯДОЧИТЬ ПО | ДатаСобытияПродажи"; Если ТолькоРасхождения Тогда Запрос.Текст = Запрос.Текст + "ГДЕ | ЕСТЬNULL(Проводки.Сумма, 0) - ЕСТЬNULL(Регистры.НДСОборот, 0) <> 0 |"; КонецЕсли; Запрос.Текст = Запрос.Текст + "ИТОГИ | СУММА(СуммаПроводки), | СУММА(СуммаКнига), | СУММА(Разница) |ПО | ОБЩИЕ"; |
|||
27
b-dm
20.09.13
✎
16:07
|
то есть вот, прошу прощения:
Макет = ПолучитьМакет("Макет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйДвиженияССубконто.Регистратор.Контрагент, | СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма, | ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.МоментВремени КАК МоментВремениПроводки |ПОМЕСТИТЬ Проводки |ИЗ | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ДатаНач, &ДатаКон, СчетКт = &Счет, , ) КАК ХозрасчетныйДвиженияССубконто | |СГРУППИРОВАТЬ ПО | ХозрасчетныйДвиженияССубконто.Регистратор.Контрагент, | ХозрасчетныйДвиженияССубконто.Регистратор, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.МоментВремени |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НДСЗаписиКнигиПродажОбороты.Покупатель, | НДСЗаписиКнигиПродажОбороты.Регистратор, | СУММА(НДСЗаписиКнигиПродажОбороты.НДСОборот) КАК НДСОборот, | НДСЗаписиКнигиПродажОбороты.Период, | НДСЗаписиКнигиПродажОбороты.ДатаСобытия КАК ДатаСобытияПродажи |ПОМЕСТИТЬ Регистры |ИЗ | РегистрНакопления.НДСЗаписиКнигиПродаж.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК НДСЗаписиКнигиПродажОбороты |ГДЕ | НДСЗаписиКнигиПродажОбороты.ЗаписьДополнительногоЛиста = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | НДСЗаписиКнигиПродажОбороты.Покупатель, | НДСЗаписиКнигиПродажОбороты.Регистратор, | НДСЗаписиКнигиПродажОбороты.Период, | НДСЗаписиКнигиПродажОбороты.ДатаСобытия |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Проводки.РегистраторКонтрагент КАК КонтрагентПроводки, | ЕСТЬNULL(Проводки.Регистратор, ""отсутствуют проводки"") КАК ДокументПроводки, | ЕСТЬNULL(Проводки.Сумма, 0) КАК СуммаПроводки, | Регистры.Покупатель КАК КонтрагентКнига, | ЕСТЬNULL(Регистры.Регистратор, ""отсутствуют в книге продаж"") КАК ДокументКнига, | Регистры.НДСОборот КАК СуммаКнига, | ЕСТЬNULL(Проводки.Сумма, 0) - ЕСТЬNULL(Регистры.НДСОборот, 0) КАК Разница, | Проводки.МоментВремениПроводки, | Регистры.ДатаСобытияПродажи КАК ДатаСобытияПродажи |ИЗ | Регистры КАК Регистры | ПОЛНОЕ СОЕДИНЕНИЕ Проводки КАК Проводки | ПО (Проводки.Регистратор = Регистры.Регистратор)"; Если ТолькоРасхождения Тогда Запрос.Текст = Запрос.Текст + "ГДЕ | ЕСТЬNULL(Проводки.Сумма, 0) - ЕСТЬNULL(Регистры.НДСОборот, 0) <> 0 |"; КонецЕсли; Запрос.Текст = Запрос.Текст + "ИТОГИ | СУММА(СуммаПроводки), | СУММА(СуммаКнига), | СУММА(Разница) |ПО | ОБЩИЕ"; |
|||
28
Сонька
20.09.13
✎
16:28
|
(27) В таком виде в консоли запрос рабочий, может когда склеивает запрос - все немного криво получается?
|
|||
29
b-dm
20.09.13
✎
16:33
|
(28) может быть. но расклеить тоже не могу, там же итоги ...или посоветуйте как ?
|
|||
30
b-dm
20.09.13
✎
16:38
|
знаний не хватает, тыкаюсь тыкаюсь..
|
|||
31
Сонька
20.09.13
✎
16:46
|
(30) по фильтру и без фильтра не работает?
|
|||
32
b-dm
20.09.13
✎
16:49
|
(31) к сожалению не понял о чем речь.можете расшифровать ?
|
|||
33
Сонька
20.09.13
✎
16:57
|
Если ТолькоРасхождения Тогда .... КонецЕсли и без..
|
|||
34
b-dm
20.09.13
✎
17:07
|
При ТолькоРасхождения
по причине: {(56, 2)}: Синтаксическая ошибка "ЕСТЬNULL(Проводки.Сумма," <<?>>ЕСТЬNULL(Проводки.Сумма, 0) - ЕСТЬNULL(Регистры.НДСОборот, 0) <> 0 |
|||
35
Сонька
20.09.13
✎
17:08
|
(34) ну правильно |"; уберите строчку, перенесите "; на предыдущую.
|
|||
36
Сонька
20.09.13
✎
17:08
|
(34)Там где толькорасхождения
|
|||
37
b-dm
20.09.13
✎
17:09
|
щас попробую.вот сама обработка, глянете ?
http://yadi.sk/d/8LKfo2ML9bmff |
|||
38
b-dm
20.09.13
✎
17:14
|
не выходит пока каменный цветок
|
|||
39
Сонька
20.09.13
✎
17:26
|
(38)у меня ошибок нет на типовой. Точно у вас типовая :)
|
|||
40
b-dm
20.09.13
✎
17:29
|
я вам прислал без ошибок, и без упорядочивания
|
|||
41
b-dm
20.09.13
✎
17:29
|
потому что не хочу прислыать ошибочную, хочу посмотреть куда и что нужно вставить, какой кусок запроса
|
|||
42
b-dm
20.09.13
✎
17:49
|
вроде бы что то как то заработало, только я так и не понял как. выложу в ближ 10 мин, гляньте если есть возм-сть
|
|||
43
b-dm
20.09.13
✎
18:17
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |