Имя: Пароль:
1C
 
Подскажите процедуру которая выполняется после обработки проведения
0 Блондинка_
 
17.07.15
10:44
Добрый день! Мне в документ оплаты после его проведения, т.е. уже после того как он сделал и зафиксировал все движения по регистрам, нужно проверить % оплаты к заказу. В какой процедуре это можно сделать? Пробовала вставить в обработку проведения после движений по регистрам - все равно еще движений нет, оплату не видит
1 ОбычныйЧеловек
 
17.07.15
10:45
(0) В подписке на событие "Обработка проведения" (она возникает после проведения)
2 Блондинка_
 
17.07.15
10:47
(1) Спасибо большое, была мысль о подписке на событие но я ей как-то вообще практически не пользовалась и решила другой способ узнать) Ок, сейчас сделаем)
3 Mifka
 
17.07.15
10:48
И з других способов можно зделать записи вручную в конце процедуры и сможеш их видить. Но лучше подписка
4 ИС-2
 
naïve
17.07.15
10:49
(0) нет такой :( Можно использовать событие ПослеЗаписи в модуле формы, но это возможно только при интерактивной работе из формы.

Можно еще попробывать сделать план обмена с авторегистрацией и есть событие ПриЗаписи и уже оттуда вызывать свои действия. Что получится - хз
5 fisher
 
17.07.15
10:50
(0) В той же обработке проведения. Просто запиши движения и анализируй на здоровье.
6 Mifka
 
17.07.15
10:50
(4) можно ведь и не в форме смотреть?
7 fisher
 
17.07.15
10:51
(1) Не проверял, но уверен, что будет такая же байда - наборы записей еще не записаны.
8 Блондинка_
 
17.07.15
10:53
По подписке на события - сейчас попробую расскажу.
А если нет, то наверное да, буду использовать после записи на форме, была тоже такая мысль, ну что ж поделать, уже есть в конфе пара событий которые так работают, так что пусть привыкают проводить из формы
9 fisher
 
17.07.15
10:56
(8) Если то, что ты хочешь - часть логики проведения, то это должно быть в обработке проведения. Если просто пользователю чего-то там вывести, тогда да - в форме ПослеЗаписи().
10 Serg_1960
 
17.07.15
10:56
"Не проверял, но уверен"(fisher) :)
11 ОбычныйЧеловек
 
17.07.15
10:56
(4)(8)(10) теоретики :)
12 Гёдза
 
17.07.15
10:57
ПриЗаписи
13 ОбычныйЧеловек
 
17.07.15
10:58
+11 не (8) а (7)
14 xaozai
 
17.07.15
11:00
(0) Сдайте на Специалиста по платформе и вопрос отпадет. Там чуть ли не в каждой задаче по опер. учету это нужно. Типа, новая методика проведения с контролем остатков.
15 fisher
 
17.07.15
11:00
(10) Что, таки после записи наборов?? Хм, буду знать.
16 Зеленый пень
 
17.07.15
11:02
Если цель - что-то сообщить пользователю, который работает из формы документа: использовать ПослеЗаписи в форме.
Иначе - хоть подписку, хоть в конце ОбработкиПроведения - сначала придется записать движения.
17 Блондинка_
 
17.07.15
11:03
Правда не видит и при подписке на события(
18 ОбычныйЧеловек
 
17.07.15
11:06
(17) ты оправдываешь свой ник :)
19 Блондинка_
 
17.07.15
11:07
Спасибо большое за советы, сделаю после записи в форме, у меня процедура общая для нескольких документов, поиск оплаты идет по регистрам, не хочется в каждом доке чего-то мудрить.
20 Блондинка_
 
17.07.15
11:09
(18) Это Вы после чего такой вывод сделали? Я послушала и проверила совет, при чем Ваш)
21 Serg_1960
 
17.07.15
11:10
(15) (информация к размышлению) Типовая УПП, подписками "ПриПроведенииРасширеннаяАналитикаЗапасов..." формируются движения для РАУЗ.
22 ОбычныйЧеловек
 
17.07.15
11:10
(20) В подписку вставь:
Функция ПолучитьТаблицуДвиженийРегистра(Док, стрРегистр)
    НаборДвижений=Док.Движения[стрРегистр];
    Если НаборДвижений.Количество()>0 Тогда
        Возврат Док.Движения[стрРегистр].Выгрузить();
    КонецЕсли;

    НаборДвижений=РегистрыНакопления[стрРегистр].СоздатьНаборЗаписей();
    НаборДвижений.Отбор.Регистратор.Установить(Док.Ссылка);
    НаборДвижений.Прочитать();
    Если НаборДвижений.Количество()>0 Тогда
        Возврат НаборДвижений.Выгрузить();
    КонецЕсли;

    Возврат Неопределено;
КонецФункции
23 СвинТуз
 
17.07.15
11:13
Движения.Записать() в обработке проведения
Если проверитьПроцент() тогда
Отказ=Истина;
КонецЕсли;

только это не всегда красиво
24 Блондинка_
 
17.07.15
11:14
(22) Мне не нужен набор движений, я хотела обойтись общим для нескольких документов запросом к регистру,поэтому и спрашивала именно процедуру которую стандартно можно вызвать после проведения.
25 fisher
 
17.07.15
11:16
(19) ПослеЗаписи - выполняется вне транзации. Нельзя там делать что-то, что должно быть частью проведения.
(22) Наборы записей и в обработке проведения никаких проблем прочитать. Я думал, требуется остатки анализировать.
26 СвинТуз
 
17.07.15
11:18
(24)
запиши и проверь
это уже классика
"новая методика проведения документов"
27 Блондинка_
 
17.07.15
11:19
(25) Мне только пользователю сообщить что % оплаты к заказу подходит по условиям, если бы я конечно что-то проверяла при проведении например остатки по регистрам, то позаморачивалась бы с таблицей движений
28 fisher
 
17.07.15
11:22
Так всё-таки, подписка на "ОбработкуПроведения" выполняется после записи наборов или до? Serg_1960 и ОбычныйЧеловек утверждают, что после и там уже можно анализировать итоги регистров с учетом движений.
Это так? У Блондинка_ не получилось.
29 fisher
 
17.07.15
11:22
(27) Если пользователю сообщить, то ПослеЗаписи - самое то.
30 СвинТуз
 
17.07.15
11:24
(29)
если режимзаписи = ... тогда
конецесли

?
31 Alex S D
 
17.07.15
11:25
(28) Само собой что до... Сам то не блондин случаем?)
32 Simod
 
17.07.15
11:26
33 Serg_1960
 
17.07.15
11:29
(29) +1
Если только что-то сообщить, то только после успешной записи (и проведения) документа.

Подписки проведения не совсем "удачное место" для анализа движений и сообщения пользователю чего-либо на основе этого анализа - чисто теоретически проведение может быть отменено любой подпиской до или после подписки "МнеТолькоСообщить" :)
34 fisher
 
17.07.15
11:29
(31) Вот и я был уверен, что до. А Serg_1960 и ОбычныйЧеловек зафукали и теоретиком обозвали.
35 Alex S D
 
17.07.15
11:33
(34) они говорили что движения формируются.. записываются они всеравно после..
36 Serg_1960
 
17.07.15
11:33
(34) Ыыы... я никого не обзывал :( Я просто напомнил что движения могут формироваться подписками. Я уж молчу про отложенное проведение (есть такая фишка в типовых).
37 Umga2002
 
17.07.15
11:36
Делал подобное...
В конце процедуры проведения Анализировал и изменял движения по по подготовленным проведением движениям по регистрам...
38 fisher
 
17.07.15
11:38
Ок, не поняли друг друга. Бывает.
39 Блондинка_
 
17.07.15
11:40
Я писала "в документ оплаты после его проведения, т.е. уже после того как он сделал и зафиксировал все движения по регистрам, нужно проверить % оплаты к заказу."
А движения я могла и в обработке проведения проанализировать) не вызывая никаких подписок)))
40 Simod
 
17.07.15
11:46
После того, как зафиксированы движения можно и остатки по регистру получить. Дожидаться окончания обработки проведения не обязательно.

PS. Похоже какой-то смысл в экзаменах на спеца есть..
41 ИС-2
 
naïve
17.07.15
11:53
(39) можно еще прочитать движения

пример. Движения.ЗаказыПокупателей.Прочитать(), тогда (точнее смотря как спроектировано) движения появятся

Я делаю обычно так - выгружаю ТЧ в запрос, объединяю с данными регистра и считаю, что нужно. Т.е в запросе работаю с данными, которые будут в регистре при успешном проведении
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн