Имя: Пароль:
1C
 
БП 3.0 Использование подписки зля заполнения аналитики проводок
0 Sasha_1CK
 
11.03.15
10:07
Задача - добавить оборотное Субконто "Подразделение" на счета учета ДС (50.01, 51)

Использовать галочку Учет по подразделениям - не кошерно - так как остатки естественно не нужны. Приход и расход и дет по разным подразделениям.

Создал субконто - "Подразделения". Программно добавил на счета 50.01 и 51. На 50.01 получилось 2-ое субконто. На 51 получилось 3-е субконто. Учет по ДДС включен.



Добавил подписку на событие "ОбработкаПроведения".

При проведении делаю перебор движений хозрасчетных и если счет Дт или Кт равен 50.01 или 51 устанавливаю в субконто "Подразделения" реквизит подразделение из документа.

Для ПКО и РКО отрабатывается прекрасно.

Я для банковских выписок - никак не отрабатывается.

Учитывая что после проведения документа отрабатывается еще 100500 процедур и оповещений - никак не могу отловить момент когда же сбрасывается 3-е субконто.

Может кто нибудь уже сталкивался с подобным поведением аналитики по счет 51?

Вообще потребность в оборотной доп аналитике на 51/50 возникает постоянно, а прописывать ее каждый раз для дестяка  все возможных операций по ДС - накладно и обновлять потом муторно - все ж таки хочется разобраться почему подписка не срабатывает.
1 Креатив
 
11.03.15
10:26
(0)Перебор движений каким образом осуществляешь? Код в студию!
2 Sasha_1CK
 
11.03.15
10:42
ВидСубконтоПОдразделения = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПоКоду("А0002");
    Для каждого Движение Из Источник.Движения.Хозрасчетный Цикл
        Если Движение.СчетДт  = ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.01") Тогда
            БухгалтерскийУчет.УстановитьСубконто(Движение.СчетДт, Движение.СубконтоДт,
                ВидСубконтоПодразделения, Источник.ПодразделениеОрганизации);
        ИначеЕсли Движение.СчетКт  = ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.01") Тогда
            БухгалтерскийУчет.УстановитьСубконто(Движение.СчетКт, Движение.СубконтоКт,
                ВидСубконтоПодразделения, Источник.ПодразделениеОрганизации);
        ИначеЕсли Движение.СчетДт  = ПланыСчетов.Хозрасчетный.НайтиПоКоду("51") Тогда
            БухгалтерскийУчет.УстановитьСубконто(Движение.СчетДт, Движение.СубконтоДт,
                ВидСубконтоПодразделения, Источник.ПодразделениеОрганизации);
        ИначеЕсли Движение.СчетКт  = ПланыСчетов.Хозрасчетный.НайтиПоКоду("51") Тогда
            БухгалтерскийУчет.УстановитьСубконто(Движение.СчетКт, Движение.СубконтоКт,
                ВидСубконтоПодразделения, Источник.ПодразделениеОрганизации);
        КонецЕсли;     
    КонецЦикла;
3 Креатив
 
11.03.15
10:54
(2)Тогда ещё проверь, что именно подписка висит у тебя на тех банковских документах, которые делают проводки. Ну а дальше в отладчик. Там ещё куча чего после твоей подписки обрабатывается.
4 lxndr
 
11.03.15
11:07
я бы добавил подписку на запись набора регистра бухгалтерии
5 Sasha_1CK
 
12.03.15
07:59
(4) Она выполняется до подписки на проведение выписки банка. С тем же результатом

(3) Я по этой куче уже второй день отладчиком туда и обратно хожу - не могут понять в какой момент из движения исчезает подразделение.

Если сделать РКО на 51 счет - тоже подписка отрабатывает по РКО и подразделение встает и по кредиту 50.01 и по дебету 51.


При этом, если этот же код поместить в модуль объекта СсРС - перед Движения.Записать() подразделение прописывается.
И ничего не исчезает.

Уже ничего не понимаю. Почему так?
6 Sasha_1CK
 
12.03.15
08:12
Блин
На 3-й день "зоркий глаз" заметил что в сарае нет 4-й стенки.

Почему то у ПКО и РКО в момент срабатывания подписки на проведение - реквизит "Записывать"  стоит в Истина. а у ПнРС и СсРС в "Ложь".


Обидно блин, как всегда самые простые вещи - самые незаметные.