Имя: Пароль:
1C
 
Запрос к документу из ТЧ другого документа
0 kIR
 
22.12.17
12:21
Добрый день!
Не могу никак дошурупить, как корректно сформировать запрос, прошу вашей помощи

Суть задачи такова: получаем данные из регистра сведений. В случае, если значением измерения "ИсточникЗаписи" является документ "Поступление товаров" или "Поступление Доп расходов", то получаем дату из документа из измерения "Источники записи". Тут все нормально.


Если значением измерения "ИсточникЗаписи" является документ "Таможенная Декларация", то нужно получать дату из поля "ВхДокДата" документа "Поступления", который указан в ТЧ документа "Таможенная Декларация" в колонке "Партия". Если эта дата не заполнена, то получать просто дату этого поступления.

В моем документе "Таможенная Декларация" 1 строчка и на выходе тоже хочу видеть 1 строчку, но никак не получается.((
Сейчас запрос выглядит так :




ВЫБРАТЬ
    ЗаписиSAP.ИсточникЗаписи КАК ИсточникЗаписи,
    ВЫБОР
        КОГДА ЗаписиSAP.ИсточникЗаписи ССЫЛКА Документ.ПоступлениеТоваров
                ИЛИ ЗаписиSAP.ИсточникЗаписи ССЫЛКА Документ.Viper_ПоступлениеДопРасходовНаАвтомобили
            ТОГДА ВЫБОР
                    КОГДА ЗаписиSAP.ИсточникЗаписи.ВхДокДата = ДАТАВРЕМЯ(1, 1, 1)
                        ТОГДА ЗаписиSAP.ИсточникЗаписи.Дата
                    ИНАЧЕ ЗаписиSAP.ИсточникЗаписи.ВхДокДата
                КОНЕЦ
        ИНАЧЕ ВЫБОР
                КОГДА ЗаписиSAP.ИсточникЗаписи ССЫЛКА Документ.Viper_ТаможеннаяДекларация
                    ТОГДА ВЫБОР
                            КОГДА Viper_ТаможеннаяДекларацияАвтомобили.Партия.ВхДокДата = ДАТАВРЕМЯ(1, 1, 1)
                                ТОГДА Viper_ТаможеннаяДекларацияАвтомобили.Партия.Дата
                            ИНАЧЕ Viper_ТаможеннаяДекларацияАвтомобили.Партия.ВхДокДата
                        КОНЕЦ
            КОНЕЦ
    КОНЕЦ КАК DOCDATE
ИЗ
    РегистрСведений.Viper_ЗаписиSAP КАК ЗаписиSAP
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.Viper_ТаможеннаяДекларация.Автомобили КАК Viper_ТаможеннаяДекларацияАвтомобили
        ПО ЗаписиSAP.ИсточникЗаписи = Viper_ТаможеннаяДекларацияАвтомобили.Ссылка
ГДЕ
    ЗаписиSAP.ИсточникЗаписи.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И НЕ ЗаписиSAP.ЗаписьВыгружена
    И ЗаписиSAP.ИсточникЗаписи = &ТД


Как правильно сделать? Спасибо
1 Ёпрст
 
22.12.17
12:29
(22) как минимум, в case не хватает последнего иначе
2 Ёпрст
 
22.12.17
12:30
чтобы в DOCDATE null не прилетал, если ИсточникЗаписи не заполнен, или не равен этим трём видам документов
3 Ёпрст
 
22.12.17
12:31
ну и..
Viper_ТаможеннаяДекларацияАвтомобили.Партия поди может быть
а)составного типа
б)не заполнена
4 kIR
 
22.12.17
12:31
(2) согласен. Поправлю. Но корень проблемы сейчас в другом) получить для каждого автомобиля из табличной части одну дату поступления.
Потому что у меня при одном автомобиле - в запрос попадает 7 строк аж
5 catena
 
22.12.17
12:31
+ если тянешь из ТЧ, нужно как-то еще в соединении строку указать, с которой тянуть.
6 kIR
 
22.12.17
12:31
(5) во! как?
7 Ёпрст
 
22.12.17
12:32
(4) воткнуть условие на
ПО ЗаписиSAP.ИсточникЗаписи = Viper_ТаможеннаяДекларацияАвтомобили.Ссылка и
Viper_ТаможеннаяДекларацияАвтомобили.НомерСтроки=1
8 kIR
 
22.12.17
12:32
(7) у меня может быть в документе и больше строк)
9 catena
 
22.12.17
12:33
(6)Тебе виднее, какая там связь декларации со строкой регистра.
10 Ёпрст
 
22.12.17
12:33
(8) и ? ты же сам говоришь, хочу одну строку. Нам отсюда не видно, какую именно хочешь, если не первую
11 kIR
 
22.12.17
12:34
(8) ну я про одну строку - пример привел) Вообще в декларации может быть, по сути, сколько угодно строк
12 kIR
 
22.12.17
12:34
(10)ой,эт для тебя было
13 Ёпрст
 
22.12.17
12:36
(11)
Понятно, оне сами не знают, че хочутъ
14 kIR
 
22.12.17
12:39
(13) для каждого автомобиля из тч выводить дату из документа в колонке "партия" в той же строке
Если коротко
15 Ёпрст
 
22.12.17
12:39
если у тебя в
Viper_ТаможеннаяДекларацияАвтомобили
в партия торчит один и тот же документ, то что ты хочешь от запроса видеть ?
16 Ёпрст
 
22.12.17
12:40
(14) где в запросе автомобили у тебя ?
17 catena
 
22.12.17
12:45
(14)"в той же" - в какой? Ты регистр открыл, там строка, в ней документ. Ты визуально как знаешь, к какой строке документа относится эта строка регистра?
18 kIR
 
22.12.17
13:02
(16) Косячник. Там еще строка

  |    ЗаписиSAP.СерийныйНомер,


где серийный номер подтягивается из автомобиля из табличной части из источника записи
19 hhhh
 
22.12.17
13:02
(17) ну если он хочет, чтобы все строки попали, то пусть.
20 catena
 
22.12.17
13:04
(19)Так не хочет же, не нравится ему 7 строк на одну))
21 catena
 
22.12.17
13:04
(18)Ну вот и запиши всё это в запрос, а не на форум.