Проводки в подписке на событие. БП, релиз 1.6.25.9, платформа 8.1
27.09.2010
14:10
#1
Всем примет.
Необходимо изменить проведение документа "Реализация товаров и услуг". Есть большое жалание сделать это не в самом документе, а в подписке на событие.
Не могу в событие "Обработка проведения" поймать сформированные документом проводки.
Проводки выбираю по регистратору, но выборка пустая.
Можно ли такое сделать в принципе, или я что-то не так делаю?
Спасибо.
Необходимо изменить проведение документа "Реализация товаров и услуг". Есть большое жалание сделать это не в самом документе, а в подписке на событие.
Не могу в событие "Обработка проведения" поймать сформированные документом проводки.
Проводки выбираю по регистратору, но выборка пустая.
Можно ли такое сделать в принципе, или я что-то не так делаю?
Спасибо.
27.09.2010
16:13
#2
Если я не ошибаюсь, то Документы делятся на 2 категории:
1. Делают записи в регистр напрямую (в этом случае в подписке надо выбирать движения из Регистра по Регистратору)
2. Используют свойство объекта Движения (в этом случае набор движений получается через Источник.Движения.<ИмяРегистра>)
В общем, если я не знаю, что делает документ с этим регистром - ставлю точку прерывания и смотрю.
Судя по всему вы пытаетесь сделать выборку из Регистра, а надо просто работать с Источник.Движения...
1. Делают записи в регистр напрямую (в этом случае в подписке надо выбирать движения из Регистра по Регистратору)
2. Используют свойство объекта Движения (в этом случае набор движений получается через Источник.Движения.<ИмяРегистра>)
В общем, если я не знаю, что делает документ с этим регистром - ставлю точку прерывания и смотрю.
Судя по всему вы пытаетесь сделать выборку из Регистра, а надо просто работать с Источник.Движения...
27.09.2010
17:02
#3
"Спасибо за ответ.
Выбирал и из движения
проводки=Источник.Движения.Хозрасчетный;
Но так тоже пусто. И отладчиком пусто.
Вы не пробовали так исправлять проводки?
"
Выбирал и из движения
проводки=Источник.Движения.Хозрасчетный;
Но так тоже пусто. И отладчиком пусто.
Вы не пробовали так исправлять проводки?
"
27.09.2010
18:53
#4
"Не только пробовал, но и работает ведь. Правда у меня УПП и менял как правило по регистрам накопления.
Вот к примеру кусок такого кода (исправление движений по регистру РасчетыСКонтрагентами):
РасчСКонтр = Источник.Движения.РасчетыСКонтрагентами;
//РасчСКонтр.Прочитать();
Для Каждого СтрОпл Из нТЗОплат Цикл
//Закрывает Платежку
Зап = РасчСКонтр.ДобавитьПриход();
//ДоговорКонтрагента, Организация, Контрагент
ЗаполнитьЗначенияСвойств (Зап, Источник);
//Сделка, СуммаВзаиморасчета
ЗаполнитьЗначенияСвойств (Зап, СтрОпл);
Зап.Период = Источник.Дата;
Зап.СуммаУпр = СтрОпл.СуммаВзаиморасчетов;
Зап.РасчетыВозврат = Перечисления.РасчетыВозврат.Расчеты;
//Закрываем Заказ
Зап = РасчСКонтр.ДобавитьРасход();
//ДоговорКонтрагента, Организация, Контрагент
ЗаполнитьЗначенияСвойств (Зап, Источник);
Зап.Период = Источник.Дата;
Зап.Сделка = СтрОпл.НоваяСделка;
Зап.СуммаВзаиморасчетов = СтрОпл.СуммаВзаиморасчетов;
Зап.СуммаУпр = СтрОпл.СуммаВзаиморасчетов;
Зап.РасчетыВозврат = Перечисления.РасчетыВозврат.Расчеты;
КонецЦикла;
//РасчСКонтр.Записать();
Видите 2 закоментированные строки - это было на случай, когда набор записей уже записан.
Вот пример из подписки для Приходного ордера на товары:
Движения = Источник.Движения.ПартииТоваровНаСкладах;
Движения.Прочитать();
Для Каждого СтрДвиж Из Движения Цикл
...
СтрДвиж.Качество = СтрТЧ.Качество;
КонецЦикла;
Движения.Записать();"
Вот к примеру кусок такого кода (исправление движений по регистру РасчетыСКонтрагентами):
РасчСКонтр = Источник.Движения.РасчетыСКонтрагентами;
//РасчСКонтр.Прочитать();
Для Каждого СтрОпл Из нТЗОплат Цикл
//Закрывает Платежку
Зап = РасчСКонтр.ДобавитьПриход();
//ДоговорКонтрагента, Организация, Контрагент
ЗаполнитьЗначенияСвойств (Зап, Источник);
//Сделка, СуммаВзаиморасчета
ЗаполнитьЗначенияСвойств (Зап, СтрОпл);
Зап.Период = Источник.Дата;
Зап.СуммаУпр = СтрОпл.СуммаВзаиморасчетов;
Зап.РасчетыВозврат = Перечисления.РасчетыВозврат.Расчеты;
//Закрываем Заказ
Зап = РасчСКонтр.ДобавитьРасход();
//ДоговорКонтрагента, Организация, Контрагент
ЗаполнитьЗначенияСвойств (Зап, Источник);
Зап.Период = Источник.Дата;
Зап.Сделка = СтрОпл.НоваяСделка;
Зап.СуммаВзаиморасчетов = СтрОпл.СуммаВзаиморасчетов;
Зап.СуммаУпр = СтрОпл.СуммаВзаиморасчетов;
Зап.РасчетыВозврат = Перечисления.РасчетыВозврат.Расчеты;
КонецЦикла;
//РасчСКонтр.Записать();
Видите 2 закоментированные строки - это было на случай, когда набор записей уже записан.
Вот пример из подписки для Приходного ордера на товары:
Движения = Источник.Движения.ПартииТоваровНаСкладах;
Движения.Прочитать();
Для Каждого СтрДвиж Из Движения Цикл
...
СтрДвиж.Качество = СтрТЧ.Качество;
КонецЦикла;
Движения.Записать();"
УТ 10,3 (10,3,13,2) Двоятся суммы (себестоимости) по документу Поступление доп.расходыКак сделать поиск по одному из столбцов в журнале документов?
Читают тему
(гостей: 1)