|
Где провести действия, с уже записанными движениями после ОбработкаПроведения? | ☑ | ||
---|---|---|---|---|
0
Pentosh
22.02.17
✎
14:35
|
Здравствуйте, ситуация следующая.
Есть проблема, сделал ее своими руками как грамотно разрулить теперь не знаю. Док. Установка цен номенклатуры, рассчитываю цены, но есть позиции которые рассчитываются как сумма из других элементов. В связи с чем сделал следующие: рассчитал отдельные части, записал движение, и потом для составных частей (уже с учетом изменений цен отдельных частей) начал считать суммы (т.е. цикл с запросом состав и ценами (срезпоследних) и сумма отдельных частей в составе), затем стандартная запись после ОбработкаПроведения. В результате, ловлю 2-ю запись в регистр довольно большого набора данных. Как можно этого избежать, подскажите, пожалуйста? (если на этот вопрос есть ответ, то можно дальше не читать) Но это еще пол беды, у меня появилась задача, на основе этого набора записей еще кое какую инфу генерировать сразу после записи документа. Попробовал в подписке повесить на событие "ПриЗаписиНабораДанных", но т.к. у меня 2-я запись происходит, становится все очень плохо, в связи с чем вопрос: Можно ли как то после проведения документа (полной записи его движений), вклинится в процесс и сделать свои дела с набором данных по документу? |
|||
1
DrShad
22.02.17
✎
14:37
|
конечно можно - делай подписку на событие ОбработкаПроведения и меняй там что хочешь
|
|||
2
DrShad
22.02.17
✎
14:40
|
[Док. Установка цен номенклатуры, рассчитываю цены, но есть позиции которые рассчитываются как сумма из других элементов. В связи с чем сделал следующие: рассчитал отдельные части, записал движение, и потом для составных частей (уже с учетом изменений цен отдельных частей) начал считать суммы (т.е. цикл с запросом состав и ценами (срезпоследних) и сумма отдельных частей в составе), затем стандартная запись после ОбработкаПроведения. ]
лучше все сразу рассчитать и записать абсолютные цифры |
|||
3
Pentosh
22.02.17
✎
14:47
|
(1) Спасибо, а в ней подписке не будет еще одной записи набора?
(2) Вот как сделать чтобы "все сразу" пол-года назад не сообразил, сейчас вот начало вылазить. Есть модуль, в нем есть фасад и каркас, я беру меняю цену каркаса, провожу док, рассчитываю цену каркаса, узнаю (запросом) какие модули имеют этот каркас, для всех этих модулей делаю запрос суммируя их состав, с учетом текущей цены каркаса. Вот как это сделать пока не сообразил. |
|||
4
DrShad
22.02.17
✎
14:49
|
(3) зависит от того как напишешь - можно перезаписать весь набор, а можно дописать набор
|
|||
5
Pentosh
22.02.17
✎
14:52
|
(4) не, мне набор нужно только обойти в цикле, ничего в нем менять не буду, т.е. мне нужен готовый набор данных на его основе делаю нужную инфу и все, т.е. записей набора с ценами происходить больше не должно.
Т.е. мне бы подошла процедура модуля формы "ПриЗаписиНаСервере", но нужно чтоб это на сервере было, без привязки к формам. |
|||
6
Pentosh
22.02.17
✎
15:23
|
Да, проверил, подписка на ОбработкаПроведения это не то что надо, но спасибо за вариант.
|
|||
7
Cyberhawk
22.02.17
✎
15:25
|
Когда логика формирования части движений документа опираюется на движения этого же документа - это плохой тон
|
|||
8
Cyberhawk
22.02.17
✎
15:25
|
(6) "подписка на ОбработкаПроведения это не то что надо" // Чем не устраивает?
|
|||
9
Pentosh
22.02.17
✎
15:32
|
(7) тут логика не формирования движения, а подготовка данных к выгрузке (цены выгружать надо на сайт)
(8) тем что сначала подписка происходит, а потом уже запись идет, а мне нужно событие после записи данных. попробую по другому объяснить: Мне надо чтобы в конце проведения документа, когда все движения уже готовы, используя эти движения сформировать Json-чик с рассчитанными ценам, в нужном мне формате. |
|||
10
DrShad
22.02.17
✎
15:36
|
(9) и что мешает получить движения и выкинуть их в JSON массив? а вот при записи их еще нет
|
|||
11
Pentosh
22.02.17
✎
15:40
|
(10) ничего не мешает, только это событие нужно как то привязать к документу, вот и спрашиваю: на какое событие повесить формирование json-а, чтоб все движения уже были готовы, транзакция документа еще не закончилась, и не связываться с формой?
|
|||
12
DrShad
22.02.17
✎
15:40
|
[Мне надо чтобы в конце проведения документа, когда все движения уже готовы, используя эти движения сформировать Json-чик с рассчитанными ценам, в нужном мне формате]
и в такой постановке нахрена конец проведения? просто бери записи регистра в любой необходимый момент и выгружай |
|||
13
DrShad
22.02.17
✎
15:40
|
(11) ОбработкаПроведения же
|
|||
14
Pentosh
22.02.17
✎
15:42
|
В "ОбработкаПроведения" еще движения не готовы (не записались еще, на незаписанных думаю хорошо делать какие то другие данные.
В "ПриЗаписиНаСервере", которая в форме, не хочу, ибо в форме. |
|||
15
Pentosh
22.02.17
✎
15:44
|
(14) "думаю хорошо" = "думаю не хорошо"
(13) ну вот только если на не записанных данных основываться, но существует опасность что они не запишутся и тогда у меня документ будет просто так долго висеть. |
|||
16
DrShad
22.02.17
✎
15:45
|
(14) билять возьми и посмотри отладчиком готовы или нет
сто лет так делаем и всех готовы, а именно у тебя нет |
|||
17
DrShad
22.02.17
✎
15:46
|
(15) после выполнения ОбработкиПроведения есть еще какие-то риски что документ не запишется!? с какого?
|
|||
18
Pentosh
22.02.17
✎
15:53
|
(16) не нервничайте, пожалуйста, не хотел вас разозлить.
В конце процедуры "ОбработкаПроведения" движения готовы, но не записаны же еще окончательно (если не вызвать записать, конечно), верно? (17) после выполнения записались, но вы мне говорите делать что я хочу в ОбработкаПроведения, а не после нее, понимаете о чем я? |
|||
19
Pentosh
22.02.17
✎
15:54
|
(17) Но я вашу позицию услышал, спасибо большое, скорее всего так и придется сделать, но я открыт для предложений.
|
|||
20
Лефмихалыч
22.02.17
✎
15:54
|
можно регламентным заданием обрабатывать движения, которые должны быть обработаны. 1С это в ERP использует на всю длину, значит и людям можно.
|
|||
21
Pentosh
22.02.17
✎
15:57
|
(20) спасибо, как вариант.
|
|||
22
Hmster
22.02.17
✎
16:04
|
(18) а ПриЗаписи() не устраивает?
|
|||
23
DrShad
22.02.17
✎
16:05
|
(18) я понимаю о чем вы, но если дошло до подписки ОбработкаПроведения, то все проверки уже пройдены и никаких препятствий для записи набора нет, кроме как в самой подписке Отказ в истину выставить
|
|||
24
DrShad
22.02.17
✎
16:05
|
(22) при записи нет движений
|
|||
25
Hmster
22.02.17
✎
16:08
|
(24) вы их смотрите через ДокОбъект.Движения или НаборЗаписей считываете?
|
|||
26
Лефмихалыч
22.02.17
✎
16:09
|
(25) у документа, который ранее не проводился, движений ПриЗаписи не будет ни там, ни сям
|
|||
27
DrShad
22.02.17
✎
16:09
|
(25) без разницы
|
|||
28
Hmster
22.02.17
✎
16:25
|
Тогда ПередЗаписью() в самом наборе и добавляй в набор что хочешь, только желательно убедиться что запись один раз происходит.
Так же можно и ПриЗаписиНабораДанных использовать, в этом случае ДополнительныеСвойства используй чтобы твою запись не обрабатывал |
|||
29
DrShad
22.02.17
✎
16:26
|
(28) слив засчитан
|
|||
30
Cyberhawk
22.02.17
✎
18:02
|
(9) "надо чтобы в конце проведения документа, когда все движения уже готовы, используя эти движения сформировать Json-чик с рассчитанными ценам, в нужном мне формате" // При групповом перепроведении документов что должно происходить?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |