Имя: Пароль:
1C
1С v8
Верны ли будут числовые данные в запросе
0 LivingStar
 
28.08.13
07:05
В запросе 2 пакетных запроса, выбирающие числовые данные. В итоговом запросе они связаны ВНУТРЕННИМ соединением. Вопрос в том войдут ли в итоговый запрос все числовые данные из пакетных запросов, например если какие то будут присутствовать в первом пакете и отсутствовать во втором. Или если данные будут присутствовать во втором пакете и отсутствовать в первом.

ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Контрагент,
    ВложенныйЗапрос.ТорговаяТочка,
    ВложенныйЗапрос.КоличествоОборот КАК КоличествоОборот,
    ВложенныйЗапрос.ПериодМесяц,
    ВложенныйЗапрос.АдресТорговойТочки
ПОМЕСТИТЬ ВТ_Таб1
{ВЫБРАТЬ
    Номенклатура.*,
    Контрагент.*,
    ТорговаяТочка.*,
    КоличествоОборот,
    ПериодМесяц}
ИЗ
    (ВЫБРАТЬ
        ПродажиОбороты.Номенклатура КАК Номенклатура,
        ПродажиОбороты.Контрагент КАК Контрагент,
        ПродажиОбороты.ДокументПродажи.ТорговаяТочка КАК ТорговаяТочка,
        ПродажиОбороты.КоличествоОборот / ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоОборот,
        ПродажиОбороты.ПериодМесяц КАК ПериодМесяц,
        ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КАК АдресТорговойТочки
    ИЗ
        РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Авто, Номенклатура В ИЕРАРХИИ (&СписокТаб1)) КАК ПродажиОбороты
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
            ПО ПродажиОбороты.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект
                И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
                И (КонтактнаяИнформация.Вид.Код = "000000027")) КАК ВложенныйЗапрос
{ГДЕ
    ВложенныйЗапрос.Номенклатура.*,
    ВложенныйЗапрос.ТорговаяТочка.*,
    ВложенныйЗапрос.Контрагент.*,
    ВложенныйЗапрос.КоличествоОборот,
    ВложенныйЗапрос.ПериодМесяц}
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Контрагент,
    ВложенныйЗапрос.ТорговаяТочка,
    ВложенныйЗапрос.КоличествоОборот КАК КоличествоОборот,
    ВложенныйЗапрос.ПериодМесяц,
    ВложенныйЗапрос.АдресТорговойТочки
ПОМЕСТИТЬ ВТ_Таб2
{ВЫБРАТЬ
    Номенклатура.*,
    Контрагент.*,
    ТорговаяТочка.*,
    КоличествоОборот,
    ПериодМесяц}
ИЗ
    (ВЫБРАТЬ
        ПродажиОбороты.Номенклатура КАК Номенклатура,
        ПродажиОбороты.Контрагент КАК Контрагент,
        ПродажиОбороты.ДокументПродажи.ТорговаяТочка КАК ТорговаяТочка,
        ПродажиОбороты.КоличествоОборот / ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоОборот,
        ПродажиОбороты.ПериодМесяц КАК ПериодМесяц,
        ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КАК АдресТорговойТочки
    ИЗ
        РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Авто, Номенклатура В ИЕРАРХИИ (&СписокТаб2)) КАК ПродажиОбороты
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
            ПО ПродажиОбороты.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект
                И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
                И (КонтактнаяИнформация.Вид.Код = "000000027")) КАК ВложенныйЗапрос
{ГДЕ
    ВложенныйЗапрос.Номенклатура.*,
    ВложенныйЗапрос.ТорговаяТочка.*,
    ВложенныйЗапрос.Контрагент.*,
    ВложенныйЗапрос.КоличествоОборот,
    ВложенныйЗапрос.ПериодМесяц}
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Таб1.ТорговаяТочка,
    ВТ_Таб1.АдресТорговойТочки,
    ВТ_Таб1.КоличествоОборот,
    ВТ_Таб2.КоличествоОборот КАК КоличествоОборот1
ИЗ
    ВТ_Таб1 КАК ВТ_Таб1
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Таб2 КАК ВТ_Таб2
        ПО ВТ_Таб1.ТорговаяТочка = ВТ_Таб2.ТорговаяТочка
1 Ненавижу 1С
 
гуру
28.08.13
07:12
(0)
1. нет
2. купи учебники
2 LivingStar
 
28.08.13
07:12
(1) посоветуйте как нужно
3 Jonny_Khomich
 
28.08.13
07:29
(2)  купи учебники
4 LivingStar
 
28.08.13
07:36
какие нах учебники???
5 Wobland
 
28.08.13
07:39
(4) любые, способные рассеять мрак в твоей голове.
имхо, тут ремнём нужно работать. тогда тяга к учебникам возникнет сама собой
6 Irbis
 
28.08.13
07:40
(4) ЖК или ЖКК
7 LivingStar
 
28.08.13
07:41
вот запрос, как в нем увязать номенклатуру?

ВЫБРАТЬ
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    ПродажиОбороты.Контрагент КАК Контрагент,
    ПродажиОбороты.ДокументПродажи.ТорговаяТочка КАК ДокументПродажиТорговаяТочка,
    ПродажиОбороты.КоличествоОборот / ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоИюль,
    0 КАК КоличествоАвгуст,
    ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КАК АдресТорговойТочки
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачДатаИюль, &КонДатаИюль, Регистратор, Номенклатура В ИЕРАРХИИ (&СписокНоменклатуры)) КАК ПродажиОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        ПО ПродажиОбороты.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект
            И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
            И (КонтактнаяИнформация.Вид.Код = "000000027")

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.Контрагент,
    ПродажиОбороты.ДокументПродажи.ТорговаяТочка,
    0,
    ПродажиОбороты.КоличествоОборот / ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент,
    ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100))
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачДатаАвгуст, &КонДатаАвгуст, Регистратор, Номенклатура В ИЕРАРХИИ (&СписокНоменклатуры)) КАК ПродажиОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        ПО ПродажиОбороты.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект
            И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
            И (КонтактнаяИнформация.Вид.Код = "000000027")
8 Ненавижу 1С
 
гуру
28.08.13
07:42
наверное вытащить во врменную таблицу, а потом ее сгруппировать
9 LivingStar
 
28.08.13
07:45
(8) что перетащить во временную таблицу? пакетные запросы. или весь этот запрос7
10 LivingStar
 
28.08.13
07:51
(8) Во вложенный запрос только в не во временную таблицу.
Так нормальная выборка будет?

ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Контрагент,
    ВложенныйЗапрос.ДокументПродажиТорговаяТочка,
    СУММА(ВложенныйЗапрос.КоличествоИюль) КАК КоличествоИюль,
    СУММА(ВложенныйЗапрос.КоличествоАвгуст) КАК КоличествоАвгуст,
    ВложенныйЗапрос.АдресТорговойТочки
ИЗ
    (ВЫБРАТЬ
        ПродажиОбороты.Номенклатура КАК Номенклатура,
        ПродажиОбороты.Контрагент КАК Контрагент,
        ПродажиОбороты.ДокументПродажи.ТорговаяТочка КАК ДокументПродажиТорговаяТочка,
        ПродажиОбороты.КоличествоОборот / ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоИюль,
        0 КАК КоличествоАвгуст,
        ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КАК АдресТорговойТочки
    ИЗ
        РегистрНакопления.Продажи.Обороты(&НачДатаИюль, &КонДатаИюль, Регистратор, Номенклатура В ИЕРАРХИИ (&СписокНоменклатуры)) КАК ПродажиОбороты
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
            ПО ПродажиОбороты.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект
                И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
                И (КонтактнаяИнформация.Вид.Код = "000000027")
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ПродажиОбороты.Номенклатура,
        ПродажиОбороты.Контрагент,
        ПродажиОбороты.ДокументПродажи.ТорговаяТочка,
        0,
        ПродажиОбороты.КоличествоОборот / ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент,
        ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100))
    ИЗ
        РегистрНакопления.Продажи.Обороты(&НачДатаАвгуст, &КонДатаАвгуст, Регистратор, Номенклатура В ИЕРАРХИИ (&СписокНоменклатуры)) КАК ПродажиОбороты
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
            ПО ПродажиОбороты.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект
                И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
                И (КонтактнаяИнформация.Вид.Код = "000000027")) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Контрагент,
    ВложенныйЗапрос.ДокументПродажиТорговаяТочка,
    ВложенныйЗапрос.АдресТорговойТочки
11 Starhan
 
28.08.13
07:56
(0)Хорошо работать 1сником: зашел на мисту, полчаса позора, и вуаля оклад на сегодня отработан.
12 Rie
 
28.08.13
08:03
(10) Открой для себя консоль запросов.
13 LivingStar
 
28.08.13
08:06
(11) да ви чьто!!!

(12) я там и тестирую
14 Rie
 
28.08.13
08:08
(13) Тогда тебе и видно - нормальная выборка или так себе...
15 Лодырь
 
28.08.13
08:13
Сразу видно, что ктото прогуливал курс по базам данных.
16 LivingStar
 
28.08.13
08:32
выбирает...
17 LivingStar
 
28.08.13
08:33
(15) нельзя прогуливать такие курсы !!!
18 Wobland
 
28.08.13
08:46
(17) я вот с трудом сдал экзамен по дазам банных, знаний не сформировалось. но вопросов таких у меня почему-то не возникает крайние лет 7-9. можно прогуливать
19 Мимохожий Однако
 
28.08.13
08:49
(0)Озвучь цель запроса.
20 LivingStar
 
28.08.13
09:36
А что пакетным запросом такое нельзя выбрать? Может в (0) в итоговом запросе нужно другой вид соединения???

(19) Количество продаж по товарам с адресом, за июль, и за 1-25 августа.
21 Лодырь
 
28.08.13
09:56
(18) Если ты умеешь писать сложные запросы и знаешь чем отличается внутреннее соединение от внешнего/левого/правого то как минимум ты чтото усвоил из области знаний о реляционных БД.
22 LivingStar
 
28.08.13
10:32
(21) я знаю что такое левое соединение, соответственно правое

на остальные манюала у вас нет?
23 LivingStar
 
28.08.13
10:33
Интересно имеются ли сборники запросов для типовых конфигураций. Например УТ 10.3, всякие выборки, правильные. Для примера и что бы дорабатывать их под доработанные конфигурации. Должно же быть, никто не знает где взять?
24 Ненавижу 1С
 
гуру
28.08.13
11:23
типовые выборки в типовых конфигурациях
25 Ёпрст
 
гуру
28.08.13
11:26
(0) начни с этого
http://www.sql-ex.ru/
26 LivingStar
 
28.08.13
11:57
(24) Я имел ввиду дерево запросов которое можно открывать в консоли с корректными названиями запросов. Всякие примеры. А то что их из построителя вытаскивать? Так там получается вытащить, запрос с непонятными параметрами, и без тех что задаются в настройках запроса, и ещё и не понятно что вытащилось...

(25) Вот это тема !!! Раз как то советовали, пробовал! Сложно дается блин!!! Но очень наверное полезно это!!! Вот бы темными вечерами вместо Jaguar и сосен, заниматься бы этим.
27 LivingStar
 
28.08.13
11:59
(25) Только не совсем понятно почему SQL? 1с это не SQL же, на 1с если были бы упражения, было бы проще.
28 Ненавижу 1С
 
гуру
28.08.13
12:00
29 hhhh
 
28.08.13
12:01
(27) 1с взяло язык у SQL. Поэтому надо книжки по SQL читать, там до фига упражнений, а по 1с мало.
30 LivingStar
 
28.08.13
12:10
(29) И можно потом прямые запросы в SQL Server делать, в обход 1с?!! Надо изучать консоль запросов SQL Server-ра.
31 exwill
 
28.08.13
12:13
(27) Язык запросов 1С - это SQL. Чуть менее, чем полностью.
32 Wobland
 
28.08.13
12:16
(30) заодно изучи sqlные имена таблиц, хехе
33 Ненавижу 1С
 
гуру
28.08.13
12:17
(31) ну как же, а где тут EXIST и ANY?