Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Создание документа в обработке проведения другого документа          
Dmitriy-CoDy Подменю пользователя
сообщение 25.06.12, 15:02
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 29
Спасибо сказали: 0 раз
Рейтинг: 0

Всем привет, нужна помощь по матчасти.

Можно-ли во время обработки проведеня одного документа(например Документ1) создать(но не сохранять), где-то во внешней переменной(например в экспортируемой переменной модуля обработки), объект другого документа(например Документ2). И если неудалось провести Документ1, после выхода из его процедуры обработки проведения, провести ранее созданный объект Документ2(например показать пользователю форму с кнопкой).


Мне почемуто выдается ошибка:
Ошибка при вызове метода контекста (Записать)
ЭтотОбъект.Документ2Объект.Записать();

по причине:
Документ не выбран

Хотя в отладчике ЭтотОбъект.Документ2Объект - выглядит, как вполне нормальный ДокументОбъект. Понятно, еслибы я его сохранил - он бы "откатился" по транзакции.


 i 

Теги для выделения кода - это теги только для выделения кода. Не стоит использовать их для выделения обычного текста.
 


Сообщение отредактировал Vofka - 25.06.12, 15:05

Vofka Подменю пользователя
сообщение 25.06.12, 15:06
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

А зачем ЭтотОбъект ? Сделайте Документ2Объект обычной переменной.

Dmitriy-CoDy Подменю пользователя
сообщение 25.06.12, 15:28
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 29
Спасибо сказали: 0 раз
Рейтинг: 0

Не хотел мусорить кодом, но всетаки при1дется.

Модуль объекта Документ1:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)    
    // Мне важно именно при отказе проведения.
    Отказ = Истина;
    
    Обработка = Обработки.Обработка1.Создать();
    
    Обработка.Документ2Объект = Документы.Документ2.СоздатьДокумент();
    
    Обработка.ПолучитьФорму().Открыть();
КонецПроцедуры


Модуль объекта Обработка1:
Перем Документ2Объект Экспорт;


Процедура ЗаписатьДокумент2() Экспорт
    Документ2Объект.Записать();    
    //Ошибка при вызове метода контекста (Записать)
    //    ЭтотОбъект.Документ2Объект.Записать();
    //по причине:
    //Документ не выбран
КонецПроцедуры


Модуль формы Обработка1:
Процедура КнопкаВыполнитьНажатие(Кнопка)
    // Вставить содержимое обработчика.
    ЗаписатьДокумент2();
КонецПроцедуры


При проведении Документа1 - вылазит сообщение об ошибке проведения(так и должно быть), а при нажатии кнопки выполнить вижу ошибку:
Ошибка при вызове метода контекста (Записать)
ЭтотОбъект.Документ2Объект.Записать();
по причине:
Документ не выбран

logist Подменю пользователя
сообщение 25.06.12, 15:37
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Dmitriy-CoDy @ 25.06.12, 16:28) *
Обработка.Документ2Объект = Документы.Документ2.СоздатьДокумент();

Гениально однако)))

Док = Документы.Документ2.СоздатьДокумент();
Обработка.Документ2Объект = Док.Ссылка;

Ну как-то так. ну и разумеется нельзя работать со ссылкой как с объектом


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 11.05.24, 8:09
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!