Имя: Пароль:
1C
1C 7.7
v7: Периодические реквизиты
0 Snork
 
18.10.11
13:01
Есть спр с периодическим реквизитом, значение которого устанавливается только документом.

Возможно ли получить документ, который установил конкретное периодическое значение без использования объекта Периодический?
1 1Сергей
 
18.10.11
13:02
нет
2 1Сергей
 
18.10.11
13:03
А можно поинтересоваться, какая религия запрещает использовать объект Периодический?
3 antoneus
 
18.10.11
13:04
ну, прямым запросом к 1sconst... хотя что за религия такая странная?
4 Snork
 
18.10.11
13:08
Возможно ли без перебора элементом ч/з объект Периодический получить документ которым установлено значение на текущую дату?

Например:
Дата | Док | Значение рекв
01.01.11 Док №1 Значение1
01.03.11 Док №2 Значение2

Мне надо на дату 28.01.11 получить: Док №1
5 Snork
 
18.10.11
13:09
Здесь Док №1 - документ, который установить периодический реквизит
6 andrewks
 
18.10.11
13:12
что значит "без перебора"?
7 Snork
 
18.10.11
13:13
Получается нужен как-бы СрезПоследних. Перебор же значений в цикле ч/з Периодический, очень замедляет производительность, т.к. в таблице той ~1000 строк и много периодических реквизитов.
8 Snork
 
18.10.11
13:14
(6) может есть штатная функция ядра: на входе справочник, имя реквизита и дата на которую хочешь получить, а на выходе документ, который установил
9 andrewks
 
18.10.11
13:15
(8) есть штатный объект ядра Периодический
10 Snork
 
18.10.11
13:23
up
11 dk
 
18.10.11
13:26
У периодического есть "обратныйпорядок" - должно помочь
12 dk
 
18.10.11
13:27
хотя (4) запутал как-то
13 viktor_vv
 
18.10.11
13:33
(12) Да все правильно. ОбратныйПорядок(1) и ВыбратьЗначения(,ДатаНаКоторуюНадоПолучить).
14 andrewks
 
18.10.11
13:34
(13) ему _не нужен перебор_
15 viktor_vv
 
18.10.11
13:35
Так а прервать его не спасет разве. Я так понял он боится что в холостую будет цикл по всем значениям.
16 viktor_vv
 
18.10.11
13:38
ОбъектПериодический.ОбратныйПорядок(1);
ОбъектПериодический.ВыбратьЗначения(,ПеременнаяСДатой) ;
Если ОбъектПериодический.ПолучитьЗначение() = 1 Тогда
   ДокументУстановившийЗначение = ОбъектПериодический.ТекущийДокумент() ;
КонецЕсли ;

Так даже цикла нету.
17 abfm
 
18.10.11
13:38
ЗначениеНаДату(<Дата>) Возвращает актуальное значение на заданную дату
ТекущийДокумент() Возвращает документ, который задал значение периодического реквизита.
Никакого перебора.
18 antoneus
 
18.10.11
13:54
НайтиЗначение(ВыбДата, Режим)
ТекущийДокумент()
19 Snork
 
18.10.11
14:07
(17) не работает. ЗначениеНаДату() равносильно .Получить()
20 Snork
 
18.10.11
14:09
(18) помогло.

Всем спасибо