Имя: Пароль:
1C
1C 7.7
v7: Конкретный вид документов в запросе.
0 Eeakie
 
11.11.13
17:20
Добрый вечер.
Подскажите как засунуть в прямой запрос условие отбора конкретных видов документов? Делаю так:

    |SELECT
    |    Рег.IDDoc as [Док $Документ],
    |    Жур.IDDocDef as ВидДокумента,
    |   Рег.Товар as [ТоварПрайс $Справочник.Прайс_лист],
    |    Рег.КоличествоНачальныйОстаток as НачКол,
    |   Рег.КоличествоПриход as Приход,
    |   Рег.КоличествоРасход as Расход,
    |   Рег.КоличествоКонечныйОстаток as КонОст,
    |   Рег.СуммаНачальныйОстаток as НачСумма,
    |   Рег.СуммаПриход as СуммаПриход,
    |   Рег.СуммаРасход as СуммаРасход,
    |   Рег.СуммаКонечныйОстаток as КонСумма
    |FROM
    |   $РегистрОстаткиОбороты.ПОстаткиСвободные(:ДатаН, :ДатаК~,,,,,,(Количество, Сумма)) as Рег
    |INNER JOIN
    |    _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc";

Пишет: Недопустимое имя столбца "IDDoc".

Или с виртуальных таблиц нельзя вытянуть документ, сделавший движение?
И если нельзя, то как получить отбор по нескольким конкретным видам документов? Спасибо.
1 Ёпрст
 
11.11.13
17:21
читай про параметры метода..
2 Ёпрст
 
11.11.13
17:22
http://www.1cpp.ru/docum/icpp/html/ODBC.html#id36

особенно, про периодичность
3 Ёпрст
 
11.11.13
17:23
Ну и.. если у регистра есть галка быстрая обработка движения, то соедиенния с журналом не нужно - вид есть в самой табличке движения регистра.
4 Ёпрст
 
11.11.13
17:23
Хотя, в ВТ и так есть ВидДокумента (и без галки)
5 Ёпрст
 
11.11.13
17:24
при нужной периодичности..
6 Eeakie
 
11.11.13
17:24
(3) Спасибо. Буду курить дальше...
7 mikecool
 
11.11.13
17:25
у журнала, емнип, date_time_iddoc
8 Ёпрст
 
11.11.13
17:27
(7) iddoc там тоже есть
9 Mikeware
 
11.11.13
17:28
(7) и iddoc тоже
10 mikecool
 
11.11.13
17:30
ааа, только не бейте ))))
11 trad
 
11.11.13
17:42
прикольно будет посчитать останки только по части движений
12 Mikeware
 
11.11.13
17:45
(11) древняя тайная мечта одинэснеков - таблица остатков в разрезе реквизитов :-)
13 mikecool
 
11.11.13
17:46
(12) это же ад какой то )))
14 Mikeware
 
11.11.13
17:48
(13) ты чо.... раз в пол-года тема всплывает...
зы. может, адЪ - это мечта одинесников?
15 Eeakie
 
12.11.13
15:59
Ап.
Товарищи, помогите. Курю-курю, а что-то не выкуривается.

Как получить ВТ с оборотами/остатками за период в разрезе документов, сделавших движения?
16 Eeakie
 
12.11.13
16:04
Извиняюсь, бредятину написал.

Нужен вид:
ДокументСделавшийДвижение, Товар, ...Обороты...

Или сразу фильтр поставить на вид ДокументаСделавшегоДвижение.

В регистр заносятся данные из 4-х документов. Мне надо отобрать всего по двум. Как это вообще?
17 viktor_vv
 
12.11.13
16:08
|FROM
    |   $РегистрОстаткиОбороты.ПОстаткиСвободные(:ДатаН, :ДатаК~,Документ,,,,,(Количество, Сумма)) as Рег
Where Рег.ВидДокумента = $ВидДокумента.ТвойВид1 or Рег.ВидДокумента = $ВидДокумента.ТвойВид2

Только выше уже писали, херня получится.
18 viktor_vv
 
12.11.13
16:12
Не совсем понятна цель такого ограничения видов документов, ты хочешь посчитать остатки только на основании движений этих видов документов или остатки получить как есть в базе, а движения показать только этих двух документов ?
19 Eeakie
 
12.11.13
16:17
(17) Только что понял абсурдность задачи.

Надо переписать отчет "Движение товаров по партиям".
Нужны данные по Остаткам/Оборотам и документы, где партии списывались (количество, сумма). Вроде бы всё понятно, но до нормального понимания прямых запросов еще курить и курить судя по всему...
20 Eeakie
 
12.11.13
16:19
То есть вид будет:
Товары (Остатки, Обороты)
   Партии (Количество, Сумма)
      Документы, которые списывали эти партии (Количество, Сумма)
21 Ёпрст
 
12.11.13
16:33
(20) биииирешьь.. 2 ВТ, одну Останки, вторую Продажи, их в юнион олл и усё..
и будут у тебя верные останки с фильтром продаж.
22 Eeakie
 
12.11.13
16:37
(21) Хотелось бы мыслить также просто :) Пока не очень понимаю как можно 2 ВТ объединить "и усё...".
23 Ёпрст
 
12.11.13
16:40
запрос к начальным останкам, запрос к конечным останкам, запрос к оборотоам, между ними union all по Номенклатуре, Партии .. далее всё group by и подсчет суммы.
24 Eeakie
 
12.11.13
16:46
(23) спасибо. Грызу дальше.
25 Eeakie
 
13.11.13
15:53
Что аналогично штатному:
|* = Регистр.*.ТекущийДокумент;

Теряюсь в догадках. Рег.IDDoc не пашет. Привязывать к журналу и высматривать там? Галки "Быстрая обработка движений" нет.
26 Eeakie
 
13.11.13
15:54
+ где-то в ВТ же должно быть...
27 Eeakie
 
13.11.13
16:01
(4) так и не нашёл.
28 Mikeware
 
13.11.13
16:01
(25) чего у тебя "не пашет"?
29 Eeakie
 
13.11.13
16:05
(28)
|select
|   Рег.IDDoc as [Док $Документ],
|   ***
|from
|   $РегистрОстаткиОбороты.ПОстаткиСвободные(:ДатаН, :ДатаК~,,,, Фирма = :выбФирма) as Рег

// Недопустимое имя столбца "IDDoc".
30 Ёпрст
 
13.11.13
16:07
Ну ё...

Выстави ты наконец периодичность Документ у ВТ ОстанкиИОбороты.. будет тебе iddoc и позиция и вид
31 Eeakie
 
13.11.13
16:11
(30) $РегистрОстаткиОбороты.ПОстаткиСвободные(:ДатаН, :ДатаК~, <Period>,,, Фирма = :выбФирма) as Рег
Так и написать там "Документ"?!

Не могу найти пример аналогичного действа.
32 Ёпрст
 
13.11.13
16:20
яя натюрлих, так и пиши
33 Ёпрст
 
13.11.13
16:21
Ну и с этим ознакомься всё же...
http://www.1cpp.ru/docum/icpp/html/ODBC.html#id36
34 Eeakie
 
13.11.13
16:22
(33) открыто на соседней вкладке.
35 Ёпрст
 
13.11.13
16:23
Ну тогда это, еще до кучи открой
:)
http://www.1cpp.ru/forumfiles/Attachments/mod_002.zip
36 Eeakie
 
13.11.13
17:37
(35) Один хрен сам документ получить не дает. Только позицию и вид. К журналу позицию прикрутить, я так понимаю, и получать документ?
37 Mikeware
 
13.11.13
17:39
(36) "сам документ" - это что?
38 Eeakie
 
13.11.13
17:52
(37) Эммм. Ссылка на документ, который сделал движение.
39 viktor_vv
 
13.11.13
17:53
(36) <ПозицияДокумента>
тип char(23); строка в формате date_time_iddoc (8+6+9); существует только в том
случае если указана периодичность Документ;

То есть тебе в selecte надо

Right(Рег.Позиция,9) as [ДокДвиж $Документ],
Рег.ВиДокумента as ДокДвиж_вид

вторая строка для правильной типизации
40 viktor_vv
 
13.11.13
17:55
*Рег.ВидДокумента as ДокДвиж_вид
41 Eeakie
 
13.11.13
17:55
(39) Тьфу... ну я и... спасибо.
42 Eeakie
 
13.11.13
18:09
(40) Для типизации поля "ДокДвиж", не найдено дополнительное типизирующее поле.

|select
|   Right(РегПОС.ПозицияДокумента,9) as [ДокДвиж $Документ],
|   РегПОС.ВидДокумента as ДокДвиж_Вид,
|*

Ээээ?
43 Eeakie
 
13.11.13
18:18
Большие буквы - отстой.
44 viktor_vv
 
13.11.13
18:19
ДокДвиж_вид - чувствительна к регистру в "_вид".
45 Eeakie
 
13.11.13
18:30
(44) я заметил уже :) Спасибо.
Ошибка? Это не ошибка, это системная функция.