|   |   | 
| 
 | Не записывается документ в модуле объекта | ☑ | ||
|---|---|---|---|---|
| 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) Понимаю куда клонишь. Обоснуй все-таки.
 У меня было так: Создается сотр при проведении документа ТД (прием) а в доке физлицо только было. Перепел на Передзаписью(). Появилось такая трабла. Иногда Сотрудник стал битой ссылкой (все из-за блокировок и транзакции). В итоге я перепроверял и записывал повторно. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |