Имя: Пароль:
1C
1С v8
не могу найти где происходят движения при проведении
0 perkos
 
16.08.11
07:44
комплексная конфигурация 1.0.16 , просмотрел все события при проведении и записи, не могу найти когда делаются движения в регистр бухгалтерии...

дайте совет... как быстрее искать место в коде где происходит формирование движений...

документ передача материалов в эксплуатацию.
1 Milok
 
16.08.11
07:50
Обработка проведения
2 perkos
 
16.08.11
07:52
смотрю в ней родимой Движения.Хозрасчетный и ничего нет...
3 perkos
 
16.08.11
07:52
количество строк не меняется
4 Гефест
 
16.08.11
07:54
Там вызывается процедура из общего модуля, в ней и делаются движения
5 Rie
 
16.08.11
07:54
(3) А увидеть в ней вызов ДвиженияПоРегистрам() и нажать F12?
6 lxndr
 
16.08.11
07:56
смотри обработчик подписки на событие, а уже где-то там поглубже функция общего модуля
7 Rie
 
16.08.11
07:58
(6) Да вроде как в типовой нет такой подписки на событие.
8 perkos
 
16.08.11
08:00
(5) нет движений...
только на подписки грешить остается
9 lxndr
 
16.08.11
08:08
ПриПроведенииРасширеннаяАналитикаЗапасовИзменениеСостояния
10 unregistered
 
16.08.11
08:10
Это сильное 1С-ное колдунство....
11 perkos
 
16.08.11
08:59
(9) не применяется рауз, код обработчика подписки под условием.
12 perkos
 
16.08.11
09:05
вот вопрос почему из Движения.Хозрасчетный пока я добавляю записи они есть и Движения.Хозрасчетный.Количество() изменяется. А после Записать() все исчезает....

как посмотреть в отладчике какие записи были записаны?
13 perkos
 
16.08.11
09:24
Совет: при поиске движений по регистру ставить точку в обработчике записи этого регистра.
14 Axel2009
 
16.08.11
09:27
(13) поставь бряк в модуле регистра накопления и смотри.
15 unregistered
 
16.08.11
09:35
(13) >> в обработчике записи этого регистра.

1. не "записи", а обработчиков по меньшей мере два - "при записи" и "перед записью".
2. не "регистра", а "набора записей"
3. а еще могут быть подписки на события, а в самих модулях набора может ни каких обработчиков не быть.

(12) почему ... все исчезает....

Ну откуда нам знать где и как ты там делаешь запись и что происходит между добавлением записей и использованием метода Записать(), и потом?
16 kiruha
 
16.08.11
09:38
(0)
Сделай замер производит
И посмотри какие процедуры вызываются
17 ASU_Diamond
 
16.08.11
09:39
(12) потому что в процедуре формирования стандартных проводок, сначала очищаются движения по регистру документа, добавляй в самом конце проведения.
18 perkos
 
16.08.11
09:48
(17) что за процедура формирования стандартных проводок?

движения.Хозрасчетный из Табло отладчика очищаются не смотря на Записать(Ложь) и порядок проведения.
19 perkos
 
16.08.11
09:48
а как же в отладчике тогда посмотреть что уже записано в набор...
20 ASU_Diamond
 
16.08.11
09:51
(18) у меня нет под рукой КА, в УПП проводки формируются в процедуре общего модуля.
(19) смотри Движения
21 Maxus43
 
16.08.11
09:54
я делаю так - точка останова в регистре нужном, смотрим есть ли записи и Стэк Вызовов
22 max2309
 
16.08.11
09:55
Немного намудрили 1с-цы в КА с движениями. Но вполне можно прочитать сформированные движения. Вопрос один к тебе. Где пытаешься прочить движения?
23 ASU_Diamond
 
16.08.11
09:56
(22) ты в УПП смотрел формирование движений?
24 max2309
 
16.08.11
09:57
(23) да
25 max2309
 
16.08.11
09:58
(23)и изменял, но через подписку на события, единственное тормозов добавилось,но с обновлениями проблем нет.
26 ASU_Diamond
 
16.08.11
10:00
(24) в КА ещё мудренее чем в УПП?
27 perkos
 
16.08.11
10:00
(20) проводки я нашел где формируются в общем модуле управлениеЗапасамиПартионныйУчет. нашел как (21)

а как посмотреть движения документа в процессе проведения... вот чего я спрашиваю.
28 max2309
 
16.08.11
10:00
(26) логика одна впринципе
29 max2309
 
16.08.11
10:02
(27) примерно так
   НаборЗаписейХоз = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
   НаборЗаписейХоз.Отбор.Регистратор.Установить(Источник.Ссылка);//короче регистратор
   НаборЗаписейХоз.Прочитать();
   табу =  НаборЗаписейХоз.Выгрузить();
в таблице табу - и есть движения
попробуй так
30 Axel2009
 
16.08.11
10:02
(27) иногда движения формируются в коллекции "Движения" и записываются при выходе из проведения. иногда записываются там же. иногда создается непосредственно набор записей. поэтому однозначно никак не посмотреть.
31 Axel2009
 
16.08.11
10:02
(29) ну это если записали..
32 max2309
 
16.08.11
10:03
(30) ага так и есть в КА и УПП, только раньше вроде не по всем докам было, могу ошибаться
33 perkos
 
16.08.11
10:08
(27) жестковато(= а я наивный в "табло" хотел(=
34 perkos
 
16.08.11
10:08
(29)
35 Axel2009
 
16.08.11
10:10
(33) забацай процедуру, где на вход даешь имя регистра. и он тебе НЗ возвращает
36 perkos
 
16.08.11
10:11
(35) ясно
грустно что коллекция Движения не отражает НЗ....
37 perkos
 
16.08.11
10:12
(35) ааа прям в табло функцию типа (29) можно же вызывать... эко вывернул
38 max2309
 
16.08.11
10:14
(33) или сделай подписку на событие ОбработкаПроведения. Она вызывается после обработки проведения. там все движения и увидишь, если нужно и исправишь :)
39 ASU_Diamond
 
16.08.11
10:33
(38) у подписки есть один минус: потом долго искать где происходит изменение данных
40 perkos
 
16.08.11
10:52
(39) я теперь всегда искать буду через события модуля НЗ регистра
41 Aprobator
 
16.08.11
11:02
(0) а далеко не факт, что движения делаются в модуле самого документа и в момент его проведения. Это же 8 - ка. Когда будет известна стопоудово стоимость материалов переданных в эксплуатацию то? Вот тогда и будут формироваться движения документа (посмотри в сторону документа "Погашение стоимости").
42 ASU_Diamond
 
16.08.11
13:19
(41) в типовых как-то не принято менять движения документа при проведении других документов
43 Reaper_1c
 
16.08.11
13:23
Движения по БУ делаются в подписках. Писать свои подписки - черевато, ибо подписки выполняются в таком порядке с какого регистра какого камня поднялась платформа. Вероятность поймать движения в подписке равна вероятности не поймать их же.
44 Aprobator
 
16.08.11
13:34
(42) но возможность такая есть. А уж что там начудят, особенно в новых конфах - фиг знает.
45 ASU_Diamond
 
16.08.11
13:39
(44) для такой реализации надо быть маньяком...
46 Aprobator
 
16.08.11
13:46
(45) а то тут их мало )
2 + 2 = 3.9999999999999999999999999999999...