Создание/перепроведение документов в обработке проведения? #743748


#0 by абсурд 1С
Столкнулся с нетиповым кодом где один документ в обработке проведения формирует цепь других документов. Проблема в том, что иногда в этой схеме возникают сбои. Сама идея формировать что-то помимо самого документа видится мне весьма сомнительной - вместо того, чтобы сократить время проведения, по-сути происходит вложение транзакций других объектов. Насколько я вижу, всю бы эту ситуацию нужно переделать. Вот каким образом это вопрос - подпиской на событие? обработчиком ожидания? фоновым заданием?
#1 by Heckfy
@Столкнулся с нетиповым кодом где один документ в обработке проведения формирует цепь других документов@ - автору отрубить руки. Срочно переделать.
#2 by абсурд 1С
полностью с вами солидарен - именно поэтому и появился данный пост!
#3 by zenik
Отдельной обработкой - которая будет формировать всю цепочку документов от первого до последнего.
#4 by абсурд 1С
еще слышал о триггерах в бизнес процессах. может в эту сторону стоит подумать? был бы очень признателен за пример кода!!!
#5 by абсурд 1С
То, что переделать срочно я понял) Будут еще идеи?
#6 by Jonny_Khomich
Может объеденить все в 1 документ?
#7 by DrShad
слишком скудное описание, а по сему какие нафиг идеи? делай хочешь, лишь бы не было вложенных транзакций
#8 by абсурд 1С
проблемно поскольку документы цепи типовые. конфигурация торговая. торговля осуществляется от лица организаций холдинга при этом сами организации товара не имеют. Поступление товара в организации произодится в момент формирования заказа покупателя (как раз таки в обработке проведения). Например, при проведении документа заказ покупателя формируются документы ЗаказПоставщику (своей организации поставщику), заказПокупателя (от органиации продавца), реализация( организации продавцу), поступление (от организации поставщика) - Итого 4 документа в фоне. При формировании корректировки заказа покупателя в общем случае Формируется два возврата, два заказа, реализация, поступление - Итого 6 документов в фоне.
#9 by Heckfy
Вынеси из обработки проведения.
#10 by DrShad
прочитать про интеркампани
#11 by НЕА123
быстрая продажа - обработка.
#12 by fisher
Ээээ... А в чем проблема с вложенными транзакциями и как еще гарантировать согласованность изменений в связанных документах?
#13 by НЕА123
обработкой проще, значительно.
#14 by абсурд 1С
уже вынес в после записи. Стабильее но все равно иногда приходится вручную проталкивать. интеркампани вроде как только в 11 версии появилось . у нас 10.3. быстрая продажа плодит множество документов, а это усложнит работу продавцам. в этом и есть суть вопроса - это сложно объяснить но вложенность не одному мне здесь ненравится))
#15 by абсурд 1С
Все же кто что думает насчет бизнес процессов?
#16 by fisher
Понятно, что идея прямо из обработки проведения чего-то другое проводить - странная. Но если нужны согласованные изменения, то по-любому это надо делать в одной транзакции. Т.е. проблема с которой ТС пришел (сократить время проведения) - ни разу не решается.
#17 by абсурд 1С
вроде как цель бп - обеспечить согласованность выполнения задач
#18 by DrShad
реализовать у себя интеркампани, в чем проблема?
#19 by Fish
Там проблема вовсе не во времени проведения.
#20 by fisher
А нафига БП, если у тебя задача решается сейчас одномоментно? Если жесткий кол с производительностью и ты хочешь какие-то документы отражать отложенно, то это отдельная песня. Тогда нужно журналирование в том или ином виде.
#21 by fisher
Вернее, не журналирование, а очередь.
#22 by fisher
ТС, расшифруй что такое "сбои" и "стабильнее".
#23 by fisher
Пока я вижу только, что ты разорвал транзакцию и теперь у тебя возможна несогласованность данных.
#24 by абсурд 1С
раньше практически каждый день поступали звонки от продавцов о том, что документ тот или иной заказ не проводится. Разберательства показали что ссылки между документами не всегда установлены. Пришлось делать обработку для связи документов одной сделки вручную. После тщательного рефакторинга кода количество таких обращений упало до нескольких в месяц. Хотелось бы решить такую проблему принципиально. Потом конечно жалобы пользователей, что система постоянно висит..
#25 by fisher
Принципиально это можно решить только если разобраться в причине косяков. Она неясна.
#26 by абсурд 1С
а это невозможно выяснить, т.к. смоделировать ситуацию не представляется возможным.
#27 by абсурд 1С
Кстати, а Интеркомпани в ут 11 это не то же самое что Пакетный ввод документов с видом операции "отрицательные остатки организации (закупка у собственных контрагентов)"???
#28 by DrShad
очень похоже, но сильно не то же самое
#29 by fisher
Тогда только код лопатить и много думать. Это всё равно придется делать, даже если "с нуля" переписывать. Отсюда же не видно, какие там взаимосвязи и в каком порядке они устанавливаются. Очевидно одно - если документы создаются в одной транзакции и все ссылки проставляются там же, то описанной ситуации возникнуть не может. Либо ссылки будут все, либо документы не создадутся. Значит, чего-то там вне транзакции тоже делается.
#30 by абсурд 1С
изначально были в одной. После того как я вынес из обработки проведения разумеется доки создаются и проводятся в своих собственных транзакциях. единственное, что добавил так это проверку на число проведенных доков в зависимости от операции. если оно не равно нужному, то отменяю проведение ведущего документа.
#31 by palpetrovich
Делал нечто такое одному ЧПшнику в ПодпискеНаСобытие РеализацияТоваровУслуг ПередЗаписью При необзодимости создавалась Комплектация + ПеремещениеМеждуСобственнымиОрганизациями. Все работает, нареканий нет, но не знаю как будет если он вдруг "расширится" хотя-бы до 5 активных пользователей в базе :)
#32 by абсурд 1С
у меня в базе до 200 юзеров, 5 городов крутится))
#33 by palpetrovich
понятно, не тот случай :)
#34 by DrShad
ну почему же не тот, если к этому еще и механизм отложенного проведения прикрутить, то нет ничего невозможного
#35 by palpetrovich
в задача стояла такая при проведении Реализации проверяерся наличие комплектов, если нехватает: 1. проверяерся наличие комплектующих на организации с которой идет продажа, если есть - создается комплектация и проводится реализация 2. если не хватило, проверяется проверяерся наличие комплектов на другой организации, если нехватает: 2.1. проверяерся наличие комплектующих на этой организации с которой идет продажа, если есть - создается комплектация и перемещеется в первую организацию, проводится реализация ..путано рассказал наверное :) в общем все это було замучено для того, что-бы оператор работал только с одним документом
#36 by абсурд 1С
все же я думаю для бизнес логики, бизнес процессы и были придуманы и юзать надо именно их.
#37 by fisher
Бизнес-процессы вообще не про твой случай. Несмотря на наличие знакомых букв в названии.
#38 by абсурд 1С
в любом случае нужно их поизучать, времени только нет((
#39 by Diman000
Убери из проведения. Кнопку на форме дока, обработку...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С