Имя: Пароль:
1C
1C 7.7
v7: Провести документ в модуле проведения другого
, ,
0 bas28000
 
28.02.14
12:21
Весь вопрос в теме поста. Есть какой-то стандартный трюк для этого?
1 wanderer_ица
 
28.02.14
12:21
ОбработкаОжидания() и очередь документов на проведение
2 bas28000
 
28.02.14
12:27
(1) А можно как-то подробнее? Это, на мой взгляд, несколько не то.
3 Мигало
 
28.02.14
12:29
(2) Сделать то что хочешь ?
4 Ivan0v-I-V
 
28.02.14
12:29
в обработке проведения

        Д.НайтиДокумент(ВыбДок);
        ПараметрФормы = "Провести";  
        ОткрытьФорму(Д,ПараметрФормы);

в другом доке в форме

Процедура ПриОткрытии()  
    
    Если ФОрма.Параметр = "Провести" Тогда
        Провести();
        СтатусВозврата(0);
        Возврат;  
    КонецЕсли;
5 Wobland
 
28.02.14
12:30
а в семёрке бьют табуреткой по рукам при открытии форм при проведении?
6 bas28000
 
28.02.14
12:31
(4) При таком варианте не откидывается граница последовательности, проверено.
(3) Нужно провести второй документ только в тот момент, когда до конца успешно отработала процедура проведения первого документа.
(5) Нет, открыть и что-то сделать с другим документом можно, но вариант, предложенный в (4), не откидывает границу последовательности. Если это важно, то такой способ не подойдет.
7 Ivan0v-I-V
 
28.02.14
12:39
Установить(<?>);
Синтаксис:
Установить(<ПоложениеГП>)
Назначение:
Установить ГП (границу последовательности) на новую дату, документ или позицию.
Параметры:
<ПоложениеГП> - дата, документ или позиция документа, на которые устанавливается ГП.

не будет работать?
8 bas28000
 
28.02.14
12:44
(7) Хм, даже не знал про такую функцию! Попробую, расскажу позже.
9 Bigbro
 
28.02.14
12:47
когда она успешно отработала до конца то ты уже не в модуле проведения...
10 bas28000
 
28.02.14
12:53
(9) Последняя строка Процедуры ОбработкаПроведения() вполне устраивает как признак успешности.
11 big
 
28.02.14
12:55
(4) (8) Если между ТЕМИ и ЭТИМ документом находятся ещё документы, то будут коллизии при групповом перепроведении. Сообщение - "есть ранее проведенные документы"
12 Попытка1С
 
28.02.14
12:56
(0) Это порванный баян, воспользуйся поиском.
13 bas28000
 
28.02.14
12:57
(12) о великий ГУРУ, подскажи по каким словам искать!
14 Попытка1С
 
28.02.14
13:01
(13) Ты не поверишь..
15 Попытка1С
 
28.02.14
13:02
16 bas28000
 
28.02.14
14:41
Всем спасибо, способ с ручной установкой границы последовательности и открытия документа с его проведением оказался наиболее оптимальным.

(15) вторая ссылка вообще на тему про восьмерку.
17 Злопчинский
 
01.03.14
02:29
в конце процедуры проведения документа реализации:
//
        глСервис.ВнешнееСобытие("FAKIR", "ГЕНЕРАЦИЯСЧФВЫДАННЫЙ", ЗначениеВСтрокуВнутр(ТекущийДокумент()));
    КонецЕсли;

КонецПроцедуры //ОбработкаПроведения()
.
после окончания проведения - автоматом генерится-записывается-проводится счф выданный
.
//******************************************************************************
// глОбработкаFAKIR_ГЕНЕРАЦИЯСЧФВЫДАННЫЙ(Источник,Событие,Данные)
//
// Параметры:
//  Источник,Событие,Данные
//
// Возвращаемое значение:
//  Нет
//
Процедура глОбработкаFAKIR_ГЕНЕРАЦИЯСЧФВЫДАННЫЙ(Источник, Событие, Данные)
    
    Если Источник <> "FAKIR"
    Тогда //штатно
        Возврат;
    КонецЕсли;
    ОткрытьФорму("Отчет",Данные,глКаталог+"ДОКУМЕНТ#СчетФактураВыданный#АВТОГЕНЕРАЦИЯ.ert");
    
КонецПроцедуры //глОбработкаFAKIR_ГЕНЕРАЦИЯСЧФВЫДАННЫЙ()