Имя: Пароль:
1C
1С v8
v8: Подписка, доступ к проводкам незаписанной операции
0 Dimon1C
 
11.07.12
07:51
Используется БГУ, есть такой документ "Операция (бух)", в которой нет табличной части, используется напрямую регистр бухгалтерии при заполнении документа.
Сделал подписку на запись для данного документа, так вот, при создании новой операции движений еще нет, то есть
ДокументОбъект.Движения.ЕПСБУ.Прочитать();
ТаблицаПроводок = ДокументОбъект.Движения.ЕПСБУ.Выгрузить();
Выдает: ТаблицаПроводок.Количество()=0, что есть правильно, так как операция еще не записана.
Вопрос: как в подписке на событие "ПриЗаписи" обратится к данным проводкам?
1 romashov
 
11.07.12
07:58
Может создать набор записей установить отбор и прочитать
2 Defender aka LINN
 
11.07.12
08:08
(0) Вообще-то в вопросе уже содержится ответ
3 Галахад
 
гуру
11.07.12
08:12
А подписка на запись в регистр бухгалтерии не катит?
4 Dimon1C
 
11.07.12
08:19
(1)
Проводки = РегистрыБухгалтерии.ЕПСБУ.СоздатьНаборЗаписей();
Проводки.Отбор.Регистратор.Установить(Источник);
Проводки.Прочитать();

Аналогично Проводки.Количество() = 0
5 lion11
 
11.07.12
08:21
Попробуйте сделать подписку ПриПроведении
6 Dimon1C
 
11.07.12
08:24
Документ не проводится, только записывается
7 Defender aka LINN
 
11.07.12
08:25
ППЦ...
8 Dimon1C
 
11.07.12
08:32
(2) Какой ответ? Говори раз знаешь!
9 lion11
 
11.07.12
08:36
Все работает и в подписке ПриЗаписи
вот модуль подписки:

Процедура ПодпискаНаСобытие1ПриЗаписи(Источник, Отказ) Экспорт
   НаборЗаписей = Источник.Движения.ЕПСБУ;
   ТаблицаПроводок = НаборЗаписей.Выгрузить();
   Сообщить("Колво "+ТаблицаПроводок.Количество());
КонецПроцедуры
10 lion11
 
11.07.12
08:37
+ Обрабатываешь таблицу, и потом
   НаборЗаписей.Загрузить(ТаблицаПроводок);
11 Defender aka LINN
 
11.07.12
08:38
(10) ... и получаешь большой пшик. Движения-то уже записаны.
12 lion11
 
11.07.12
08:42
(11) Так ему же и нужны проводки... Вот они. Исправляй
13 Defender aka LINN
 
11.07.12
08:47
(12) Еще раз, на этот раз помедленнее: движения УЖЕ записаны.
14 Dimon1C
 
11.07.12
08:54
(9) Выдает кол-во = 0
Операция создается новая.
15 lion11
 
11.07.12
08:57
(13) Согласен.
Можно использовать подписку ПередЗаписью
(14) три раза проверил, выдает колво > 0, и при копировании существующей операции, и при записи новой
16 Serg_1960
 
11.07.12
09:13
Для Каждого Проводки Из Источник.Движения Цикл
  Если Проводки.Выбран() Тогда  
     Проводки.Прочитать();
  КонецЕсли;
  Количество = Проводки.Количество();
  Если Количество > 0 Тогда
     ...
17 Defender aka LINN
 
11.07.12
09:19
(16) Еще один...
18 Serg_1960
 
11.07.12
09:22
Ну извени если не угадал :) Особо не вникал в суть проблемы.
19 Dimon1C
 
11.07.12
09:27
(15) Использовал БГУ, документ ОперацияБух ?
20 lion11
 
11.07.12
09:53
(19) Да, БГУ, ред.1.0.12.2. Хочешь, скрин покажу...
21 Dimon1C
 
11.07.12
12:00
(20) Спасибо, разобрался.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс