Имя: Пароль:
1C
1С v8
Запрос к Регистру сведений на дату
0 SH_tan
 
18.08.14
16:15
Есть Расходные накладные надо получить на дату каждой РН Отсрочку по кредиту
как сделать?
1 SH_tan
 
18.08.14
16:16
ВЫБРАТЬ
    РасходнаяНакладная.Ссылка,
    РасходнаяНакладная.ДатаОплаты,
    ПараметрыКонтрагентовСрезПоследних.СуммаКредитаПокупателя,
    ПараметрыКонтрагентовСрезПоследних.ГлубинаКредитаПокупателя,
    ДОБАВИТЬКДАТЕ(РасходнаяНакладная.Дата, ДЕНЬ, ПараметрыКонтрагентовСрезПоследних.ГлубинаКредитаПокупателя) КАК ДобавитьКДате,
    РасходнаяНакладная.Дата
ИЗ
    Документ.РасходнаяНакладная КАК РасходнаяНакладная
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыКонтрагентов.СрезПоследних(, ) КАК ПараметрыКонтрагентовСрезПоследних
        ПО РасходнаяНакладная.Контрагент = ПараметрыКонтрагентовСрезПоследних.Контрагент
ГДЕ
    РасходнаяНакладная.Проведен = ИСТИНА
    И РасходнаяНакладная.ПометкаУдаления = ЛОЖЬ
    И ПараметрыКонтрагентовСрезПоследних.ГлубинаКредитаПокупателя > 0
2 SH_tan
 
18.08.14
16:17
это по срезу - и неправильно
3 Бешеная Нога
 
18.08.14
16:17
4 Crush
 
18.08.14
16:18
1. Выбрать максимальные даты до дат РН
2. Прилепить значения на выбранные даты
5 SH_tan
 
18.08.14
17:37
ВЫБРАТЬ
    Таб1.СсылкаДок,
    Таб1.ДатаДок,
    Таб1.ВалютаДок,
    ПараметрыКонтрагентов.ГлубинаКредитаПокупателя
ИЗ
    (ВЫБРАТЬ
        РасходнаяНакладная.Ссылка КАК СсылкаДок,
        РасходнаяНакладная.Дата КАК ДатаДок,
        РасходнаяНакладная.ВалютаДокумента КАК ВалютаДок,
        МАКСИМУМ(ПараметрыКонтрагентов.Период) КАК ПериодДок
    ИЗ
        Документ.РасходнаяНакладная КАК РасходнаяНакладная
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыКонтрагентов КАК ПараметрыКонтрагентов
            ПО (ПараметрыКонтрагентов.Период <= РасходнаяНакладная.Дата)
    
    СГРУППИРОВАТЬ ПО
        РасходнаяНакладная.Ссылка,
        РасходнаяНакладная.Дата,
        РасходнаяНакладная.ВалютаДокумента) КАК Таб1
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыКонтрагентов КАК ПараметрыКонтрагентов
        ПО Таб1.ПериодДок = ПараметрыКонтрагентов.Период
6 SH_tan
 
18.08.14
17:38
сделал так но неправильно же....
7 SH_tan
 
18.08.14
17:39
а необходимо выбрать РасхНакл и значение ГлубинаКредита из РегистрСведений на дату РН
8 SH_tan
 
18.08.14
17:42
и выдает по 1-5 записей с одинаковой РасхНакл а должен одну
9 hhhh
 
18.08.14
17:58
(8) ну 5 записей, потому что контрагента выбросил

ПО РасходнаяНакладная.Контрагент = ПараметрыКонтрагентовСрезПоследних.Контрагент

Параметры контрагентов берешь, а контрагента нет.
10 SH_tan
 
19.08.14
15:44
(9) вот так?

(9) вот так?

ВЫБРАТЬ
    ТАБ1.СсылкаДок,
    ТАБ1.ДатаДок,
    ТАБ1.КонтрагентДок,
    Таб2.ГлубинаКредитаПокупателя
ИЗ
    (ВЫБРАТЬ
        РасходнаяНакладная.Ссылка КАК СсылкаДок,
        РасходнаяНакладная.Дата КАК ДатаДок,
        РасходнаяНакладная.Контрагент КАК КонтрагентДок,
        МАКСИМУМ(ПараметрыКонтрагентов.Период) КАК ПериодДок
    ИЗ
        Документ.РасходнаяНакладная КАК РасходнаяНакладная
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыКонтрагентов КАК ПараметрыКонтрагентов
            ПО (ПараметрыКонтрагентов.Период <= РасходнаяНакладная.Дата)
                И РасходнаяНакладная.Контрагент = ПараметрыКонтрагентов.Контрагент
    
    СГРУППИРОВАТЬ ПО
        РасходнаяНакладная.Ссылка,
        РасходнаяНакладная.Дата,
        РасходнаяНакладная.Контрагент) КАК ТАБ1
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыКонтрагентов КАК Таб2
        ПО ТАБ1.ПериодДок = Таб2.Период
            И ТАБ1.КонтрагентДок = Таб2.Контрагент
Основная теорема систематики: Новые системы плодят новые проблемы.