Имя: Пароль:
1C
1C 7.7
v7: Как подавить сообщение "Документ не проведен"?
0 Bagirius
 
09.08.16
12:10
Есть робот, который создает и проводит документы, принимаемые из почты. Документ резервирует товары.
В модуле проведения, есть проверка на остатки, но иногда, документ не может провестись (коряво партии лежат или еще что), и висит сообщение "Документ не проведен", и следовательно пока не нажмешь кнопку "ОК", все перестает работать, робот работает на терминале в фоновом режиме.
Процедура обрабатывается каждую минуту.
Мне достаточно,что бы документ просто остался не проведенным.

Меняю функцию/процедуру "НеПроводитьДокумент()" на СтатусВозврата(0), все равно сообщение, "Документ не проведен"
1 Dmitriy_76
 
09.08.16
12:12
Если не робот тогда сообщать (предупреждать) ...не ?
2 Bagirius
 
09.08.16
12:26
(1) Сообщение выдает 1С.
В процедуре проведения:
            Если РегОст.ДвижениеПоРегистрамОстаткиТоваров(Контекст) = 0 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
3 DrZombi
 
гуру
09.08.16
12:28
(0) Убрать из кода "Предупреждение".
Это надо же придумать, поместить Предупреждение в Модуль документа :)
4 DrZombi
 
гуру
09.08.16
12:29
(2) Сказки не рассказывай :)
5 Bagirius
 
09.08.16
12:29
(3) В коде нет процедуры ПРЕДУПРЕЖДЕНИЕ
6 пипец
 
09.08.16
12:30
(5) в глобальнике тоже нету ?
7 пипец
 
09.08.16
12:31
+ кстати там может быть "Вопрос" а не предупреждение
8 azernot
 
09.08.16
12:32
>робот, который создает и проводит документы, принимаемые из почты

А если процедуру записи документа в режиме проведения в попытку запихнуть?
9 DrZombi
 
гуру
09.08.16
12:41
(5) Нет чудес, особенно в 7.7
Когда обработка проводит документы, то выскакивает только тот диалог, который прописан в Модуле документа при вызове "Провести" :)
10 Это_mike
 
09.08.16
12:52
а что говорит товарищ Отладчик?
11 Bagirius
 
09.08.16
13:01
Взлетело через обработку внешнего события

Записать();
Форма.Закрыть();
глТекДок = ТекущийДокумент();
Сервис.ВнешнееСобытие("ПерепровестиСчетТ", "ЗакрытьФорму" + Строка(ЗакрытьФорму), "");
12 Ёпрст
 
09.08.16
13:02
(11) и нахрена ты форму открывал для перепроведения документов ?!
13 Bagirius
 
09.08.16
13:03
(11) это процедура из формы документа
14 Bagirius
 
09.08.16
13:04
+(13) кнопка с процедурой ПровестиКак()
15 Ёпрст
 
09.08.16
13:11
(13) и ?
Зачем открывать форму ? Когда в разы правильнее, перенести весь код в обработку.
16 Ёпрст
 
09.08.16
13:11
Нравитятся тормоза и нелепые вопросы как в (0) ?
17 Bagirius
 
09.08.16
13:24
вопрос открыт :-)

может проблема тут?

оСистема = СоздатьОбъект("Система");
оСистема.StartBatch(Конт);
Если Конт.Провести(1) = 0 Тогда
Возврат 0;
КонецЕсли;
18 PR
 
09.08.16
13:28
(17) Проблема, как верно подметили в (12), в прокладке
19 пипец
 
09.08.16
13:34
жесть )))))
20 DrZombi
 
гуру
09.08.16
13:37
(11) Жесть, да вы еще все делаете через форму? :)
Бу га га
21 Chum
 
09.08.16
13:50
1. В модуле проведения, скорее всего, есть НеПроводитьДокумент(1);

2. анакойхер открывать форму? работай через объект
22 пипец
 
09.08.16
14:15
помню чтобы не прописывать всяко разно дофига умолчальных процедур - открывал форму - и заполнял таки на основании, но !!!! таки  при открытии использовал параметры формы и отключил всякие вопросы призаписи и прочего...
Закон Брукера: Даже маленькая практика стоит большой теории.