Имя: Пароль:
1C
1C 7.7
v7: Прямые запросы: как присоединить журнал документов
0 OnePrg
 
09.12.20
15:05
В справочнике есть поле документа. Нужно отобрать элементы справочника в зависимости от даты документа.

Как присоединить журнал?

    SELECT
    |     $Серия.ДокументПрих as [ДокументПрих $Документ],
    |     $Серия.СерийныйНомер as СерийныйНомер,
    |     $Серия.ДатаИзготовления as ДатаИзготовления,
    |     $Серия.ДатаОкончания as ДатаОкончания,
    |     $Серия.СрокДействия as СрокДействия,
    |     $Серия.Поставщик as [Поставщик $Справочник.Контрагенты],
    |     CAST(LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДок
    |FROM
    |    $Справочник.Серия AS Серия            
    |LEFT JOIN                              
    |    _1SJourn Жур ON $Серия.ДокументПрих = Жур.IDDoc



ON $Серия.ДокументПрих = Жур.IDDoc

не работает
1 ДенисЧ
 
09.12.20
15:07
длины ИД не совпадают? Какой тип ДокументПРих в справочнике?
2 OnePrg
 
09.12.20
15:11
(1) Документ без вида
3 ДенисЧ
 
09.12.20
15:12
Ну вот и.
В справочнике у тебя 13 символов, в журнале 9
И как ты хочешь их по равенству соединить?
4 OnePrg
 
09.12.20
15:13
(3) а, точно, точно

напомни пожалуйста как это делается
5 ДенисЧ
 
09.12.20
15:17
Ну, например, RIGHT() или SUBSTRING()
6 OnePrg
 
09.12.20
15:22
(5) Ага, вспомнил

    "SELECT
    |     $Серия.ДокументПрих as [ДокументПрих $Документ],
    |     $Серия.СерийныйНомер as СерийныйНомер,
    |     $Серия.ДатаИзготовления as ДатаИзготовления,
    |     $Серия.ДатаОкончания as ДатаОкончания,
    |     $Серия.СрокДействия as СрокДействия,
    |     $Серия.Поставщик as [Поставщик $Справочник.Контрагенты],
    |     CAST(LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДок
    |FROM
    |    $Справочник.Серия AS Серия            
    |LEFT JOIN                              
    |    _1SJourn Жур ON SUBSTRING($Серия.ДокументПрих,5,9) = Жур.IDDoc



Спасибо!