Имя: Пароль:
1C
1C 7.7
v7: Периодические реквизиты: история изменения (1С++)
, ,
0 AAlexandra
 
24.01.12
11:32
Никогда не работала с 7.7, но потребовалось перенести данные в 8-ку.
Подскажите, пожалуйста, как получить всю историю изменения периодического реквизита справочника?
   
"Срез последних" запросом получаю так:
ТекстЗапроса = "
|SELECT
|     Ном.ID as [Номенклатура $Справочник.Номенклатура],
|     $ПоследнееЗначение.Номенклатура.Заказ(Ном.ID, :ВыбДата) ЗаказаноКоличество
|FROM
|    $Справочник.Номенклатура Ном

Из элемента справочника могу тоже самое получить так:
Заказ = СпрНоменклатура.Заказ.Получить(ВыбДата);

А если нужно не только последнее значение, но и все предыдущие (за период)?
Желательно, конечно, запросом все разом получить..
1 GLazNik
 
24.01.12
11:35
(0) средствами 1С это можно получить через объект Периодический
А запросом нужно обращаться не к $ПоследнееЗначение, а к таблице _1SCONST
2 Ёпрст
 
24.01.12
11:36
запрос к табличке 1sconst взять value, фильтрануть по OBJID
3 AAlexandra
 
24.01.12
11:41
(1) спасибо. Про Периодический с синтаксис-помощнике по-читаю..
По _1SCONST вопрос: по каким полям связи устанавливать с таблицей справочника?

(2) спасибо. А что есть OBJID?
Точнее, как получить это значение для связки "Номенклатура" (имя справочника) + "Заказ" (имя периодического реквизита).
value - значение реквизита,
а в какой колонке хранится дата его установки?

Примерчик бы, если не сложно.
Или ссылку, где можно почитать..
4 GLazNik
 
24.01.12
11:49
Через идентификатор периодического реквизита: $ИсторияРеквизита.<Справочник>.<ПериодическийРеквизит>
5 Ёпрст
 
24.01.12
11:51
(3)
select
  const.value
from _1sconst const (nolock)
where const.objid = :ПараметрЭлементСправочникаЦены and const.id = $ИсторияРеквизита.Цены.Цена
6 Ёпрст
 
24.01.12
11:54
(3) в поле date - дата периодического реквизита, в поле docid - iddoc документа, если значение периодического реквизита установлено документом
7 Ёпрст
 
24.01.12
11:55
ежели значение установлено руктями, то там $ПустойИД
8 AAlexandra
 
24.01.12
12:11
(4), (5) Спасибо, все получилось! =)
ТекстЗапроса = "
   |SELECT
   |     Ном.ID as [Номенклатура $Справочник.Номенклатура],
   |     const.value Количество,
   |     const.date Дата
   |FROM
   |    $Справочник.Номенклатура Ном    
   |LEFT JOIN
   |    _1sconst const (nolock) ON const.objid = Ном.ID and const.id = $ИсторияРеквизита.Номенклатура.Заказ";
9 Ёпрст
 
24.01.12
12:13
(8) хинт (nolock) не забудь воткнуть в ветку from:

|FROM $Справочник.Номенклатура Ном (nolock)
10 AAlexandra
 
24.01.12
12:52
NOLOCK - Do not issue shared locks and do not honor exclusive locks. When this option is in effect, it is possible to read an uncommitted transaction or a set of pages that are rolled back in the middle of a read. Dirty reads are possible. Only applies to the SELECT statement.

(9) учла, спасибо.
2 + 2 = 3.9999999999999999999999999999999...