|
Ввод на основании программно... 🠗 (Волшебник 29.03.2023 09:09) | ☑ | ||
---|---|---|---|---|
0
VP6608
28.03.23
✎
17:19
|
Добрый день. Заблудился в трёх соснах.
Есть некий документ (приобретение товаров и услуг). Хочу, чтобы при его проведении создавался другой документ (другого вида, допустим, заявка на расходование ДС) и проводился. Вроде понятно: в обработку проведения вставляю это НовДокумент = Документы.ЗаявкаНаРасходованиеДенежныхСредств.СоздатьДокумент(); НовДокумент.Заполнить(ЭтотОбъект.Ссылка); НовДокумент.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Оперативный); Документ проводится, всё хорошо, цель достигнута. Ок. Теперь нюанс: заявка не проводится по своей логике, например, по причине превышения лимита. Считаем это штатной ситуацией, не хотим его проводить, но хотим, чтобы основной документ, из которого это запущено - провёлся. По факту я сейчас вылетает сообщение об ошибке (той самой - "штатной"). Сообщение касается второго документа. Процедура прервана, первый документ остался непроведённым. Если весь этот код засунуть в "попытку - исключение" - то имею ошибку "в данной транзакции происходили ошибки" - и именно так, потому что в проведении второго документа налетаю на свои попытки-исключения... в общем, это не работает. |
|||
1
Garykom
гуру
28.03.23
✎
17:22
|
>Хочу, чтобы при его проведении создавался другой документ (другого вида, допустим, заявка на расходование ДС) и проводился
Советую перехотеть И сделать правильно, через запись в РС и регламентное-фоновое задание |
|||
2
lodger
28.03.23
✎
17:25
|
(0) то что ты сделал сейчас - это запись вложенной транзакции проведения ЗНРДС внутри транзакции проведения ПТиУ.
это считается г..кодом разведи их по времени друг за другом. методы разные. можно как (1). но это лишние сущности в метаданных. можно просто запустить фоновое задание после записи с передачей ссылки ПТиУ. |
|||
3
Garykom
гуру
28.03.23
✎
17:27
|
(2) в случае массового перепроведения доков ЗаявкаНаРасходованиеДенежныхСредств сколько фоновых у тебя породится?
|
|||
4
VP6608
28.03.23
✎
17:29
|
(1), (2) - спасибо, но стартовать фоновое задание как - опять же из этой транзакции проведения?
|
|||
5
Garykom
гуру
28.03.23
✎
17:29
|
(3) тьфу *доков ПТиУ
|
|||
6
shuhard
28.03.23
✎
17:30
|
(4) сделай РГ сведений, задания на создание Заявок на расход ДС, пиши в него чем хочешь, читай и очищай регламентным заданием
|
|||
7
Garykom
гуру
28.03.23
✎
17:32
|
(4) правильно это ссылки на первичный документ складывать в свой РС "ДокументыКОбработке"
причем не только при проведении но и при отмене тоже затем регламентное (и порожденное им одно фоновое) по этому РС идет и "необработанные" записи обрабатывает - создает Заявки, проводит, пишет в РС статус или удаляет запись уже ненужную |
|||
8
VP6608
28.03.23
✎
17:32
|
(6, 7) ах вот как. Подумаю, спасибо. Идею понял.
|
|||
9
Garykom
гуру
28.03.23
✎
17:33
|
(7) *проводит или отменяет проведение или даже удаляет в случае удаления первичного дока
|
|||
10
lodger
28.03.23
✎
17:43
|
(3) перед созданием ФЗ надо оценить наличие ЗНРДС по основанию ПТиУ. 1 чтение СУБД и 0 ФЗ для ложной сработки.
|
|||
11
lexushka
28.03.23
✎
21:55
|
Сейчас побьют меня, но замечу
Что мешает при проведении второго документа самостоятельно проверять проведется он или нет? |
|||
12
АгентБезопасной Нацио
29.03.23
✎
10:36
|
(11) соотношение радиусов мешает..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |