Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

объединение двух таблиц

объединение двух таблиц
Я
   RizONE
 
29.01.18 - 11:54
Подскажите решение такой задачи:
регистр накопления по периодам, например
01.12.2017
01.01.2018
01.02.2018
01.03.2018
01.04.2018

периодический регистр цен, типа
01.01.2016 140
01.02.2018 128
01.03.2018 315

как прикрутить цены в запросе к регистру накопления, чтобы напротив каждой строки стояла своя цена?
 
 
   Timon1405
 
1 - 29.01.18 - 12:07
поискать срез последних на каждую дату не предлагать?
   RizONE
 
2 - 29.01.18 - 12:10
(1) предлагай, главное чтобы все делалось в запросе
   Timon1405
 
3 - 29.01.18 - 12:12
   Azxcvbn
 
4 - 29.01.18 - 12:35
Не объединение, гуглите срез последних на каждую дату, найдете кучу решений
   RizONE
 
5 - 29.01.18 - 13:52
Спасибо за наводки.
Решилось довольно просто )
   RizONE
 
6 - 29.01.18 - 13:59
// разворачиваем регистр в строки

ВЫБРАТЬ
    Запрос.Период,
    СУММА(Запрос.Цена_1) КАК Цена_1,
    СУММА(Запрос.Цена_2) КАК Цена_2
ПОМЕСТИТЬ Цены
ИЗ
    (ВЫБРАТЬ
        Цены.Период КАК Период,
        ВЫБОР
            КОГДА Цены.ТипУслуги = ЗНАЧЕНИЕ(перечисление.ТипУслуги.Услуга_1)
                ТОГДА Цены.Цена
            ИНАЧЕ 0
        КОНЕЦ КАК Цена_1,
        ВЫБОР
            КОГДА Цены.ТипУслуги = ЗНАЧЕНИЕ(перечисление.ТипУслуги.Услуга_2)
                ТОГДА Цены.Цена
            ИНАЧЕ 0
        КОНЕЦ КАК Цена_2
    ИЗ
        РегистрСведений.Цены КАК Цены) КАК Запрос

СГРУППИРОВАТЬ ПО
    Запрос.Период
;

////////////////////////////////////////////////////////////////////////////////

// тут собираем все периоды по которым нужны Цены
ВЫБРАТЬ РАЗЛИЧНЫЕ
    Начисления.Период
ПОМЕСТИТЬ Периоды
ИЗ
    РегистрНакопления.Начисления КАК Начисления
;

////////////////////////////////////////////////////////////////////////////////

// собственно вся магия
ВЫБРАТЬ
    Периоды.Период,
    МАКСИМУМ(Цены.Период) КАК ПериодЦены
ПОМЕСТИТЬ ППЦ
ИЗ
    Периоды КАК Периоды
        ЛЕВОЕ СОЕДИНЕНИЕ Цены КАК Цены
        ПО Периоды.Период >= Цены.Период

СГРУППИРОВАТЬ ПО
    Периоды.Период
;

////////////////////////////////////////////////////////////////////////////////

// результат
ВЫБРАТЬ
    ППЦ.Период,
    Цены.Цена_1,
    Цены.Цена_2
ИЗ
    ППЦ КАК ППЦ
        ЛЕВОЕ СОЕДИНЕНИЕ Цены КАК Цены
        ПО ППЦ.ПериодЦены = Цены.Период

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует