#0
by абсурд 1С
Столкнулся с нетиповым кодом где один документ в обработке проведения формирует цепь других документов. Проблема в том, что иногда в этой схеме возникают сбои. Сама идея формировать что-то помимо самого документа видится мне весьма сомнительной - вместо того, чтобы сократить время проведения, по-сути происходит вложение транзакций других объектов. Насколько я вижу, всю бы эту ситуацию нужно переделать. Вот каким образом это вопрос - подпиской на событие? обработчиком ожидания? фоновым заданием?
#1
by Heckfy
@Столкнулся с нетиповым кодом где один документ в обработке проведения формирует цепь других документов@ - автору отрубить руки. Срочно переделать.
#3
by zenik
Отдельной обработкой - которая будет формировать всю цепочку документов от первого до последнего.
#4
by абсурд 1С
еще слышал о триггерах в бизнес процессах. может в эту сторону стоит подумать? был бы очень признателен за пример кода!!!
#7
by DrShad
слишком скудное описание, а по сему какие нафиг идеи? делай хочешь, лишь бы не было вложенных транзакций
#8
by абсурд 1С
проблемно поскольку документы цепи типовые. конфигурация торговая. торговля осуществляется от лица организаций холдинга при этом сами организации товара не имеют. Поступление товара в организации произодится в момент формирования заказа покупателя (как раз таки в обработке проведения). Например, при проведении документа заказ покупателя формируются документы ЗаказПоставщику (своей организации поставщику), заказПокупателя (от органиации продавца), реализация( организации продавцу), поступление (от организации поставщика) - Итого 4 документа в фоне. При формировании корректировки заказа покупателя в общем случае Формируется два возврата, два заказа, реализация, поступление - Итого 6 документов в фоне.
#12
by fisher
Ээээ... А в чем проблема с вложенными транзакциями и как еще гарантировать согласованность изменений в связанных документах?
#14
by абсурд 1С
уже вынес в после записи. Стабильее но все равно иногда приходится вручную проталкивать. интеркампани вроде как только в 11 версии появилось . у нас 10.3. быстрая продажа плодит множество документов, а это усложнит работу продавцам. в этом и есть суть вопроса - это сложно объяснить но вложенность не одному мне здесь ненравится))
#16
by fisher
Понятно, что идея прямо из обработки проведения чего-то другое проводить - странная. Но если нужны согласованные изменения, то по-любому это надо делать в одной транзакции. Т.е. проблема с которой ТС пришел (сократить время проведения) - ни разу не решается.
#20
by fisher
А нафига БП, если у тебя задача решается сейчас одномоментно? Если жесткий кол с производительностью и ты хочешь какие-то документы отражать отложенно, то это отдельная песня. Тогда нужно журналирование в том или ином виде.
#23
by fisher
Пока я вижу только, что ты разорвал транзакцию и теперь у тебя возможна несогласованность данных.
#24
by абсурд 1С
раньше практически каждый день поступали звонки от продавцов о том, что документ тот или иной заказ не проводится. Разберательства показали что ссылки между документами не всегда установлены. Пришлось делать обработку для связи документов одной сделки вручную. После тщательного рефакторинга кода количество таких обращений упало до нескольких в месяц. Хотелось бы решить такую проблему принципиально. Потом конечно жалобы пользователей, что система постоянно висит..
#26
by абсурд 1С
а это невозможно выяснить, т.к. смоделировать ситуацию не представляется возможным.
#27
by абсурд 1С
Кстати, а Интеркомпани в ут 11 это не то же самое что Пакетный ввод документов с видом операции "отрицательные остатки организации (закупка у собственных контрагентов)"???
#29
by fisher
Тогда только код лопатить и много думать. Это всё равно придется делать, даже если "с нуля" переписывать. Отсюда же не видно, какие там взаимосвязи и в каком порядке они устанавливаются. Очевидно одно - если документы создаются в одной транзакции и все ссылки проставляются там же, то описанной ситуации возникнуть не может. Либо ссылки будут все, либо документы не создадутся. Значит, чего-то там вне транзакции тоже делается.
#30
by абсурд 1С
изначально были в одной. После того как я вынес из обработки проведения разумеется доки создаются и проводятся в своих собственных транзакциях. единственное, что добавил так это проверку на число проведенных доков в зависимости от операции. если оно не равно нужному, то отменяю проведение ведущего документа.
#31
by palpetrovich
Делал нечто такое одному ЧПшнику в ПодпискеНаСобытие РеализацияТоваровУслуг ПередЗаписью При необзодимости создавалась Комплектация + ПеремещениеМеждуСобственнымиОрганизациями. Все работает, нареканий нет, но не знаю как будет если он вдруг "расширится" хотя-бы до 5 активных пользователей в базе :)
#34
by DrShad
ну почему же не тот, если к этому еще и механизм отложенного проведения прикрутить, то нет ничего невозможного
#35
by palpetrovich
в задача стояла такая при проведении Реализации проверяерся наличие комплектов, если нехватает: 1. проверяерся наличие комплектующих на организации с которой идет продажа, если есть - создается комплектация и проводится реализация 2. если не хватило, проверяется проверяерся наличие комплектов на другой организации, если нехватает: 2.1. проверяерся наличие комплектующих на этой организации с которой идет продажа, если есть - создается комплектация и перемещеется в первую организацию, проводится реализация ..путано рассказал наверное :) в общем все это було замучено для того, что-бы оператор работал только с одним документом
#36
by абсурд 1С
все же я думаю для бизнес логики, бизнес процессы и были придуманы и юзать надо именно их.
#37
by fisher
Бизнес-процессы вообще не про твой случай. Несмотря на наличие знакомых букв в названии.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- создание справочника
- V8. Проблемы с создание начальных образов
- Создание внешних компонент
- Создание обработки
- создание BAT ФАЙЛА для автоматического запуска 1с
- Обращение к движениям документа в обработке проведения
- Уважаемые, подскажите.. как программно вызвать перепроведение документов в УТ 10.3
- Перепроведение документа Реализация на основе заказа
- v8: В обработке проведения получить движения проводимого документа
- Обработка создание документов на основании, тех документов, что выбраны в обработке
- Создание таблицы во внешней обработке
- УТ11. Сообщение пользователю во внешней обработке создание связанных объектов.
В этой группе 1С
- Не работает справка в 1с Комплексная Автоматизация ред 1.1.
- Сколько нужно лицензий на сервер MS SQL?
- Обновила ЗУП - Синтаксическая ошибка "Ожидается параметр"
- УПП 1.3 Стали долго проводиться некоторые документы
- УПП 1.3 как посмотреть структуру себестоимости складских запасов?
- Как в запросе получить имя табличной части документа?
- Д 20 К 10 при расчете себестоимости КА 1.1
- Формирование документов Word под веб-сервером 1С 8.3
- Выборка остатков товаров, которых нет в заказе поставщику
- Оптимизация запроса: условие в соединении или в ГДЕ
- Преобразовать число в Дату
- Диадок Счет фактура в формате 5.02
- Не запускается база 1С, ошибка: База данных не обнаружена
- Скрипт backup для 1c + centos 6.5
- УПП 1.3 счет 003.01. Как правильно изменить аналитику.
- ЗУП 3.0:Отражение зарплаты в бух.учете
- Табличное поле в управляемой форме
- Открыть один и тот же отчет дважды
- Режим Серверный (Сжатие: Усиленное)
- Конвертация данных, два вопроса