|
Не записывается документ в модуле объекта | ☑ | ||
---|---|---|---|---|
0
Demanufactyre
16.01.23
✎
08:57
|
В Модуле объекта документа "Реализации"
Процедура ОбработкаПроведения (Отказ, РежимПроведения) Док = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); //Документ заполняется значениями... Док.Записать(); КонецПроцедуры; И далее ничего не происходит. Делал через "Попытка", тоже нет никаких ошибок. Но в списках поступлений нет документа. Если ОткрытьФорму() и там нажать провести, то все замечательно проводится без ошибок. Как программно записать документ в модуле объекта? |
|||
1
Ryzeman
16.01.23
✎
09:00
|
(0) Ну, как минимум ты его и не проводишь.
Синтаксис: Записать(<РежимЗаписи>, <РежимПроведения>) Параметры: <РежимЗаписи> (необязательный) Тип: РежимЗаписиДокумента. Позволяет выбрать один из возможных режимов записи. Значение по умолчанию: Запись. <РежимПроведения> (необязательный) Тип: РежимПроведенияДокумента. Позволяет выбрать один из возможных режимов проведения. Значение по умолчанию: Неоперативный. А так - отладку, точку останова и смотреть что там у тебя происходит. |
|||
2
Demanufactyre
16.01.23
✎
09:03
|
(1) Да. Мне надо его записать. Режимы записи не помогают. Пробовал провести, записать. В отладке "Док - Поступление номер такой то, дата такая то - тип Документы.Поступление"
|
|||
3
Ryzeman
16.01.23
✎
09:07
|
(2) То есть ты встаёшь на строчку
Док.Записать(); у тебя там заполненный новый объект, ты нажимаешь F11 и у тебя не ругается но документ не записывается?) Не верю. Либо у тебя всё происходит в одной транзакции и ты её где-то отменяешь. |
|||
4
shuhard
16.01.23
✎
09:19
|
(0)[Но в списках поступлений нет документа. ]
если это УТ11 или ERP, то так и должно быть посмотри в журнале и в консоле запросов |
|||
5
Demanufactyre
16.01.23
✎
09:21
|
||||
6
Demanufactyre
16.01.23
✎
09:22
|
(4) БП КОРП 3.0
|
|||
7
Demanufactyre
16.01.23
✎
09:33
|
||||
8
glover
16.01.23
✎
09:34
|
(0) В списке поступлений нажимали "Обновить"?
|
|||
9
Ryzeman
16.01.23
✎
09:36
|
(7) Есть консоль запросов?
Выполни простенький запрос в этой базе ВЫБРАТЬ Док.Ссылка ИЗ Документ.ПоступлениеТоваровУслуг КАК Док Где Док.Номер = "КУ00-КУ0009" |
|||
10
Обработка
16.01.23
✎
09:39
|
В ОбработкаПроведения проводить другой док не кошерно.
Подумай как можно обойтись бех этого. Есть зе перед записью При записи, ну там события после итп. |
|||
11
Demanufactyre
16.01.23
✎
09:42
|
(9) Делал. Документа нет. Если несколько раз пытаться проводить то бесконечно назначается номер 009. Если вручную добавить документ 009, то начинает бесконечно назначаться номер 010 и т.д.
|
|||
12
Demanufactyre
16.01.23
✎
09:43
|
(10) Спасибо. Скорее всего Вы правы. Пойду в "ПриЗаписи". Вопрос закрыт!
|
|||
13
Ryzeman
16.01.23
✎
09:44
|
(11) Но реализация проводится и ОтменитьТранзакцию() нигде в коде нет?
|
|||
14
Demanufactyre
16.01.23
✎
09:57
|
(13) Реализация не проводится потому, что там не хватает товара на складе.
|
|||
15
Dmitrii
гуру
16.01.23
✎
10:03
|
(14) >> Реализация не проводится потому, что там не хватает товара на складе.
Ну вот и ответ. Запись и проведение производится в одной транзакции. Если проведение не происходит (из-за нехватки товара, по ошибке или ещё по какой-либо причине), то все транзакции, которые выполнялись внутри (в том числе запись твоего поступления) тоже откатываются. |
|||
16
KJlag
16.01.23
✎
10:04
|
а что журнал регистрации говорит?
он видит что вы создали? там пройти по ссылке, или он показывает, что транзакция откатилась? |
|||
17
Обработка
16.01.23
✎
10:06
|
||||
18
Dmitrii
гуру
16.01.23
✎
10:08
|
+ к (15) В зависимости от сути того, что ты пытаешься делать, тебе следует либо оставить как есть. В таком случае поступление будет записываться при успешном проведении реализации.
Либо создавать и записывать поступление перед записью реализации, до начала транзакции. Тогда поступление будет записываться вне зависимости от того провелась в конечном счёте реализация или нет. А вообще прав (10) - записывать другие объекты внутри транзакции проведения - не кошерно. Лучше подумать о каком-то ином подходе к решению задачи. |
|||
19
Demanufactyre
16.01.23
✎
10:12
|
(18) Спасибо. Уже сделал в "ПриЗаписи".
|
|||
20
Demanufactyre
16.01.23
✎
10:12
|
(17) Спасибо)
|
|||
21
Михаил Козлов
16.01.23
✎
14:00
|
(19) Напрасно.
|
|||
22
Обработка
16.01.23
✎
15:05
|
(21) Понимаю куда клонишь. Обоснуй все-таки.
У меня было так: Создается сотр при проведении документа ТД (прием) а в доке физлицо только было. Перепел на Передзаписью(). Появилось такая трабла. Иногда Сотрудник стал битой ссылкой (все из-за блокировок и транзакции). В итоге я перепроверял и записывал повторно. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |