Имя: Пароль:
1C
1С v8
Как поймать факт запуска обработки, встроенной в платформу?
,
0 Moro
 
09.08.16
14:39
Доброго времени суток!

В меню "Операции" - "Проведение документов" можно открыть одноимённую обработку. Как программно отличить проведение ею от обычного интерактивного проведения?

Конфа УТП для Украины, но, например, в ЗУПе есть ровно такая же обработка. На сколько я понял, она встроена в платформу.

Есть подписка на событие "Перед записью" нескольких видов документов. В связанной процедуре при интерактивной записи я фиксирую пользователя-изменятора. При массовом изменении/проведении изменятора фиксировать не нужно. В нескольких таких обработках добавляю дополнительное свойство записываемого объекта, по которому и определяю программное проведение. Как отловить факт проведения именно обработкой платформы?
1 Горогуля
 
09.08.16
14:41
1. никак
2. незачем
2 aleks_default
 
09.08.16
14:44
(0)Если эту обработку сохранить из конфигурации как внешнюю и потом запустить из файла - это будет "обработка платформы"?
3 Moro
 
09.08.16
14:57
(1) "Ходить на работу не имеет смысла", да? ))))))

(2) Так в том-то и дело, что в конфигурации я её не нашёл. Ни в обработках, ни в общих формах. Зато в ЗУПе она внезапно тоже есть. Т.е., похоже, это именно часть платформы.
4 Горогуля
 
09.08.16
14:58
именно
5 SSSSS_AAAAA
 
09.08.16
15:00
(3) Обработка как часть платформы? Я что-то пропустил? И как выглядят такие обработки? Где можно посмотреть пример такой обработки?
6 Фокусник
 
09.08.16
15:03
(5) А что смущает? Это не обработка, а "функционал платформы" ;)
7 Nuobu
 
09.08.16
15:04
(3)  Зачем это тебе?
(5) Удаление помеченных Объектов, Управление итогами...
почитай:

http://catalog.mista.ru/public/369487/
8 aleks_default
 
09.08.16
15:06
Это "Проведение документов по видам учета" чтоли?
9 Garykom
 
гуру
09.08.16
15:11
(0) Напиши в 1С чтобы сделали подписки на открытие внешних отчетов и обработок или даже любых форм.

И с возможностью "Отказ=Истина" ))
10 patapum
 
09.08.16
15:22
(0) Если надо менять именно при интерактивной записи, делай изменение в событии формы.
11 Moro
 
09.08.16
15:26
(5) Смотри в (7)

(6) Не знал, как её модифицировать и подменить.

(7) Большое спасибо! Именно в десятку :)

(8) Неа. В пользовательской части - в меню "Операции" - "Проведение документов..."

(10) Слишком много форм. Хочу в двух местах - в процедуре подписки и (исключение) в обработках программного проведения.
12 aleks_default
 
09.08.16
15:31
(11) Кто-то еще пользуется этой хренью? Я, например, из формы списка провожу если надо. Это тоже будешь отслеживать?
13 Moro
 
09.08.16
15:58
(12) Моя задача рассмотреть все варианты. Как говорится, если в первом акте ружьё висит на стене...

Из формы списка прекрасно срабатывает подписка, об этом и речь. Легче обработать исключительные случаи. Все другие обработки я обработал, кроме этой :)
14 aleks_default
 
09.08.16
16:03
(13) Так я не понял чем отличается если я проведу кучу документов из формы списка или ту же кучу документов обработкой платформы или еще какой внешней обработкой?
15 Moro
 
09.08.16
16:12
(14) Проведение в форме списка или форме документа - штатная ситуация. Фиксируем автора. Массовое проведение обработкой - ситуация исключительная, автора не учитываем. По условиям задачи.

П.С. А как ты одновременно проведёшь кучу документов в форме списка?
16 aleks_default
 
09.08.16
17:35
(15) Выделю строки и выберу пункт провести в меню "Все действия". Неожиданно?
17 trdm
 
09.08.16
17:39
Блин, у меня в обработках массовых проведений при старте устанавливается флаг из глобальника "глИдетГрупповаяОбработка"  = 1
Ну и + в глобальнике функция:
//******************************************************************************
// глГрупповаяОбработка( псКонт )
Функция глГрупповаяОбработка( псКонт ) Экспорт
    ЗначВозврата = 0;    
    Если (псКонт.ГрупповаяОбработка() = 1) ИЛИ (глИдетГрупповаяОбработка = 1)  Тогда
        ЗначВозврата = 1;
    КонецЕсли;      
    Возврат ЗначВозврата;
КонецФункции // глГрупповаяОбработка()

что мешает поступить так-же???
18 aleks_default
 
09.08.16
17:41
Вобщем я к чему веду. Тебе проще всего будет обработать как раз штатные ситуации, а не наоборот.
Т. е. запись из формы документа - это интерактив - это штатная ситуация, вот здесь и заполняй доп. свойство у объекта.
А программное проведение можно реализовать кучей различных вариантов и через внешнюю обработку и через платформенную и их отлавливать нет смысла.
Просто в подписке смотришь если есть свойство у объекта - значит это запись из формы, нет - значит программная.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший