Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 27.09.2013
Сообщений: 52
1C 8.x

Отчет в СКД

14.02.2019, 15:02. Показов 1239. Ответов 6

Студворк — интернет-сервис помощи студентам
Добрый день. Подскажите пожалуйста. Строю в СКД отчет, там есть запрос который помещается в временную таблицу (ВТ), и следом за ним другой запрос, который тянет данные из ВТ + добавляет другие данные.
Отчет строится нормально, кроме одного поля, которое тянется из ВТ. Если взять из СКД польностью скопировать код обоих запросов и выполнить его в консольке для запросов (без связей), то отображается все классно.
Может у меня как-то плохо связи выполнены? Я особого опыта в этом деле не имею, поэтому прошу помощи. (Прикрепил скриншоты внизу и код запроса)
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СУММА(СчетНаОплатуПокупателю.СуммаДокумента) КАК Долг,
    СчетНаОплатуПокупателю.Подразделение
ПОМЕСТИТЬ ДолгВТ
ИЗ
    Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты КАК ХозрасчетныйОбороты
        ПО СчетНаОплатуПокупателю.Ссылка = ХозрасчетныйОбороты.Субконто3
ГДЕ
    СчетНаОплатуПокупателю.ПометкаУдаления = ЛОЖЬ
    И ХозрасчетныйОбороты.Счет ЕСТЬ NULL 
    И СчетНаОплатуПокупателю.БезОплатнаяОснова = ЛОЖЬ
    И СчетНаОплатуПокупателю.Дата > &ДатаЯнваря
 
СГРУППИРОВАТЬ ПО
    СчетНаОплатуПокупателю.Подразделение
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ПодразделенияОрганизаций.Ссылка,
    ВЫБОР
        КОГДА ПодразделенияОрганизаций.Код = 60
                ИЛИ ПодразделенияОрганизаций.Код = 73
            ТОГДА "ЭТАЛОН"
        ИНАЧЕ ПодразделенияОрганизаций.Наименование
    КОНЕЦ КАК Наименование,
    ПланРеализацииСрезПоследних.Сумма КАК План,
    ВЫБОР
        КОГДА ПодразделенияОрганизаций.Код = 8
            ТОГДА Поступления.СуммаПоступления + ЕСТЬNULL(Поступления10.СуммаПоступления10, 0)
        ИНАЧЕ Поступления.СуммаПоступления
    КОНЕЦ КАК СуммаПоступления,
    ВЫБОР
        КОГДА ПланРеализацииСрезПоследних.Сумма <> 0
            ТОГДА ВЫБОР
                    КОГДА ПодразделенияОрганизаций.Код = 8
                        ТОГДА (Реализация.СуммаАктов + РеализацияОтдела10.СуммаАктов10) / ПланРеализацииСрезПоследних.Сумма * 100
                    ИНАЧЕ Реализация.СуммаАктов / ПланРеализацииСрезПоследних.Сумма * 100
                КОНЕЦ
        ИНАЧЕ 0
    КОНЕЦ КАК ПроцентВыполнения,
    ВыставленныеСчета.СуммаВыставленныхСчетов,
    Кредиторы.ОстатокПереплаты,
    ВЫБОР
        КОГДА ПодразделенияОрганизаций.Код = 8
            ТОГДА Реализация.СуммаАктов + ЕСТЬNULL(РеализацияОтдела10.СуммаАктов10, 0)
        ИНАЧЕ Реализация.СуммаАктов
    КОНЕЦ КАК СуммаАктов,
    ЕСТЬNULL(РеализацияОтдела10.СуммаАктов10, 0) КАК СуммаАктов10,
    ЕСТЬNULL(Поступления10.СуммаПоступления10, 0) КАК СуммаПоступления10
ИЗ
    Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка.Подразделение КАК СделкаПодразделение,
            СУММА(ВЫРАЗИТЬ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаПлатежа * ПлатежноеПоручениеВходящееРасшифровкаПлатежа.КурсВзаиморасчетов / ПлатежноеПоручениеВходящееРасшифровкаПлатежа.КратностьВзаиморасчетов КАК ЧИСЛО)) КАК СуммаПоступления
        ИЗ
            Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа
        ГДЕ
            ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА
            И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
        
        СГРУППИРОВАТЬ ПО
            ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка.Подразделение
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка.Подразделение,
            ВЫРАЗИТЬ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа * ПриходныйКассовыйОрдерРасшифровкаПлатежа.КурсВзаиморасчетов / ПриходныйКассовыйОрдерРасшифровкаПлатежа.КратностьВзаиморасчетов КАК ЧИСЛО)
        ИЗ
            Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
        ГДЕ
            ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА
            И ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода) КАК Поступления
        ПО ПодразделенияОрганизаций.Ссылка = Поступления.СделкаПодразделение
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            СчетНаОплатуПокупателю.Подразделение КАК Подразделение,
            СУММА(СчетНаОплатуПокупателю.СуммаДокумента) КАК СуммаВыставленныхСчетов
        ИЗ
            Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
        ГДЕ
            СчетНаОплатуПокупателю.Дата МЕЖДУ &НачалоПериода И &КонецПериодаРеализации
            И СчетНаОплатуПокупателю.ПометкаУдаления = ЛОЖЬ
        
        СГРУППИРОВАТЬ ПО
            СчетНаОплатуПокупателю.Подразделение) КАК ВыставленныеСчета
        ПО ПодразделенияОрганизаций.Ссылка = ВыставленныеСчета.Подразделение
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            КредиторыПоСделка.Субконто3.Подразделение КАК Подразделение,
            СУММА(КредиторыПоСделка.СуммаОстатокКт) КАК ОстатокПереплаты
        ИЗ
            (ВЫБРАТЬ
                ХозрасчетныйОстатки.Субконто3 КАК Субконто3,
                ХозрасчетныйОстатки.СуммаОстатокКт КАК СуммаОстатокКт
            ИЗ
                РегистрБухгалтерии.Хозрасчетный.Остатки(&КонецПериодаРеализации, , , ) КАК ХозрасчетныйОстатки
            ГДЕ
                ХозрасчетныйОстатки.Счет.Код = "6811"
                И ХозрасчетныйОстатки.Субконто3 ССЫЛКА Документ.СчетНаОплатуПокупателю) КАК КредиторыПоСделка
        
        СГРУППИРОВАТЬ ПО
            КредиторыПоСделка.Субконто3.Подразделение) КАК Кредиторы
        ПО ПодразделенияОрганизаций.Ссылка = Кредиторы.Подразделение
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            СУММА(ВЫБОР
                    КОГДА АктОбОказанииПроизводственныхУслуг.КурсВзаиморасчетов = 1
                        ТОГДА АктОбОказанииПроизводственныхУслуг.СуммаДокумента
                    ИНАЧЕ ВЫРАЗИТЬ(АктОбОказанииПроизводственныхУслуг.СуммаДокумента * АктОбОказанииПроизводственныхУслуг.КурсВзаиморасчетов / АктОбОказанииПроизводственныхУслуг.КратностьВзаиморасчетов КАК ЧИСЛО)
                КОНЕЦ) КАК СуммаАктов10,
            МАКСИМУМ(8) КАК КодОтдетла10
        ИЗ
            Документ.АктОбОказанииПроизводственныхУслуг КАК АктОбОказанииПроизводственныхУслуг
        ГДЕ
            АктОбОказанииПроизводственныхУслуг.Проведен = ИСТИНА
            И АктОбОказанииПроизводственныхУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериодаРеализации
            И АктОбОказанииПроизводственныхУслуг.ПодразделениеОрганизации.Код = 10
            И АктОбОказанииПроизводственныхУслуг.ВидАкта <> ЗНАЧЕНИЕ(Перечисление.ВидыАктовРаботы.ВыведенИзГарантийногоПисьма)
        
        СГРУППИРОВАТЬ ПО
            АктОбОказанииПроизводственныхУслуг.ПодразделениеОрганизации) КАК РеализацияОтдела10
        ПО ПодразделенияОрганизаций.Код = РеализацияОтдела10.КодОтдетла10
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            СУММА(ВЫБОР
                    КОГДА АктОбОказанииПроизводственныхУслуг.КурсВзаиморасчетов = 1
                        ТОГДА АктОбОказанииПроизводственныхУслуг.СуммаДокумента
                    ИНАЧЕ ВЫРАЗИТЬ(АктОбОказанииПроизводственныхУслуг.СуммаДокумента * АктОбОказанииПроизводственныхУслуг.КурсВзаиморасчетов / АктОбОказанииПроизводственныхУслуг.КратностьВзаиморасчетов КАК ЧИСЛО)
                КОНЕЦ) КАК СуммаАктов,
            АктОбОказанииПроизводственныхУслуг.ПодразделениеОрганизации КАК Подразделение
        ИЗ
            Документ.АктОбОказанииПроизводственныхУслуг КАК АктОбОказанииПроизводственныхУслуг
        ГДЕ
            АктОбОказанииПроизводственныхУслуг.Проведен = ИСТИНА
            И АктОбОказанииПроизводственныхУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериодаРеализации
            И ВЫБОР
                    КОГДА АктОбОказанииПроизводственныхУслуг.Сделка.Сектор <> ЗНАЧЕНИЕ(Справочник.СекторыПодразделений.ПустаяСсылка)
                        ТОГДА АктОбОказанииПроизводственныхУслуг.Сделка.Сектор.Код
                    ИНАЧЕ 0
                КОНЕЦ <> 20
            И АктОбОказанииПроизводственныхУслуг.ВидАкта <> ЗНАЧЕНИЕ(Перечисление.ВидыАктовРаботы.ВыведенИзГарантийногоПисьма)
        
        СГРУППИРОВАТЬ ПО
            АктОбОказанииПроизводственныхУслуг.ПодразделениеОрганизации) КАК Реализация
        ПО ПодразделенияОрганизаций.Ссылка = Реализация.Подразделение
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            СУММА(ВЫРАЗИТЬ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаПлатежа * ПлатежноеПоручениеВходящееРасшифровкаПлатежа.КурсВзаиморасчетов / ПлатежноеПоручениеВходящееРасшифровкаПлатежа.КратностьВзаиморасчетов КАК ЧИСЛО)) КАК СуммаПоступления10,
            МАКСИМУМ(8) КАК КодОтдетла10
        ИЗ
            Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа
        ГДЕ
            ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА
            И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
            И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка.Подразделение.Код = 10
        
        СГРУППИРОВАТЬ ПО
            ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка.Подразделение
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ВЫРАЗИТЬ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа * ПриходныйКассовыйОрдерРасшифровкаПлатежа.КурсВзаиморасчетов / ПриходныйКассовыйОрдерРасшифровкаПлатежа.КратностьВзаиморасчетов КАК ЧИСЛО),
            8
        ИЗ
            Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
        ГДЕ
            ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен
            И ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
            И ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка.Подразделение.Код = 10) КАК Поступления10
        ПО ПодразделенияОрганизаций.Код = Поступления10.КодОтдетла10
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПланРеализации.СрезПоследних(&КонецПериода, ) КАК ПланРеализацииСрезПоследних
        ПО (ПланРеализацииСрезПоследних.ПодразделениеОрганизации = ПодразделенияОрганизаций.Ссылка)
ГДЕ
    (ПодразделенияОрганизаций.Код = 2
            ИЛИ ПодразделенияОрганизаций.Код = 1
            ИЛИ ПодразделенияОрганизаций.Код = 3
            ИЛИ ПодразделенияОрганизаций.Код = 4
            ИЛИ ПодразделенияОрганизаций.Код = 5
            ИЛИ ПодразделенияОрганизаций.Код = 6
            ИЛИ ПодразделенияОрганизаций.Код = 8
            ИЛИ ПодразделенияОрганизаций.Код = 9
            ИЛИ ПодразделенияОрганизаций.Код = 24
            ИЛИ ПодразделенияОрганизаций.Код = 26
            ИЛИ ПодразделенияОрганизаций.Код = 27)
 
СГРУППИРОВАТЬ ПО
    ПодразделенияОрганизаций.Ссылка,
    ПланРеализацииСрезПоследних.Сумма,
    ВыставленныеСчета.СуммаВыставленныхСчетов,
    Кредиторы.ОстатокПереплаты,
    ВЫБОР
        КОГДА ПодразделенияОрганизаций.Код = 60
                ИЛИ ПодразделенияОрганизаций.Код = 73
            ТОГДА "ЭТАЛОН"
        ИНАЧЕ ПодразделенияОрганизаций.Наименование
    КОНЕЦ,
    ВЫБОР
        КОГДА ПодразделенияОрганизаций.Код = 8
            ТОГДА Поступления.СуммаПоступления + ЕСТЬNULL(Поступления10.СуммаПоступления10, 0)
        ИНАЧЕ Поступления.СуммаПоступления
    КОНЕЦ,
    ВЫБОР
        КОГДА ПланРеализацииСрезПоследних.Сумма <> 0
            ТОГДА ВЫБОР
                    КОГДА ПодразделенияОрганизаций.Код = 8
                        ТОГДА (Реализация.СуммаАктов + РеализацияОтдела10.СуммаАктов10) / ПланРеализацииСрезПоследних.Сумма * 100
                    ИНАЧЕ Реализация.СуммаАктов / ПланРеализацииСрезПоследних.Сумма * 100
                КОНЕЦ
        ИНАЧЕ 0
    КОНЕЦ,
    ВЫБОР
        КОГДА ПодразделенияОрганизаций.Код = 8
            ТОГДА Реализация.СуммаАктов + ЕСТЬNULL(РеализацияОтдела10.СуммаАктов10, 0)
        ИНАЧЕ Реализация.СуммаАктов
    КОНЕЦ,
    ЕСТЬNULL(РеализацияОтдела10.СуммаАктов10, 0),
    ЕСТЬNULL(Поступления10.СуммаПоступления10, 0)
https://pp.userapi.com/c851524... LvJFes.jpg
https://pp.userapi.com/c849424... jqbwAw.jpg
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.02.2019, 15:02
Ответы с готовыми решениями:

Отчет в СКД
Господа, подскажите как в СКД можно решить данную проблему: нужно вывести оганизации в 2 группировки(Москва и регионы), но в сравочнике...

Отчет СКД
Добрый день. Пытаюсь какой уже день, все мысли исчерпаны. Пытаюсь сделать отчет при помощи СКД Вот то что у меня имеется, но...

Отчет СКД
Создала внешний отчет с помощью СКД. Результат вывожу на форму в Поле табличного документа. Ка мне сделать расшифровку результата? С чего...

6
286 / 186 / 18
Регистрация: 20.02.2012
Сообщений: 926
15.02.2019, 08:39
restarbit, смотри в настройках СКД, скорее всего группировка не правильная, может лишний раз где то сгруппировал или просуммировал поле
1
0 / 0 / 1
Регистрация: 27.09.2013
Сообщений: 52
15.02.2019, 08:43  [ТС]
В том то и дело, не вижу ничего подозрительного((
0
286 / 186 / 18
Регистрация: 20.02.2012
Сообщений: 926
15.02.2019, 08:52
restarbit, а параметры верно заданы? Например "Конец периода" явно должен быть как "КонецДня"

Добавлено через 3 минуты
restarbit, потом еще соединение с таблице "долг". Она должна быть присоединена левым к "Подразделению". Хотя тут как бы вопрос в другом, в СКД одно показывает, в консоли другое. Так что ищи различие в настройках)
0
Модератор
Эксперт 1С
 Аватар для Yulunga
4137 / 944 / 265
Регистрация: 22.04.2013
Сообщений: 6,587
Записей в блоге: 1
15.02.2019, 12:47
меня беспокоят 2 вещи :
кототдетла
и
долгвт - в него данные помещаются, но больше нигде не используются ( ctrl-f по коду запроса)
1
0 / 0 / 1
Регистрация: 27.09.2013
Сообщений: 52
15.02.2019, 16:18  [ТС]
Я не тот код скопировал(((
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СУММА(СчетНаОплатуПокупателю.СуммаДокумента) КАК Долг,
    СчетНаОплатуПокупателю.Подразделение
ПОМЕСТИТЬ ДолгВТ
ИЗ
    Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты КАК ХозрасчетныйОбороты
        ПО СчетНаОплатуПокупателю.Ссылка = ХозрасчетныйОбороты.Субконто3
ГДЕ
    СчетНаОплатуПокупателю.ПометкаУдаления = ЛОЖЬ
    И ХозрасчетныйОбороты.Счет ЕСТЬ NULL 
    И СчетНаОплатуПокупателю.БезОплатнаяОснова = ЛОЖЬ
    И СчетНаОплатуПокупателю.Дата > &ДатаЯнваря
 
СГРУППИРОВАТЬ ПО
    СчетНаОплатуПокупателю.Подразделение
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ПодразделенияОрганизаций.Ссылка,
    ВЫБОР
        КОГДА ПодразделенияОрганизаций.Код = 60
                ИЛИ ПодразделенияОрганизаций.Код = 73
            ТОГДА "ЭТАЛОН"
        ИНАЧЕ ПодразделенияОрганизаций.Наименование
    КОНЕЦ КАК Наименование,
    ПланРеализацииСрезПоследних.Сумма КАК План,
    ВЫБОР
        КОГДА ПодразделенияОрганизаций.Код = 8
            ТОГДА Поступления.СуммаПоступления + ЕСТЬNULL(Поступления10.СуммаПоступления10, 0)
        ИНАЧЕ Поступления.СуммаПоступления
    КОНЕЦ КАК СуммаПоступления,
    ВЫБОР
        КОГДА ПланРеализацииСрезПоследних.Сумма <> 0
            ТОГДА ВЫБОР
                    КОГДА ПодразделенияОрганизаций.Код = 8
                        ТОГДА (Реализация.СуммаАктов + РеализацияОтдела10.СуммаАктов10) / ПланРеализацииСрезПоследних.Сумма * 100
                    ИНАЧЕ Реализация.СуммаАктов / ПланРеализацииСрезПоследних.Сумма * 100
                КОНЕЦ
        ИНАЧЕ 0
    КОНЕЦ КАК ПроцентВыполнения,
    ВыставленныеСчета.СуммаВыставленныхСчетов,
    Кредиторы.ОстатокПереплаты,
    ВЫБОР
        КОГДА ПодразделенияОрганизаций.Код = 8
            ТОГДА Реализация.СуммаАктов + ЕСТЬNULL(РеализацияОтдела10.СуммаАктов10, 0)
        ИНАЧЕ Реализация.СуммаАктов
    КОНЕЦ КАК СуммаАктов,
    ЕСТЬNULL(РеализацияОтдела10.СуммаАктов10, 0) КАК СуммаАктов10,
    ЕСТЬNULL(Поступления10.СуммаПоступления10, 0) КАК СуммаПоступления10,
    ДолгВТ.Долг
ИЗ
    ДолгВТ КАК ДолгВТ
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка.Подразделение КАК СделкаПодразделение,
                СУММА(ВЫРАЗИТЬ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаПлатежа * ПлатежноеПоручениеВходящееРасшифровкаПлатежа.КурсВзаиморасчетов / ПлатежноеПоручениеВходящееРасшифровкаПлатежа.КратностьВзаиморасчетов КАК ЧИСЛО)) КАК СуммаПоступления
            ИЗ
                Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа
            ГДЕ
                ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА
                И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
            
            СГРУППИРОВАТЬ ПО
                ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка.Подразделение
            
            ОБЪЕДИНИТЬ ВСЕ
            
            ВЫБРАТЬ
                ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка.Подразделение,
                ВЫРАЗИТЬ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа * ПриходныйКассовыйОрдерРасшифровкаПлатежа.КурсВзаиморасчетов / ПриходныйКассовыйОрдерРасшифровкаПлатежа.КратностьВзаиморасчетов КАК ЧИСЛО)
            ИЗ
                Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
            ГДЕ
                ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА
                И ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода) КАК Поступления
            ПО ПодразделенияОрганизаций.Ссылка = Поступления.СделкаПодразделение
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                СчетНаОплатуПокупателю.Подразделение КАК Подразделение,
                СУММА(СчетНаОплатуПокупателю.СуммаДокумента) КАК СуммаВыставленныхСчетов
            ИЗ
                Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
            ГДЕ
                СчетНаОплатуПокупателю.Дата МЕЖДУ &НачалоПериода И &КонецПериодаРеализации
                И СчетНаОплатуПокупателю.ПометкаУдаления = ЛОЖЬ
            
            СГРУППИРОВАТЬ ПО
                СчетНаОплатуПокупателю.Подразделение) КАК ВыставленныеСчета
            ПО ПодразделенияОрганизаций.Ссылка = ВыставленныеСчета.Подразделение
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                КредиторыПоСделка.Субконто3.Подразделение КАК Подразделение,
                СУММА(КредиторыПоСделка.СуммаОстатокКт) КАК ОстатокПереплаты
            ИЗ
                (ВЫБРАТЬ
                    ХозрасчетныйОстатки.Субконто3 КАК Субконто3,
                    ХозрасчетныйОстатки.СуммаОстатокКт КАК СуммаОстатокКт
                ИЗ
                    РегистрБухгалтерии.Хозрасчетный.Остатки(&КонецПериодаРеализации, , , ) КАК ХозрасчетныйОстатки
                ГДЕ
                    ХозрасчетныйОстатки.Счет.Код = "6811"
                    И ХозрасчетныйОстатки.Субконто3 ССЫЛКА Документ.СчетНаОплатуПокупателю) КАК КредиторыПоСделка
            
            СГРУППИРОВАТЬ ПО
                КредиторыПоСделка.Субконто3.Подразделение) КАК Кредиторы
            ПО ПодразделенияОрганизаций.Ссылка = Кредиторы.Подразделение
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                СУММА(ВЫБОР
                        КОГДА АктОбОказанииПроизводственныхУслуг.КурсВзаиморасчетов = 1
                            ТОГДА АктОбОказанииПроизводственныхУслуг.СуммаДокумента
                        ИНАЧЕ ВЫРАЗИТЬ(АктОбОказанииПроизводственныхУслуг.СуммаДокумента * АктОбОказанииПроизводственныхУслуг.КурсВзаиморасчетов / АктОбОказанииПроизводственныхУслуг.КратностьВзаиморасчетов КАК ЧИСЛО)
                    КОНЕЦ) КАК СуммаАктов10,
                МАКСИМУМ(8) КАК КодОтдетла10
            ИЗ
                Документ.АктОбОказанииПроизводственныхУслуг КАК АктОбОказанииПроизводственныхУслуг
            ГДЕ
                АктОбОказанииПроизводственныхУслуг.Проведен = ИСТИНА
                И АктОбОказанииПроизводственныхУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериодаРеализации
                И АктОбОказанииПроизводственныхУслуг.ПодразделениеОрганизации.Код = 10
                И АктОбОказанииПроизводственныхУслуг.ВидАкта <> ЗНАЧЕНИЕ(Перечисление.ВидыАктовРаботы.ВыведенИзГарантийногоПисьма)
            
            СГРУППИРОВАТЬ ПО
                АктОбОказанииПроизводственныхУслуг.ПодразделениеОрганизации) КАК РеализацияОтдела10
            ПО ПодразделенияОрганизаций.Код = РеализацияОтдела10.КодОтдетла10
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                СУММА(ВЫБОР
                        КОГДА АктОбОказанииПроизводственныхУслуг.КурсВзаиморасчетов = 1
                            ТОГДА АктОбОказанииПроизводственныхУслуг.СуммаДокумента
                        ИНАЧЕ ВЫРАЗИТЬ(АктОбОказанииПроизводственныхУслуг.СуммаДокумента * АктОбОказанииПроизводственныхУслуг.КурсВзаиморасчетов / АктОбОказанииПроизводственныхУслуг.КратностьВзаиморасчетов КАК ЧИСЛО)
                    КОНЕЦ) КАК СуммаАктов,
                АктОбОказанииПроизводственныхУслуг.ПодразделениеОрганизации КАК Подразделение
            ИЗ
                Документ.АктОбОказанииПроизводственныхУслуг КАК АктОбОказанииПроизводственныхУслуг
            ГДЕ
                АктОбОказанииПроизводственныхУслуг.Проведен = ИСТИНА
                И АктОбОказанииПроизводственныхУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериодаРеализации
                И ВЫБОР
                        КОГДА АктОбОказанииПроизводственныхУслуг.Сделка.Сектор <> ЗНАЧЕНИЕ(Справочник.СекторыПодразделений.ПустаяСсылка)
                            ТОГДА АктОбОказанииПроизводственныхУслуг.Сделка.Сектор.Код
                        ИНАЧЕ 0
                    КОНЕЦ <> 20
                И АктОбОказанииПроизводственныхУслуг.ВидАкта <> ЗНАЧЕНИЕ(Перечисление.ВидыАктовРаботы.ВыведенИзГарантийногоПисьма)
            
            СГРУППИРОВАТЬ ПО
                АктОбОказанииПроизводственныхУслуг.ПодразделениеОрганизации) КАК Реализация
            ПО ПодразделенияОрганизаций.Ссылка = Реализация.Подразделение
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                СУММА(ВЫРАЗИТЬ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаПлатежа * ПлатежноеПоручениеВходящееРасшифровкаПлатежа.КурсВзаиморасчетов / ПлатежноеПоручениеВходящееРасшифровкаПлатежа.КратностьВзаиморасчетов КАК ЧИСЛО)) КАК СуммаПоступления10,
                МАКСИМУМ(8) КАК КодОтдетла10
            ИЗ
                Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа
            ГДЕ
                ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА
                И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
                И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка.Подразделение.Код = 10
            
            СГРУППИРОВАТЬ ПО
                ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка.Подразделение
            
            ОБЪЕДИНИТЬ ВСЕ
            
            ВЫБРАТЬ
                ВЫРАЗИТЬ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа * ПриходныйКассовыйОрдерРасшифровкаПлатежа.КурсВзаиморасчетов / ПриходныйКассовыйОрдерРасшифровкаПлатежа.КратностьВзаиморасчетов КАК ЧИСЛО),
                8
            ИЗ
                Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
            ГДЕ
                ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен
                И ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
                И ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка.Подразделение.Код = 10) КАК Поступления10
            ПО ПодразделенияОрганизаций.Код = Поступления10.КодОтдетла10
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПланРеализации.СрезПоследних(&КонецПериода, ) КАК ПланРеализацииСрезПоследних
            ПО (ПланРеализацииСрезПоследних.ПодразделениеОрганизации = ПодразделенияОрганизаций.Ссылка)
        ПО ДолгВТ.Подразделение = ПодразделенияОрганизаций.Ссылка
ГДЕ
    (ПодразделенияОрганизаций.Код = 2
            ИЛИ ПодразделенияОрганизаций.Код = 1
            ИЛИ ПодразделенияОрганизаций.Код = 3
            ИЛИ ПодразделенияОрганизаций.Код = 4
            ИЛИ ПодразделенияОрганизаций.Код = 5
            ИЛИ ПодразделенияОрганизаций.Код = 6
            ИЛИ ПодразделенияОрганизаций.Код = 8
            ИЛИ ПодразделенияОрганизаций.Код = 9
            ИЛИ ПодразделенияОрганизаций.Код = 24
            ИЛИ ПодразделенияОрганизаций.Код = 26
            ИЛИ ПодразделенияОрганизаций.Код = 27)
Но запрос то сам по себе работает.
0
Эксперт 1С
6328 / 1749 / 638
Регистрация: 16.01.2015
Сообщений: 7,281
15.02.2019, 21:00
А сам запрос никого не смущает? Запрос - откровенно дрянь. Начиная сначала:
1C
1
2
3
4
5
6
7
8
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СУММА(СчетНаОплатуПокупателю.СуммаДокумента) КАК Долг,
    СчетНаОплатуПокупателю.Подразделение
ПОМЕСТИТЬ ДолгВТ
ИЗ
    Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты КАК ХозрасчетныйОбороты
        ПО СчетНаОплатуПокупателю.Ссылка = ХозрасчетныйОбороты.Субконто3
Зачем здесь вторая таблица и левое соединение, если вы ничего не берете из второй таблицы?
Вторая часть - все ну или почти все нужные вам данные есть в регистрах накопления, данные надо брать оттуда, а не собирать все подряд документы. Ну и поле соединения таблиц - результат запроса - это прямой путь к долгому ожиданию выполнения отчета вплоть до полного зависания (самая низкая производительность)
Что касается вопроса, 100% где-то в дебрях кучи левых соединений по результату запроса двоятся и троятся подразделения.
Берите временную таблицу и соединяйте с остальными данными, но разбитыми по одному а не все в куче и смотрите результат. В каком случае появится повторение подразделений. В том виде в котором запрос сейчас найти ошибку крайне сложно, если вообще возможно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.02.2019, 21:00
Помогаю со студенческими работами здесь

3в1 отчет на СКД
Здравствуйте, может кто делал такое, поделитесь опытом. Собсно по сабжу: надо сделать отчет который вмещает в себе три отчета см. таб....

Такой отчет в скд
Всем привет. Надо сделать отчет, где 1я строка в группе это к-во выданных денег(берется из док), затем идет трата этих денег по...

Отчет СКД не работатет в Sql-e
Перенес базу в MS SQL 2008 Express - файловый глючил постоянно. И с удивление обнаружил, что отчет, построенный на СКД не отрабатывает....

Отчет без использования СКД
Есть в форме диаграмма, нужно сделать такую же, но только в виде отчета. Диаграмма весьма сложна, и честно говоря не получается сделать ее...

Отчет по разным периодам в СКД?
Кто нибудь пробовал делать отчет в СКД по разным периодам? т.е. дупустим берем январь 2011 февраль 2011 и январь 2012 и февраль 2012..вобще...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru