|
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) учла, спасибо.
|
|