Имя: Пароль:
1C
1C 7.7
v7: периодические реквизиты в течение одного дня
0 Tornadius
 
18.06.12
07:48
Как правильно организовать использование периодических реквизитов в течении одной даты, что бы не нарушалась хронология значений по времени в течении одного дня (например), и при обращении к предыдущим документам бралось значение которое по времени совпадает с временем документа устанавливающего значение реквизита?
1 DJ Anthon
 
18.06.12
07:50
по времени документа
2 ДенисЧ
 
18.06.12
07:50
1. Записывать их документом.
2. брать значение не на дату, а на позицию документа.
3 Tornadius
 
18.06.12
07:51
(2) как это брать значение на позицию документа?
4 DJ Anthon
 
18.06.12
07:51
и делать выборку в течение дня, а уже ее парсить самостоятельно, платформа далее бессильна. и в течениИ дня - это безграмотно.
5 DJ Anthon
 
18.06.12
07:52
и перЕодические тоже
6 Tornadius
 
18.06.12
07:52
(4) тогда как организовать частую смену значения в течении одного дня?
7 dk
 
18.06.12
07:54
(3) попробовать через СформироватьПозициюДокумента, но может тока перебором через периодический получится
8 DJ Anthon
 
18.06.12
07:54
не учишься, я смотрю.. зачем тебе наши советы?
9 DJ Anthon
 
18.06.12
07:55
(6) чем больше документов введешь, тем чаще значения будут меняться. в чем проблема?
10 ДенисЧ
 
18.06.12
07:56
(3)
Получить(<?>)
GetValue(<?>)
Синтаксис:
Получить(<Дата>)
Назначение:
Получить значение периодического реквизита справочника на дату или документ.
Возвращает - значение периодического реквизита справочника на заданную дату или документ.
Параметры:
<Дата> - необязательный параметр. Выражение типа дата или значение типа документ или позиция документа. Этот параметр задает момент времени, на который требуется получить значение периодического реквизита. Значение по умолчанию: ТА - если используется компонента ''Оперативный учет'', Рабочая дата - если компонента ''Оперативный учет'' не используется.
Замечание:
Метод  можно использовать только для периодических реквизитов справочника и если для справочника еще не применялся метод ИспользоватьДату.
11 Tornadius
 
18.06.12
07:59
(10) вот я и делаю:
Спр.Реквизит.Получить(ДатаДак);

но значение берется только на конец дня,
а надо на время документа которым значение укстанавливалось
12 ДенисЧ
 
18.06.12
08:01
(11) А _внимательно_ прочитать (10)? И вспомнить, что такое "позиция документа"?
13 Tornadius
 
18.06.12
08:15
Спр.Реквизит.Получить(ПозицияДокумента());  ?
а если док еще не сохранен?
14 1Сергей
 
18.06.12
08:16
(13) тогда откуда она (1С) будет знать, на какое время тебе нужен реквизит?
15 Tornadius
 
18.06.12
08:21
(14) тогда как разделить вновь созданный документ и правку уже существующего?
16 Tornadius
 
18.06.12
08:23
Нашел такую функцию: Периодический.ВыбратьПоДокументу(), попробую через нее.
17 viktor_vv
 
18.06.12
08:25
Если Выбран()=0 Тогда
Получить(ДатаДок);
Иначе
Получить(ТекущийДокумент());
КонецЕсли ;
18 KishMish
 
18.06.12
08:25
если самописное, можно сделать подчиненный справочник, с датой,временем, значением. + файл констант облегчится
19 viktor_vv
 
18.06.12
08:26
(17)+ Это если ты в документе получить хочешь.
20 Tornadius
 
18.06.12
08:28
Да в самом документе который устанавливает реквизиты справочника, просто наши бухи любят править или довносить документы задним числом и при этом необходимо чтобы все значения пересчитывались
21 viktor_vv
 
18.06.12
08:31
Если надо в записанном документе предыдущее значение, то

лПредПозиция = СформироватьПозициюДокумента(ТекущийДокумент(),-1);

Спр.Реквизит.Получить(лПредПозиция);
22 1Сергей
 
18.06.12
08:32
Или через объект Периодический, но писанины больше
23 ЧеловекДуши
 
18.06.12
08:48
В 7-ке нет времени, есть только дата :)
24 пипец
 
18.06.12
09:38
(23) жжош , последовательности уже не в моде
25 Касандер72
 
18.06.12
10:48
(0) не мучай опу - это не восьмерка - подчиненный справочник с полем "ДатаВремя" тебя спасет