Вход | Регистрация


Когда формируются проводки в Авансовом отчёте в конфигурации Комплексная автоматизация 1.1

Когда формируются проводки в Авансовом отчёте в конфигурации Комплексная автоматизация 1.1
Я
   Elkin-Palkin
 
20.04.18 - 14:42
Хочу отловить момент, когда формируются проводки в документе Авансовый отчёт. Конфигурация Комплексная автоматизация 1.1.101.1 практически типовая.
С точки зрения моих знаний проводки могут формироваться:
а) в модуле документа, процедура ОбработкаПроведения()
б) в подписке на событие ОбработкаПроведения

Установил в самом конце в процедуре ОбработкаПроведения() точку останова. Смотрю Движения.Хозрасчетный.Количество(). Равно 0. Проводок не вижу.
Перебрал подписки на события, где источником является документ АвансовыйОтчет и событие "ОбработкаПроведения". Таковых нашёл три.
В каждом из трёх обработчиков этого события поставил точку останова. Заходит отладчик, останавливается - т.е. я правильно идентифицировал их. Но если хочу посмотреть количество проводок с помощью Источник.Движения.Хозрасчетный.Количество(), то получаю 0. Однако документ проводки даёт! Подскажите где рыть?
 
 
   shuhard
 
1 - 20.04.18 - 14:44
(0) используй точку останова в модуле Рг Хозрасчетный
   Вафель
 
2 - 20.04.18 - 14:46
там может отложенные движения какие
   Elkin-Palkin
 
3 - 20.04.18 - 14:50
(1) В модуле набора записей регистра бухгалтерии Хозрасчетный в данной конфигурации есть только одна процедура - ПередЗаписью()

В ней в начала есть кусок
Если Количество()>0 Тогда

Иначе Возврат;
Конец

Так вот это самое Количество() таки равно 0. Поэтому там ничего не делается и происходит "Возврат".
   Elkin-Palkin
 
4 - 20.04.18 - 14:51
(2) Так проводки в документе я вижу сразу же, моментально, после нажатия на кнопку "ОК".
   shuhard
 
5 - 20.04.18 - 15:45
(3) там два обращения, при втором будет не 0
   Elkin-Palkin
 
6 - 23.04.18 - 06:41
(5) Поставил точку останова в самом начале процедуры ПередЗаписью() модуля набора записей регистра бухгалтерии Хозрасчетный. Нажал "ОК" в Авансовом отчёте. Остановка на точке произошла только один раз. Второй раз в эту процедуру программа не заходила. Поэтому ответ не понял.
   drei
 
7 - 23.04.18 - 06:46
Включи замер производительности.
   Elkin-Palkin
 
8 - 23.04.18 - 07:39
(7) Зачем? Что я там увижу в контексте своего вопроса?
Ну включу, а дальше что мне делать, чтобы увидеть момент формирования проводок?
   shuhard
 
9 - 23.04.18 - 07:39
(6) брехня
   Сти
 
10 - 23.04.18 - 08:25
(0) Знания надо периодически пополнять!
3) Проводки могут формироваться где угодно, даже если не вызывается обработка проведения. Хоть из внешней обработки. Хотя это и неприлично как-то.

В данном случае проводки формируются в коде, вызываемом из обработки проведения и время от времени записываются в недрах общих модулей. Например, при отражении в авансовом отчете поступления товаров на склад они формируются в УправлениеЗапасамиПартионныйУчет.СформироватьПроводкиВсеВидыУчета(). Глянь в конец модуля, там что-то типа
Для Каждого ТекущееДвижение Из Движения Цикл
        Если ТекущееДвижение.Значение.Модифицированность() Тогда
            ТекущееДвижение.Значение.Записать(Ложь);
        КонецЕсли;
    КонецЦИкла;

Поставь точку останова на этом деле, посмотри на движения, удивись )

По взаиморасчетам то же самое, да и по всему остальному.
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует