Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Thomas.Angelo
7 / 7 / 3
Регистрация: 24.12.2011
Сообщений: 257
1

Соединение таблиц в запросе для УТ 10.3

21.03.2016, 06:51. Просмотров 1131. Ответов 7
Метки нет (Все метки)

Добрый день.

Конфигурация Управление Торговлей 10.3.29.1

Требуется сделать отчет, в котором будут записи регистра "Партии товаров на складах" с регистраторами: РеализацияТоваровУслуг и ОтчетОРозничныхПродажах и чтобы в отчете была отображена сумма и количество, по которой номенклатура продана в этих документах.
Вроде бы всё просто. Получаю все записи регистра "Партии товаров на складах" с определенными отборами. Затем получаю таблицу "Товары" у регистратора. И выполняю соединение этих двух таблиц по полю "Номенклатура".
Но в результате сумма продажи и количество не соответствуют действительности. Пробовал все типы соединений. Вроде бы верным должно быть левое.
На скриншоте видно, что в первой строке сумма продажи = 5168 и количество продажи = 4, хотя по этому "Отчету о рознице" продано 6 штук по 1520 р.
Почему запрос получает некорректные данные при соединении с табличной частью Товары? В чем может быть ошибка?

Текст запроса:
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
ВЫБРАТЬ ПЕРВЫЕ 10
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    ОтчетОРозничныхПродажахТовары.Сумма КАК СуммаПродажи,
    ОтчетОРозничныхПродажахТовары.Количество КАК КоличествоПродажи,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(, , Регистратор, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
        ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ОтчетОРозничныхПродажахТовары.Номенклатура
ГДЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = &Номенклатура
    И ПартииТоваровНаСкладахОстаткиИОбороты.Склад = &Склад
    И (ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)
            ИЛИ ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.ОтчетОРозничныхПродажах))
 
СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ОтчетОРозничныхПродажахТовары.Сумма,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток,
    ОтчетОРозничныхПродажахТовары.Количество
0
Миниатюры
Соединение таблиц в запросе для УТ 10.3  
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2016, 06:51
Ответы с готовыми решениями:

Соединение таблиц в запросе
Добрый день! Никак не могу правильно соединить 2 регистра в запросе. Причем причину понимаю, но как...

Соединение в запросе
Добрый вечер! Подскажите, что у меня не правильно. 1) Нужно получить данные из регистра...

Соединение двух таблиц, фильтрация данных по данным из этих 2 таблиц
Помогите, пожалуйста, написать запрос SQL в Delphi 7. Есть форма, на ней кнопка и DBGrid. DBGrid...

Соединение строк в запросе
Есть запрос Справочник (1 картинка). Пытаюсь сделать как на 2 картинке. Вылетает ошибка синтаксиса...

Соединение (рекурсивное) в запросе подчинённых справочников
есть справочник Ф, подчиненный справочнику Контрагенты. в нем тч с реквизитами Контрагент и...

7
GreenkA
Форумчанин
Эксперт 1С
3004 / 1928 / 520
Регистрация: 25.06.2009
Сообщений: 6,817
21.03.2016, 10:36 2
Thomas.Angelo, а почему "ВЫБРАТЬ ПЕРВЫЕ 10"?
Плюс в связи таблиц обязательно укажите связь по
1C
1
ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор = ОтчетОРозничныхПродажахТовары.Ссылка
У вас связь с документом только по Номенклатуре, а из-за первых 10 записей, подозреваю, что верная запись по документу у вас и не выводится вовсе.
1
Thomas.Angelo
7 / 7 / 3
Регистрация: 24.12.2011
Сообщений: 257
21.03.2016, 11:38  [ТС] 3
Выбираю только первые 10 записей в целях экономии времени, чтобы не ждать пока запрос получит все записи.
Сделал так, как Вы написали выше. Получилось. Но запрос теперь показывает только строки с типом регистратора "Отчет о розничных продажах". Нет ни одной строки с регистратором типа "Реализация товаров и услуг". Даже если убираю строку "Выбрать первые 10".
Как можно получить тоже самое, но для регистраторов типа "Реализация товаров и услуг"? Пробовал создать второй пакет запросов, аналогичный первому, то с табличной частью Товары документа Реализация товаров и услуг. Но не смог корректно вывести результат обоих пакетов.
Можно каким то образом в запросе указать, что нас интересует не конкретно "ОтчетОРозничныхПродажах.Товары", а "Регистратор.Товары"?

Текст запроса:
Кликните здесь для просмотра всего текста
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
ВЫБРАТЬ ПЕРВЫЕ 10
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    ОтчетОРозничныхПродажахТовары.Сумма КАК СуммаПродажи,
    ОтчетОРозничныхПродажахТовары.Количество КАК КоличествоПродажи,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(, , Регистратор, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
        ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ОтчетОРозничныхПродажахТовары.Номенклатура
            И ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор = ОтчетОРозничныхПродажахТовары.Ссылка
ГДЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = &Номенклатура
    И ПартииТоваровНаСкладахОстаткиИОбороты.Склад = &Склад
    И (ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)
            ИЛИ ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.ОтчетОРозничныхПродажах))
 
СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ОтчетОРозничныхПродажахТовары.Сумма,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток,
    ОтчетОРозничныхПродажахТовары.Количество
0
GreenkA
Форумчанин
Эксперт 1С
3004 / 1928 / 520
Регистрация: 25.06.2009
Сообщений: 6,817
21.03.2016, 12:07 4
Thomas.Angelo, напишите ваш вариант запроса с двумя пакетами.

Цитата Сообщение от Thomas.Angelo Посмотреть сообщение
Выбираю только первые 10 записей в целях экономии времени, чтобы не ждать пока запрос получит все записи.
А почему бы не задавать интервал дат в параметрах таблицы ОстаткиИОбороты?
1
21.03.2016, 12:07
Thomas.Angelo
7 / 7 / 3
Регистрация: 24.12.2011
Сообщений: 257
21.03.2016, 12:28  [ТС] 5
Цитата Сообщение от GreenkO Посмотреть сообщение
А почему бы не задавать интервал дат в параметрах таблицы ОстаткиИОбороты
Сделал интервал дат.

Цитата Сообщение от GreenkO Посмотреть сообщение
напишите ваш вариант запроса с двумя пакетами.
Оно выводит результат двух пакетов но горизонтально.
Сначала всё по Отчетам о рознице, потом по Реализациям (скриншот ниже).

Текст пакетного запроса:
Кликните здесь для просмотра всего текста
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
ВЫБРАТЬ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    ОтчетОРозничныхПродажахТовары.Сумма КАК СуммаПродажи,
    ОтчетОРозничныхПродажахТовары.Количество КАК КоличествоПродажи,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток
ПОМЕСТИТЬ ВТ_1
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
        ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ОтчетОРозничныхПродажахТовары.Номенклатура
            И ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор = ОтчетОРозничныхПродажахТовары.Ссылка
ГДЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = &Номенклатура
    И ПартииТоваровНаСкладахОстаткиИОбороты.Склад = &Склад
    И (ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)
            ИЛИ ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.ОтчетОРозничныхПродажах))
 
СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ОтчетОРозничныхПродажахТовары.Сумма,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток,
    ОтчетОРозничныхПродажахТовары.Количество
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    РеализацияТоваровУслугТовары.Сумма КАК СуммаПродажи,
    РеализацияТоваровУслугТовары.Количество КАК КоличествоПродажи,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток
ПОМЕСТИТЬ ВТ_2
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура
            И ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор = РеализацияТоваровУслугТовары.Ссылка
ГДЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = &Номенклатура
    И ПартииТоваровНаСкладахОстаткиИОбороты.Склад = &Склад
    И (ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)
            ИЛИ ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.ОтчетОРозничныхПродажах))
 
СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    РеализацияТоваровУслугТовары.Сумма,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток,
    РеализацияТоваровУслугТовары.Количество
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_1.Номенклатура,
    ВТ_1.Склад,
    ВТ_1.Регистратор,
    ВТ_1.ДокументОприходования,
    ВТ_1.СуммаПродажи,
    ВТ_1.КоличествоПродажи,
    ВТ_1.КоличествоНачальныйОстаток,
    ВТ_1.КоличествоПриход,
    ВТ_1.КоличествоРасход,
    ВТ_1.КоличествоКонечныйОстаток,
    ВТ_1.СтоимостьНачальныйОстаток,
    ВТ_1.СтоимостьПриход,
    ВТ_1.СтоимостьРасход,
    ВТ_1.СтоимостьКонечныйОстаток,
    ВТ_2.Номенклатура КАК Номенклатура1,
    ВТ_2.Склад КАК Склад1,
    ВТ_2.Регистратор КАК Регистратор1,
    ВТ_2.ДокументОприходования КАК ДокументОприходования1,
    ВТ_2.СуммаПродажи КАК СуммаПродажи1,
    ВТ_2.КоличествоПродажи КАК КоличествоПродажи1,
    ВТ_2.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток1,
    ВТ_2.КоличествоПриход КАК КоличествоПриход1,
    ВТ_2.КоличествоРасход КАК КоличествоРасход1,
    ВТ_2.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток1,
    ВТ_2.СтоимостьНачальныйОстаток КАК СтоимостьНачальныйОстаток1,
    ВТ_2.СтоимостьПриход КАК СтоимостьПриход1,
    ВТ_2.СтоимостьРасход КАК СтоимостьРасход1,
    ВТ_2.СтоимостьКонечныйОстаток КАК СтоимостьКонечныйОстаток1
ИЗ
    ВТ_1 КАК ВТ_1,
    ВТ_2 КАК ВТ_2
0
Миниатюры
Соединение таблиц в запросе для УТ 10.3  
GreenkA
Форумчанин
Эксперт 1С
3004 / 1928 / 520
Регистрация: 25.06.2009
Сообщений: 6,817
21.03.2016, 12:37 6
Thomas.Angelo, а вам надо не горизонтально? Дополнительными столбцами? Тогда добавляйте таблицу по реализации еще в основной запрос.

Добавлено через 2 минуты
стоп, неправильно делаете пакет, можно без временных таблиц. Просто второй пакет и на вкладке Объединения выставьте соответствия полей
1
Thomas.Angelo
7 / 7 / 3
Регистрация: 24.12.2011
Сообщений: 257
21.03.2016, 12:41  [ТС] 7
Цитата Сообщение от GreenkO Посмотреть сообщение
Thomas.Angelo, а вам надо не горизонтально?
Надо так как на скриншоте ниже.
Цитата Сообщение от GreenkO Посмотреть сообщение
можно без временных таблиц. Просто второй пакет и на вкладке Объединения выставьте соответствия полей
а по каким полям объединять пакет с Отчетами по рознице и пакет с Реализациями?
0
Миниатюры
Соединение таблиц в запросе для УТ 10.3  
GreenkA
Форумчанин
Эксперт 1С
3004 / 1928 / 520
Регистрация: 25.06.2009
Сообщений: 6,817
21.03.2016, 12:50 8
Лучший ответ Сообщение было отмечено Thomas.Angelo как решение

Решение

Thomas.Angelo,
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
ВЫБРАТЬ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    ОтчетОРозничныхПродажахТовары.Сумма КАК СуммаПродажи,
    ОтчетОРозничныхПродажахТовары.Количество КАК КоличествоПродажи,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
        ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ОтчетОРозничныхПродажахТовары.Номенклатура
            И ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор = ОтчетОРозничныхПродажахТовары.Ссылка
ГДЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = &Номенклатура
    И ПартииТоваровНаСкладахОстаткиИОбороты.Склад = &Склад
    И (ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.ОтчетОРозничныхПродажах))
 
СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ОтчетОРозничныхПродажахТовары.Сумма,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток,
    ОтчетОРозничныхПродажахТовары.Количество
 
ОБЪЕДИНИТЬ ВСЕ
 
ВЫБРАТЬ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    РеализацияТоваровУслугТовары.Сумма,
    РеализацияТоваровУслугТовары.Количество,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура
            И ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор = РеализацияТоваровУслугТовары.Ссылка
ГДЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = &Номенклатура
    И ПартииТоваровНаСкладахОстаткиИОбороты.Склад = &Склад
    И (ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг))
 
СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    РеализацияТоваровУслугТовары.Сумма,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход,
    ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток,
    РеализацияТоваровУслугТовары.Количество
1
21.03.2016, 12:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2016, 12:50

Соединение таблиц
Здравствуйте! У меня такой вопорс: Можно ли объединить две таблицы так, чтобы из второй таблицы...

Соединение таблиц
Всем привет, есть две таблицы: t1 A 11 B 12 C 13 и t2 B 21 C 22 D 23 Как осуществить...

Соединение таблиц
Есть три таблицы: кассы, магазины и операции. По идее надо бы связать кассы и магазин : alter...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.