Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как поймать событие проведения в списке

Как поймать событие проведения в списке
Я
   MistaEr
 
17.04.19 - 10:58
Доброго времени!

Провожу документ из динамического списка формы списка документа. Как можно поймать событие после проведения документа? Что то типа после записи на сервере. Оповещение после любого (из любого места) проведения не подходит.
 
 
   Жан Пердежон
 
1 - 17.04.19 - 11:00
а тебе для чего?
обычно такое хотят, чтобы туда кусок говнокода вкрячить
а если из формы выбора проведут? а из журнала?
   MistaEr
 
2 - 17.04.19 - 11:03
(1) Для синхронизации. В транзакции проведения это нельзя делать, да и проведение может быть из других разных мест. Мне нужно только проведение из формы документа или формы списка.
   craft1c
 
3 - 17.04.19 - 11:04
(1) Ну мало ли человек хочет в жрунал регистрации внести инфу, что документ был проведен из этого динамического списка:)

Скорее всего придется добавлять свою команду проведения в этом списке и там уже через дополнительные свойства объекта, отслеживать его нужной подписке на событие
   catena
 
4 - 17.04.19 - 11:06
Как логика системы может зависеть от места проведения? Тут играть, тут не играть, тут рыбу заворачивали.
   Nuobu
 
5 - 17.04.19 - 11:07
Хватит говнокодить.
   MistaEr
 
6 - 17.04.19 - 11:08
(4) Первый раз документ проводится именно здесь, потом еще по несколько раз из разных мест. Мне важно событие после первого успешного проведения
   Buster007
 
7 - 17.04.19 - 11:09
Сделай свою кнопку и не парься. Делов на 2 минуты.
Потом все равно переделаешь.
   MistaEr
 
8 - 17.04.19 - 11:09
(5) Я другого решения пока не вижу, подскажите если знаете
   Buster007
 
9 - 17.04.19 - 11:09
(6) ну проверь, если документ был не проведен, то оповещай
   catena
 
10 - 17.04.19 - 11:18
(6)Счетчик повесь
   MistaEr
 
11 - 17.04.19 - 11:23
Есть событие При изменении, обработаю Выделенные строки
   catena
 
12 - 17.04.19 - 11:23
(11)Хм, а ты уверен, что проведение в дс - это изменение?
   catena
 
13 - 17.04.19 - 11:29
Да, действительно :)
   1Сергей
 
14 - 17.04.19 - 11:42
Синхра неправильно построена
   MistaEr
 
15 - 17.04.19 - 11:46
(14) Все нормально. Так надо, не переживайте
Наверное у всех это было, так надо
Некогда ждать регламентные задания
   MistaEr
 
16 - 17.04.19 - 11:47
(12) Я проверю,проведен или нет
   MistaEr
 
17 - 17.04.19 - 18:12
(16) Нет, не прокатило. Кнопку типовую скрыл видимость и свою добавил, программно
   Сияющий в темноте
 
18 - 17.04.19 - 20:19
Свою команду,а после обработку ожидания,чтобы сработала после проведения и после всех сообщений этим проведением накиданных.
   Cyberhawk
 
19 - 17.04.19 - 21:46
Что за синхронизация?
   Конструктор1С
 
20 - 18.04.19 - 04:03
Попахивает говнокодом, но реализовать можно.
В форме документа есть событие ПослеЗаписиНаСервере(), оно выполняется уже после завершения транзакции. В ПриЗаписиНаСервере() можно отловить предыдущее состояние объекта в ИБ

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    
    Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда     
        ТекущийОбъект.ДополнительныеСвойства.Вставить("ПроведениеИзФормыДокумента", Истина);
        ТекущийОбъект.ДополнительныеСвойства.Вставить("ДокументБылПроведен", ЗначениеФлагаПроведенИзИБ());
    КонецЕсли; 
    
КонецПроцедуры


&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
    
    Если ТекущийОбъект.ДополнительныеСвойства.Свойство("ПроведениеИзФормыДокумента") Тогда    
        // Крутим какие-то финты    

    КонецЕсли;     
    
КонецПроцедуры

в списке скрываешь стандартные команды проведения, добавляешь свои команды и программно проводишь, также играясь с дополнительными свойствами

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.