![]() |
![]() |
|
Как записать периодический реквизит справочника, если он должен измен. документом? | ☑ | ||
---|---|---|---|---|
0
redbull
21.05.10
✎
16:23
|
Нужно поменять реквизит справочника, у которого стоит "Изменяется документом".
|
|||
1
Sj
21.05.10
✎
16:26
|
УстановитьРеквизитСправочника
|
|||
2
redbull
21.05.10
✎
16:29
|
(1) это метод документа,
а у меня обработка, которая 1000 элементов должна изменить. или создать какой -нить документ? Док = СоздатьОбъект("Документ"); Док.УстановитьРеквизитСправочника(МойСпр, МойРеквизит, значение, Дата) а потом не делать Док.Записать()? |
|||
3
Ёпрст
гуру
21.05.10
✎
16:31
|
(2) да уж..
Периодический реквизит, установленный документом изменяется только самим этим документом в момент его проведения в ОбработкаПроведения, соответственно нужно либо перепровести документ с нужным значением, либо удалить документ (чтоб периодики не было) Либо поправить табличку с периодикой "руками",либо прямым запросом, либо использовать способ от Пита. |
|||
4
borozavr
21.05.10
✎
16:31
|
Не взлетит,тем более должно быть док.провести() а не Док.Записать()
|
|||
5
redbull
21.05.10
✎
16:36
|
(3) где эту периодику найти?
|
|||
6
ДенисЧ
21.05.10
✎
16:40
|
(5) _1sconst
Только, похоже, не стоит тебе туда лезть... |
|||
7
Ёпрст
гуру
21.05.10
✎
16:43
|
+6 это точно, при перепроведении, вся твоя периодика вернётся взад..
Тут нужно что-то менять в консерватории. |
|||
8
redbull
21.05.10
✎
16:46
|
(6) Есть обработка, называется "РедакторРеквизитов". там я мог попавить такой реквизит.
(7) Документы старые, из никто, я надеюсь трогать не будет. А новые, за этот год, я перепроведу. |
|||
9
ДенисЧ
21.05.10
✎
16:47
|
(8) Именно такой? Или тот, который и руками и документами?
|
|||
10
NikVars
21.05.10
✎
16:51
|
(8) Проверь на копии!!!
|
|||
11
redbull
21.05.10
✎
16:55
|
(9) Ёлки, только документом.
Может просто флажек поставить "РучноеИзменение" и не париться? |
|||
12
YF
21.05.10
✎
16:57
|
(11) Если логика прикладного решения позволяет - то почему бы и нет
|
|||
13
ДенисЧ
21.05.10
✎
16:57
|
(11) Поставь, если знаешь, в чём разница и какие будут последствия
|
|||
14
redbull
21.05.10
✎
17:01
|
(11) не знаю. Поэтому и возникла мысь поставить флажек в свойставах реквизита
|
|||
15
Ёпрст
гуру
21.05.10
✎
17:03
|
(8) врешь. Периодику никак не изменишь - только перепроведением дока, и никакая обработке не может изменить это значение без перепроведения дока.
+ Есть поделки, использующие "псевдо изменение" регистров и периодики, установленных документов - это просто перепроведение с параметром + отключенная галка "автоматическое удаление движений" у документов. Там просто считываются все движения в ТЗ и пишется в регистр/периодический реквизит новое значение и всё. |
|||
16
Ёпрст
гуру
21.05.10
✎
17:04
|
+15 но для этого, нужно как минимум изменение модулей проведения документов.
|
|||
17
Ёпрст
гуру
21.05.10
✎
17:04
|
+16 Такой механизм, например, встроен в МОД.
|
|||
18
redbull
21.05.10
✎
17:09
|
Всем спасибо,
Что-нить другое придумаю |
|||
19
Ёпрст
гуру
21.05.10
✎
17:15
|
(18) посмотри для 1-го реквизита историю за 1 день, установленную документом(ами) и руками.. подумай что возвращает метод Получить() - и может быть, к тебе придёт озарение (способ от Пита) и ты познаешь таинство будды..
|
|||
20
Shaman100M
22.05.10
✎
16:11
|
(15) создал периодический реквизит, галку "Изменяется документами" - поставил, "Ручное изменение" - снял. Дальше написал простенький код, который сработал.
Пер = СоздатьОбъект("Периодический"); Пер.ИспользоватьОбъект("ПерРеквизит",ТекЭлементСпр); Пер.ДатаЗнач = ТекущаяДата(); Пер.Значение = 123; Пер.Записать(); Далее открыл историю "ПерРеквизит", где строкой на текущую дату стоит ручное изменение 123. Понятно, что редактировать его система не дает. Но оно есть. |
|||
21
Ёпрст
гуру
24.05.10
✎
08:32
|
(20) и толку от твоей ручной периодики ? Любой метод, окромя перебора вернёт то, что документом (последним) присвоено.
|
|||
22
Shaman100M
24.05.10
✎
09:09
|
(21) Автор меняет значения в прошлом периоде, - если одним днем можно пренебречь, - записать в следующем, - то подойдет.
|
|||
23
Ёпрст
гуру
24.05.10
✎
09:11
|
(22) гы.. ты лучше (19) почитай, на досуге.
|
|||
24
Shaman100M
24.05.10
✎
09:25
|
давно известный факт, что в пределах одного дня значение "на дату" стоит всегда раньше значения "записанного документом". и нечего гыкать.
|
|||
25
Ёпрст
гуру
24.05.10
✎
09:27
|
(24) п..ц
|
|||
26
Ёпрст
гуру
24.05.10
✎
09:27
|
+25 и всё же почитай (19) и посмотри, что возвращает метод Получить()
|
|||
27
Shaman100M
24.05.10
✎
09:58
|
Получить(УказаннаяДата) работает корректно. Получить() без параметра, - всегда возвращает значение, установленное последним документом в общей истории значений, независимо от того, есть ручные изменения после документа или нет,есть галка "ручные изменения" или нет.
((( Только вот без параметра метод Получить() для периодики (хоть и заявлено), обычно не применяют. По крайней мере, в типовых не встречал. |
|||
28
Ёпрст
гуру
24.05.10
✎
10:02
|
(27) >>работает корректно. Это как ?
ВСЕГДА возвращает установленное последним документом, если что, равно как и использоватьДату. |
|||
29
Shaman100M
24.05.10
✎
10:15
|
(28) Если в указанной дате есть значения, записанные и "документом" и "руками" - Получить(УказаннаяДата) возвращает последнее из сделанных "документом" в указанной дате, нет сделанных "документом" - возвращает "ручное" в указанной дате. = (24)
Если в текущем числе есть ручное изменение, то Получить() вернет не его, а ... последнее значение, измененное документом, хоть оно и м.б. сделано неделю назад. |
|||
30
Ёпрст
гуру
24.05.10
✎
10:17
|
(29)
>>>Если в текущем числе есть ручное изменение, то Получить() вернет не его, а ... >>>последнее значение, измененное документом, хоть оно и м.б. сделано неделю назад. Это как ???? |
|||
31
ДенисЧ
24.05.10
✎
10:17
|
(30) Это не как, это пук :-)
|
|||
32
Shaman100M
24.05.10
✎
10:18
|
не писал, если бы не попробовал на примере
|
|||
33
Shaman100M
24.05.10
✎
10:18
|
рел. 25-й.
|
|||
34
Shaman100M
24.05.10
✎
10:23
|
(31) ну, почти.... ))) . Для Получить() без параметров в оперучете берется ТА, и если она < даты последнего ручного изменения, то получается именно так.
|
|||
35
Ёпрст
гуру
24.05.10
✎
10:27
|
(34) хню какую то несешь..
Для периодики в пределах одного дня ВСЕГДА возвращается значение, установленное документом, если его нет - ручное и привет.. |
|||
36
Shaman100M
24.05.10
✎
10:29
|
(34) именно так.
Получить(<?>) Синтаксис: Получить(<Дата>) Назначение: Получить значение периодического реквизита справочника на дату или документ. Возвращает - значение периодического реквизита справочника на заданную дату или документ. Параметры: <Дата> - необязательный параметр. Выражение типа дата или значение типа документ или позиция документа. Этот параметр задает момент времени, на который требуется получить значение периодического реквизита. Значение по умолчанию: ТА - если используется компонента ''Оперативный учет'', Рабочая дата - если компонента ''Оперативный учет'' не используется. |
|||
37
Ёпрст
гуру
24.05.10
✎
10:29
|
+35
т.е для 09.01.2010 всегда вернёт 300 09.01.2010 руками 100 09.01.2010 док1 200 09.01.2010 док2 300 |
|||
38
Shaman100M
24.05.10
✎
10:34
|
(37) с этим не спорю. В истории - руками стоит всегда РАНЬШЕ, вернет всегда позже. = (24)
я в (34) про то, если ТА = 08.01.2010 и на 08-е стоит значение 400, - Получить() вернет его |
|||
39
Ёпрст
гуру
24.05.10
✎
10:36
|
(38) да уж..
читай теперь (20) и (21).. |
|||
40
Shaman100M
24.05.10
✎
10:38
|
общаемся на разных языках. читай (22)
|
|||
41
Ёпрст
гуру
24.05.10
✎
10:42
|
(40) значения, как правило, всегда получают на дату.. так что, твой способ - в топку.
|
|||
42
Shaman100M
24.05.10
✎
10:59
|
точно на разных. Это не способ, - а просто демонстрация возможности записать ручное изменение для реквизитов без галки "ручное изменение".
|
|||
43
Ёпрст
гуру
24.05.10
✎
11:03
|
(42) тему то хоть раз перечитай - нужно "поправить" значение, установленное документом.
Самый простой способ - установить новое значение, своим документом в конец дня. Всё. Ибо получение всей периодики в типовых конфах получают либо запросом, либо на дату(Полуычить, ИспользоватьДату () ), но никогда не пользуют Объект периодический и перебор значений. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |