Имя: Пароль:
1C
1С v8
v8: Как посмотреть движения документа при проведении
,
0 iceman2112
 
18.07.12
09:26
Процедура ОбработкаПроведения()
...
Если Не Отказ Тогда

   ДвиженияПоРегистрам(....);
         //++
   Движения.НезавершенноеПроизводство.Очистить();
   //--

КонецЕсли;
...
КонецПроцедуры

Остановился на строке "Движения.НезавершенноеПроизводство.Очистить();".
Смотрю в табло:
1) Движения.ВзаиморасчетыСКонтрагентами.Выгрузить() - здесь есть строки (т.е. движения уже есть)
2) Движения.НезавершенноеПроизводство.Выгрузить() - пусто.
здесь движений по НезавершенноеПроизводство нету.

Случай 2:
Убираю строчку "Движения.НезавершенноеПроизводство.Очистить();".
остановливаюсь после вызова ДвиженияПоРегистрам(....);
Результаты по табло теже, но движения по НезавершенноеПроизводство, есть.

Как посмотреть движения по регистру, ведь они есть, но табло их не показывает?
1 ОбычныйЧеловек
 
18.07.12
09:35
НаборЗаписей=РегистрыНакопления["НезавершенноеПроизводство"].СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
НаборЗаписей.Прочитать();

В "НаборЗаписей" смотри свои движения.

Р.S. Но вообще фигней страдаешь...
2 х86
 
18.07.12
09:51
(0)>>Случай 2:
Убираю строчку "Движения.НезавершенноеПроизводство.Очистить();".
остановливаюсь после вызова ДвиженияПоРегистрам(....);
Результаты по табло теже, но движения по НезавершенноеПроизводство, есть.


значит их чуть раньше уже записали, ищи отладчиком
3 iceman2112
 
18.07.12
10:07
(2) в смысле фигней, нужно узнать где он движения формирует. Набор записей использовать через отладчик не удобно, если только вынести в общий модуль.
(3) не спорю что раньше, почему он их табло по одному регистру показывает, а по незавершенному производству нет
4 Maxus43
 
18.07.12
10:13
>>нужно узнать где он движения формирует
и чем тебе (0) поможет? узнать где формирует не так делают обычно
5 iceman2112
 
18.07.12
10:17
а как?
6 ОбычныйЧеловек
 
18.07.12
10:18
(3) >>нужно узнать где он движения формирует
Найти где\как формируются движения - дело 5-10 минут... никакие движения в отладчике при этом смотреть не нужно.
7 iceman2112
 
18.07.12
10:20
ну и как?
8 iceman2112
 
18.07.12
10:21
или скажи где просветиться
9 Maxus43
 
18.07.12
10:21
(5) разные способы есть, например точку останова в регистре ПередЗаписью() и стэк вызовов
10 hhhh
 
18.07.12
10:27
(8) там как бы куча вариантов: например вам нужны движения, которые в оперативной памяти или те, которые уже записаны в базу.

Или те движения, которые есть в базе, но нет в оперативной памяти, потому что вы не дали команду прочитать().

Или допустим в оперативной памяти вы очистили движения, а в базу еще не записывали.

Вы определитесь, какой вариант вам нужен.
11 Serg_1960
 
18.07.12
10:29
(0) Неверная постановка задачи или неверный алгоритм решения задачи. Ну, поверь мне на слово, не нужно анализировать движения документа во время проведения.
12 iceman2112
 
18.07.12
10:38
Нужно отменить движения по регистру. Решаю так хочу найти и закомментить, можно еще Очистить() вот как щас. Есть правильные варианты?
13 Eugene_life
 
18.07.12
10:46
(12) Лично я с помощью Подписки на событие "Обработка проведения" просто считываю сделанные движения, и удаляю те, что мне не нужны.
14 Serg_1960
 
18.07.12
10:54
Можно и так сделать... Если не предвидятся обновления, в которых есть обработки переформирования движений "задним числом"; если движения формируются только в модуле документа... Оговариваю "если..." - потому что, например, РАУЗ формирует движения в подписке. А если учесть, что последовательность работы подписок не определена, то делайте выводы господа :)
15 Serg_1960
 
18.07.12
11:07
(14) Поясню: ТС предстоит внести "обычное" изменения в типовую конфигурацию со всеми вытекающими... Нужно анализировать конфигурацию всестороне.

Например, глупо будет "тупо" стирать движение какое-либо, если в типовой, перед записью этого движения, используется запрос возвращающий сообщения об ошибках проведения и "Отказ=Истина;".

Или вот, например, из моей практики: разрешил формировать счет-фактуру при проведении документа только по УУ и после очередного обновления стали выскакивать сообщения типа "Счет-фактура не изменена автоматически...". Каюсь - прозевал сей момент.