|
Движения по регистру накопления по подписке | ☑ | ||
---|---|---|---|---|
0
Roman Igorevich
18.09.12
✎
08:05
|
Создал новый регистр накопления. Через подписку на два дока добавил движения. Но на ТН движений в итоге нет, хотя через отладку все нужные строки проходит
Процедура ЗатратыПоОбъектамОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт ТипИсточника = ТипЗнч(Источник.Ссылка); Если ЗначениеЗаполнено(Источник.ОбъектСписания) Тогда НаборЗаписей = РегистрыНакопления.ЗатратыПоОбъектам.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Источник.Ссылка); Движение = НаборЗаписей.Добавить(); Движение.Объект = Источник.ОбъектСписания; Движение.Период = Источник.Дата; Движение.Регистратор = Источник.Ссылка; Если ТипИсточника = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда Движение.Сумма = Источник.Услуги.Итог("Сумма"); ИначеЕсли ТипИсточника = Тип("ДокументСсылка.ТребованиеНакладная") Тогда ХозДвижения = Источник.Движения.Хозрасчетный; ОбщаяСумма = 0; Для Каждого Строка из ХозДвижения Цикл ОбщаяСумма = ОбщаяСумма + Строка.Сумма; КонецЦикла; Движение.Сумма = ОбщаяСумма; КонецЕсли; НаборЗаписей.Записать(); КонецЕсли; КонецПроцедуры |
|||
1
Roman Igorevich
18.09.12
✎
08:06
|
По ТУ движение есть.
|
|||
2
rbcvg
18.09.12
✎
08:08
|
Что есть ТН и ТУ?
|
|||
3
Roman Igorevich
18.09.12
✎
08:09
|
ПоступлениеТоваровУслуг
ТребованиеНакладная |
|||
4
golden-pack
18.09.12
✎
08:31
|
(3) вот лол
|
|||
5
golden-pack
18.09.12
✎
08:34
|
ПТиУ, РТиУ, ТН - вот верные сокращения
|
|||
6
Roman Igorevich
18.09.12
✎
08:39
|
http://s3.hostingkartinok.com/uploads/images/2012/09/17b460e2824fd21df80157a6452d24c8.jpg
вот так выглядит отладка, когда провожу тн, а в итоге движений Нет) |
|||
7
ОбычныйЧеловек
18.09.12
✎
09:01
|
(6) Подписка на соьытие "обработка проведения" ? Других подписок случайно нету - которые затирают добавленые тобой движения? И вообще конфа у тебя какая?
|
|||
8
Roman Igorevich
18.09.12
✎
09:10
|
Подписка на обработку проведения. Подписка еще одна есть - но она на проводки доков по Ндс, не пересекается. Конфигурация бухгалтерия 2.0.39.6 - с добавленым справочником объектов, в т.ч. на формы ПТиУ и ТН.
|
|||
9
ОбычныйЧеловек
18.09.12
✎
09:21
|
(8) >> но она на проводки доков по Ндс, не пересекается.
Не совсем понятно зачем плодить подписки, ну да ладно... Поставь точку останова в твоем дабавленоом регистре в событие "ПередЗаписью" и посмотри стек вызовов в момент когда движение еще есть и в момент когда его уже нету - сразу все станет ясно. |
|||
10
Roman Igorevich
18.09.12
✎
09:39
|
При отладке с точки в ПередЗаписью интересная разница между ПТиУ и ТН. Первый док переходит в типовые процедуры вроде "ПередЗаписьюРегистраНакопленийПроверкаДоступностиПериода" и так далее, а ТН молча проходит конецпроцедуры.
|
|||
11
ОбычныйЧеловек
18.09.12
✎
09:46
|
(10) если при отладке в регистре в поцедуре "ПередЗаписью" система не показывает тебе стек вызовов - значит у тебя в документе ТН стоит запись всех регистров по умолчанию т.е. записывать регистры после проведения автоматически (1с-ки под рукой нету - не помню как синтаксис на память)
|
|||
12
Roman Igorevich
18.09.12
✎
09:48
|
А так в стеке ни одной процедуры не появляется кроме обработки моей и ПередЗаписью. потом еще второй раз срабатывает точка останова, но там мне не ясен источник - в стеке лишь одна строка ПередЗаписью, но тоже самое правда и с ПТиУ, потому врядли проблема в этом
|
|||
13
Roman Igorevich
18.09.12
✎
10:14
|
Пока не нашел такого параметра, так то я его явно не изменял)
|
|||
14
Roman Igorevich
18.09.12
✎
10:21
|
Заработало. Изменил код на:
Процедура ЗатратыПоОбъектамОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт ТипИсточника = ТипЗнч(Источник.Ссылка); Если ЗначениеЗаполнено(Источник.ОбъектСписания) Тогда Движение=Источник.Движения.ЗатратыПоОбъектам.Добавить(); //НаборЗаписей = РегистрыНакопления.ЗатратыПоОбъектам.СоздатьНаборЗаписей(); //НаборЗаписей.Отбор.Регистратор.Установить(Источник.Ссылка); //Движение = НаборЗаписей.Добавить(); Движение.Объект = Источник.ОбъектСписания; Движение.Период = Источник.Дата; Движение.Регистратор = Источник.Ссылка; Если ТипИсточника = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда Движение.Сумма = Источник.Услуги.Итог("Сумма"); ИначеЕсли ТипИсточника = Тип("ДокументСсылка.ТребованиеНакладная") Тогда ХозДвижения = Источник.Движения.Хозрасчетный; ОбщаяСумма = 0; Для Каждого Строка из ХозДвижения Цикл ОбщаяСумма = ОбщаяСумма + Строка.Сумма; КонецЦикла; Движение.Сумма = ОбщаяСумма; КонецЕсли; //НаборЗаписей.Записать(); КонецЕсли; КонецПроцедуры Пожалуйста, объясните, в чем разница и почему теперь все работает? |
|||
15
ОбычныйЧеловек
18.09.12
✎
13:23
|
(14) Разница в обработке проведения твоих документов (в поступление один подход в требовании другой) - если внимательно посмотришь код обработки проведения то сразу поймешь в чем дело.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |