Имя: Пароль:
1C
1C 7.7
v7: Прямые запросы 1С++ , периодический реквизит справочника
0 Slaventiya
 
25.04.12
23:42
|LEFT JOIN
       |    $Документ.'" + Вид() + "' ON ДокументП.ParentExt = Спр.ID AND $ДокументП.ДатаДок < :ТекДата    

       
       ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);

Подскажите как подставить Вид документа, и что тут в принципе неправильно
1 Slaventiya
 
25.04.12
23:55
Исправил на
       |LEFT JOIN
       |    $Документ.IDDocDef ДокументП ON ДокументП.IDDOC = Спр.ДокументПоступления AND $ДокументП.ДатаДок >= :ТекДата

Выдает ошибку    

ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
{Справочник.Номенклатура.ФормаСписка.ДляПодбора.Модуль(89)}: Meta name parser error: объект не найден "$Документ.IDDocDef"

Пока идеи подощли финишу
2 Злой Бобр
 
26.04.12
00:03
Для начала начать с http://www.forum.mista.ru/rules.php#rec
3 Slaventiya
 
26.04.12
00:07
(2) И на этом спасибо, позно уже просто, мог и подтупить.... но вот как то не нахожу без создания темы ничего подобного
4 SnarkHunter
 
26.04.12
00:40
Какой-то поток сознания... Это не "мог и подтупить", это жесткий тупняк и полное непонимание ситуации...
5 nicxxx
 
26.04.12
00:50
у документов нет полей parentext
а чего в результате получить хотел?
6 Азат
 
26.04.12
00:53
iddocdef - поле джорна, джойнь джорн по иддок
7 Sereja
 
26.04.12
00:55
(0) http://infostart.ru/public/14933/ пользуешь ?
8 Slaventiya
 
26.04.12
02:16
Не всем сразу дано, знал бы не спрашивал, прямые запросы приходится осваивать... Хотелось сузить выборку, для списка номенклатуры в подборе... уперся в периодический реквизит справочника номенклатура ДокументПоступления - тип документ, вид неопределен
9 Азат
 
26.04.12
07:48
(8) а ты не пробовал такой вид изврата как "чтение хелпа с 1Срр.ру"? там оч конкретный пример есть с периодической ценой
10 Slaventiya
 
26.04.12
08:11
Все бы хорошо, но пример не настолько хорош.... особенно в случае когда этот рекизит документ неоределенного вида
11 Азат
 
26.04.12
08:13
(10) напиши еще раз, что тебе надо?
12 Salimbek
 
26.04.12
08:19
(0) Ты вообще сам периодический реквизит то достаешь? А то там тоже не просто...
Если достаешь успешно, то далее важно узнать - тип реквизита в точности какой, т.к. есть разница между "Неопределенный" и "тип Документ, неопределенного вида"
13 Slaventiya
 
26.04.12
08:35
В то то и дело что нет.... ( В примере в конструкции обращение к определенному типу число, а у меня именно просто "ДОкумент", вот и пробывал через (1) но метапрсер меня сразу де послал и прохоже за дело
14 Slaventiya
 
26.04.12
08:38
(10) Сформировать список справочника номенклатура, у справочника есть Реквизит ДокументПоступленя - Периодический, тип "Документ" вид непоределен
15 Slaventiya
 
26.04.12
08:41
(14) в (9)
16 Z1
 
26.04.12
08:48
(14) вообще не понятно что может отражать такой реквизит справочника. А если в один день было несколько поступлений одного товара да еще и по разным складам.

(1) по куску запроса вообще не понятно что с чем соединяешь.
17 Азат
 
26.04.12
09:21
select
 sc.id,
 jj.iddocdef as Док_вид,
 jj.iddoc as [Док $Документ]
from $Справочник.Номенклатура as sc (nolock)
left join _1sjourn as jj on jj.iddoc = $ПоследнееЗначение.ДокументПоступления(sc.id, :Дата)

С последним значением могу ошибаться, но вроде что-то такое там было)
18 Mikeware
 
26.04.12
09:47
(17) У него - док неопределенного вида, поэтому надо right($Последнее.., 9)
19 Азат
 
26.04.12
09:48
(18) а, ну да да
20 Slaventiya
 
26.04.12
10:23
ТекстЗапроса = "
       |SELECT
       |    Спр.Id            as [Товар $Справочник.Номенклатура],
       |    Спр.ParentId    as ИдРодитель,
       |    $Спр.ДляПродажи as ДляПродажи,
       |    Спр.IsFolder    as Группа
       //|    $ПоследнееЗначение.Номенклатура.ДокументПоступления(ДокументП.ДатаДок, :ТекДата) as ДатаП
       |FROM
       |    $Справочник.Номенклатура as Спр
       //|LEFT JOIN
       //|    $Документ.IDDocDef ДокументП ON ДокументП.IDDOC = Спр.ДокументПоступления AND $ДокументП.ДатаДок >= :ТекДата    
       |WHERE
       |   $Спр.ДляПродажи <> :Булево AND
       |   Спр.IsMark = 0 AND
       |    Спр.ParentId = :Родитель
       |ORDER BY
       |    Спр.Descr";

Текст запроса,
21 Азат
 
26.04.12
10:27
(20) ну (17) и (18) см... все же написано, а?
22 Slaventiya
 
26.04.12
10:34
(18) Не совсем понял что означает....
23 Азат
 
26.04.12
10:58
(22)так работает?

ТекстЗапроса = "
       |SELECT
       |    Спр.Id            as [Товар $Справочник.Номенклатура],
       |    Спр.ParentId    as ИдРодитель,
       |    $Спр.ДляПродажи as ДляПродажи,
       |    Спр.IsFolder    as Группа
       |    jj.iddocdef as Док_вид,
       |    jj.iddoc as [Док $Документ]
       |FROM
       |    $Справочник.Номенклатура as Спр
       left join _1sjourn as jj on jj.iddoc = RIGHT($ПоследнееЗначение.Номенклатура.ДокументПоступления(:Дата, sc.id), 9)
       |WHERE
       |   $Спр.ДляПродажи <> :Булево AND
       |   Спр.IsMark = 0 AND
       |    Спр.ParentId = :Родитель
       |ORDER BY
       |    Спр.Descr";
24 Азат
 
26.04.12
10:58
ток вместо sc напиши Спр
25 Slaventiya
 
26.04.12
11:12
(23) Не работает

ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
{Справочник.Номенклатура.ФормаСписка.ДляПодбора.Модуль(107)}: State 42000, native 102, message [Microsoft][ODBC SQL Server Driver][SQL Server]Неправильный синтаксис около конструкции "jj".
26 Азат
 
26.04.12
11:15
после Группа запятую поставь... ну нельзя же быть настолько акуевшим, а?
27 Slaventiya
 
26.04.12
11:18
(26) Блин... Извени... прав, на 100%, каюсь
28 oartemyev
 
26.04.12
11:25
Вообще-то для объекта "Документ" не определенного типа не нужно использовать типизацию IDDOCDEF, потому как типизация в самой ссылке на объект есть

Достаточно так :

       |SELECT
       |    Спр.Id          as [Товар $Справочник.Номенклатура],
       |    Спр.ParentId    as ИдРодитель,
       |    Спр.IsFolder    as Группа
       |    $ПоследнееЗначение.Номенклатура.ДокументПоступления(:Дата, sc.id) as [Док $Документ]
       |FROM
       |    $Справочник.Номенклатура as Спр
       |WHERE  <Условие выборки>
       |ORDER BY
       |    Спр.Descr";
29 oartemyev
 
26.04.12
11:27
Блин, описался как и Азат ))))

|SELECT
       |    Спр.Id          as [Товар $Справочник.Номенклатура],
       |    Спр.ParentId    as ИдРодитель,
       |    Спр.IsFolder    as Группа
       |    $ПоследнееЗначение.Номенклатура.ДокументПоступления(:Дата, Спр.id) as [Док $Документ]
       |FROM
       |    $Справочник.Номенклатура as Спр
       |WHERE  <Условие выборки>
       |ORDER BY
       |    Спр.Descr";