|   |   | 
| 
 | Открыть форму нового документа и проконтроллировать его проведение | ☑ | ||
|---|---|---|---|---|
| 0
    
        RizONE 17.11.22✎ 21:56 | 
        Доброе!
 Соственно сабж. имеем в 1с8.2 МояФорма = ПолучитьФорму("Документ.Анкета.Форма.ФормаДокумента"); МояФорма.Объект.Респондент = ВасяПупкин; МояФорма.Открыть(); Как программно узнать провелся документ или нет? | |||
| 1
    
        RizONE 17.11.22✎ 21:59 | 
        Нужно после проведение этого документа по условию автоматом провести другой док.
 Или лучше проведение второго документа прописать в Процедура ОбработкаПроведения(Отказ, РежимПроведения) первого документа? | |||
| 2
    
        RizONE 17.11.22✎ 22:00 | 
        как лучше это сделать?     | |||
| 3
    
        vicof 17.11.22✎ 22:09 | 
        А при чем здесь форма?     | |||
| 4
    
        RizONE 17.11.22✎ 22:20 | 
        (3) При том что через МояФорма.Открыть(); открывается форма документа для заполнения. Дальше нужно проконтролировать нажал оператор Ок или просто закрыл форму документа не проводя.
 Если же он провел документ то при выполнении определенного условия другой документ должен быть проведен не показывая формы. | |||
| 5
    
        vicof 17.11.22✎ 22:29 | 
        Есть подписки на события.
 Есть бизнес-процессы. Пользователь может и групповое проведение сделать, не открывая формы. | |||
| 6
    
        RizONE 17.11.22✎ 22:31 | 
        (5) О, точно, подписка. Сенкс.
 Попробую | |||
| 7
    
        RizONE 17.11.22✎ 23:43 | 
        ДокументОснование имеет составной тип. как назначить ему конкретный тип?
 так не работает :( Док.ДокументОснование.ТипЗначения = Новый ОписаниеТипов("ДокументСсылка.Анкета"); Док.ДокументОснование = Источник; //Источник конкретный док из 3х возможных типов | |||
| 8
    
        Остап Ибрагимович 18.11.22✎ 03:29 | 
        (7) а просто присвоить, предварительно проверив ТипЗнч(Источник) если надо - не?     | |||
| 9
    
        Ryzeman 18.11.22✎ 08:22 | 
        (0) >>МояФорма.Открыть(); 
 >>Как программно узнать провелся документ или нет? Твой код его и не проводит. Для проведения документа форма тебе вообще не нужна. Если тебе нужно показать форму пользователю, лучше сперва создай и проведи, потом показывай, ИМХО (бывают исключения в виде хитровыдрюченной логики на самой форме, но это простительно только в случае адового легаси, когда переделывать сильно дольше) (2) Лучше всего управляемые блокировки. Но оно тебе не надо, создай один, проведи, создай второй, запиши ссылку первого на реквизит второго, проведи. Код будет выполняться последовательно, если ошибок не было он не может не выполниться. Если же опасаешься отказа, то банальная проверка запросом или по полю Проведен | |||
| 10
    
        lodger 18.11.22✎ 09:54 | 
        в ОФ можно открыть форму модально и ждать код возврата, в подчиненную форму на закрытие поставить оповещение или передавать в Закрыть(свой параметр)     | |||
| 11
    
        RizONE 19.11.22✎ 18:42 | 
        (8) просто Док.ДокументОснование = Источник; после проведения показывает значение Док.ДокументОснование как неопределено. По этому и решил что нужно привести к нужному типа. Хотя в табличной части так и достаточно для составного типа - просто присвоить нужный тип. А с реквизитом документа так не получается.
 (10) да, тоже хорошо как решение проблемы. Не просто открывать, а модально с отслеживанием результата | |||
| 12
    
        RizONE 19.11.22✎ 19:05 | 
        Док.ДокументОснование = Источник.Ссылка; сработало     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |