Имя: Пароль:
1C
1С v8
Получить движения документа из процедуры подписки
,
0 User_Agronom
 
03.12.13
13:11
Собственно код:
Набор = РегистрыБухгалтерии.ЕПСБУ.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(Докум.ссылка);
Набор.Прочитать();

Если его вставить в процедуру подписки - набор содержит ноль элементов.
Если вставить в процедуру во внешней обработке, то движения есть.

Событие: обработка проведения документа.

Не могу понять, почему в первом случае не получает движения?
1 Odin1C
 
03.12.13
13:17
(0) попробуй
Док.Движенмя.нужныедвижения.прочитать()
только подписка нужна на обработку проведения вроде
2 Индиго
 
03.12.13
13:20
(0)При начале проведения движения очищаются
3 User_Agronom
 
03.12.13
13:21
(2) Подписка же выполняется после выполнения штатной процедуры.
Движения же уже должны быть сформированы и записаны.
4 х86
 
03.12.13
13:21
(2)+ и в подписке проведения они еще могут быть не записаны
5 х86
 
03.12.13
13:22
(3)от настроек регистра и от кода зависит
6 User_Agronom
 
03.12.13
13:25
(5) Режим блокировки управляемый
У Документа: Опративное проведение запретить.
7 User_Agronom
 
03.12.13
13:25
(1) Так и есть, на обработку проведения.
Не помогло :((
8 User_Agronom
 
03.12.13
13:31
(4) А их не записанных можно как-нибудь получить/изменить?
9 х86
 
03.12.13
13:33
(8)так вроде было
Если НЕ Док.Движенмя.нужныедвижения.Модифицированны Тогда
    Док.Движенмя.нужныедвижения./Прочитать();
КонецЕсли;

//тута их обрабатывам
10 х86
 
03.12.13
13:34
(9)+ только не Док а Источник
11 User_Agronom
 
03.12.13
13:40
(10) Ну да. Первый параметр процедуры, вызываемой по подписке.
12 User_Agronom
 
03.12.13
13:45
Код. При выполнении первой строки Движения.Количество() = 4, а при выполнении третьей нулю. Движения читать нельзя ;)

Движения = Источник.Движения.ЕПСБУ;
Если Движения.Модифицированность() тогда
    Движения.Прочитать();
КонецЕсли;
13 х86
 
03.12.13
13:47
(12)"не" пропустил
14 х86
 
03.12.13
13:49
(13)+ суть: если движения не изменены значить они уже записаны и их нужно читать, другое дело что после прочтения набор может быть пустым, но это уже значить такова логика
15 User_Agronom
 
03.12.13
13:50
(13) (14) Спасибо. Получилось.
Цель поменять субконто в некоторых случаях. Не хотелось переписывать всю процедуру проведения или править штатную.
16 Эмбеддер
 
03.12.13
13:51
(12) наоборот если НЕ модифицированность, прочитать
17 User_Agronom
 
03.12.13
13:53
(13) (16) Спасибо. Поправил.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший