Вход | Регистрация
 

Добавление подписки на событие в расширение

Добавление подписки на событие в расширение
Я
   TolstiyBeremenniy
 
23.07.20 - 05:28
Почему не могу добавить подписку на событие в расширение?

http://joxi.ru/Q2KbdNVCwP3MRm

Как это правильно делать?
   Галахад
 
1 - 23.07.20 - 06:26
Наверно, нужно добавить в расширение тот документ, на который нужна подписка.

Если на все, то тут грустно. Можно существующие обработчики событий добавить в расширение.
   TolstiyBeremenniy
 
2 - 23.07.20 - 06:31
(1) Я хотел создать новое. И потом уже добавлять в него регистры накопления.
Пока создал не в расширении а в конфигурации подписку. Добавил в неё 2 регистра.

Документ ПоступлениеТоваровУслуг, делает движения по регистрам накопления

РасчетыСПоставщиками
и
РасчетыСПоставщикамиПоСрокам

Первый цикл отрабатывает, а почему не отрабатывает второй, что я не так сделал?

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

    Если ТипЗнч(Источник) = Тип("РегистрНакопленияНаборЗаписей.РасчетыСПоставщикамиПоСрокам") Тогда
        Для каждого СтрокаЗаписи Из Источник Цикл
            СтрокаЗаписи.ОбъектРасчетов    = Неопределено;
            СтрокаЗаписи.РасчетныйДокумент = Неопределено;
        КонецЦикла; 
    КонецЕсли; 
КонецПроцедуры
   TolstiyBeremenniy
 
3 - 23.07.20 - 06:33
в подписку, добавил 2 регистра

http://joxi.ru/YmEbex8CJPeaL2

процедура запускается когда источник первый регистр, а как что бы источник был второй регистр?
Он же тоже при проведении отрабатывает!
   TolstiyBeremenniy
 
4 - 23.07.20 - 06:35
сама задача что бы при записи в регистры не важно какими документами, очищать значения 2х полей
Объектрасчетов
и
РасчетныйДокумент

но как отлавливать перед записью события всех регистров которые я задам? Пока задал на 2 .
   TolstiyBeremenniy
 
5 - 23.07.20 - 06:45
если я 2 набора записей регистров накопления добавил в подписку, то процедура подписки же должна обрабатывать оба регистра.
Почему туда в источник идет только один? Когда при проведении документа, делаются движения по 2м регистрам ?
   TolstiyBeremenniy
 
6 - 23.07.20 - 06:59
никто не подскажет?

делаю сейчас в расширение перед записью в наборе записей второго регистра, посмотрю как отработает
   TolstiyBeremenniy
 
7 - 23.07.20 - 07:00
(6) то есть не в подписке, а в самом регистре
   TolstiyBeremenniy
 
8 - 23.07.20 - 07:04
посмотрел внимательнее
кажется документ ПоступлениеТоваровУслуг, не делает движения по регистру РасчетыСПоставщикамиПоСрокам, его нет в списке регистров движения

Почему тогда, в самом документе открываешь движения документа, он там есть?
   PuhUfa
 
9 - 23.07.20 - 07:17
(0) Реализована возможность заимствования подписок на события и создания собственных подписок в расширении. (с) версия 8.3.17
   Галахад
 
10 - 23.07.20 - 07:32
(9) Хорошая новость.
   TolstiyBeremenniy
 
11 - 23.07.20 - 07:39
(9) тут такая 1С:Предприятие 8.3 (8.3.16.1148)

но вопрос уже не в этом, вроде как отошел. но все же
если документ не делает движения по регистру, почему этот регистр у него в списке????

я хотел у него очистить реквизиты при проведении документа, но он не запускается перед записью набора записей, так как его нет в движениях

а в режиме предприятия почему то есть (
   PuhUfa
 
12 - 23.07.20 - 08:03
(11) Не знаю как это назвать. Баг или фича. У РН РасчетыСПоставщикамиПоСрокам есть измерение РасчетныйДокумент. У него Тип ОпределяемыйТип.РасчетныйДокументСПоставщиком. Соответственно в нем есть документ ПТиУ. Вот и получаем, что в конфигураторе галки на движениях нет, а когда в предприятии смотри движения там этот РН есть.
   TolstiyBeremenniy
 
13 - 23.07.20 - 08:06
(12) Дело в том что, в модуле набора записей, не срабатывает, процедура перед записью, при проведении документа ПоступлениеТоваровУслуг.
Получается при проведении документа поступление товаров услуг, не осуществляется запись в регистре. Другим путем каким то туда попадает.

&После("ПередЗаписью")
Процедура АУ_ПередЗаписью(Отказ, Замещение)
    Для каждого СтрокаЗаписи Из ЭтотОбъект Цикл
        СтрокаЗаписи.ОбъектРасчетов    = Неопределено;
        СтрокаЗаписи.РасчетныйДокумент = Неопределено;
    КонецЦикла; 
КонецПроцедуры
   PuhUfa
 
14 - 23.07.20 - 08:10
В модуле набора записей поставь точку останова и посмотри откуда вызывается запись в этот РН
   TolstiyBeremenniy
 
15 - 23.07.20 - 08:14
(14) А что запускать в этот момент что бы посмотреть?

Увидел что не срабатывает точка останова при проведении документа ПоступлениеТоваровУслуг. Вот, это да. Потом увидел. что его, этого регистра и нет среди движений документа. В перечислении регистров накопления.
   PuhUfa
 
16 - 23.07.20 - 08:15
Собственно в модуле набора записей РасчетыСПоставщикамиПоСрокам можешь и делать свои темные дела. Тогда они будут работать в независимости от места записи в регистр.
   PuhUfa
 
17 - 23.07.20 - 08:18
(15) >>А что запускать в этот момент что бы посмотреть?
Я бы начал с Взаиморасчетов. В смысле с этой системы онлайн/оффлайн. Этот РН как раз оттуда. И Скорее всего заполняется как раз регламентным заданием по распределению взаиморасчетов
   TolstiyBeremenniy
 
18 - 23.07.20 - 08:19
(16) Нужно делать в нескольких регистрах. Где есть ОбъектРасчетов и РасчетныйДокумент.
По этому я хотел сделать одну подписку на событие, для всех регистров, и там уже обрабатывать все по условиям.
   hhhh
 
19 - 23.07.20 - 08:27
(18) попробуй снять документ с проведения, а потом опять провести.
   acht
 
20 - 23.07.20 - 08:55
(12) Фича. Команды "перехода к" генерируются не только для регистраторов но и для ведущих измерений.
   acht
 
21 - 23.07.20 - 08:56
Интересно, сколько у Ливингстара еще ников?
   TolstiyBeremenniy
 
22 - 23.07.20 - 09:02
(19) При отмене проведения сработала точка останова у регистра накопления РасчетыСПоставщикамиПоСрокам, Хм!!!!!!

вот тут,

&После("ПередЗаписью")
Процедура АУ_ПередЗаписью(Отказ, Замещение)
    Для каждого СтрокаЗаписи Из ЭтотОбъект Цикл
        СтрокаЗаписи.ОбъектРасчетов    = Неопределено;
        СтрокаЗаписи.РасчетныйДокумент = Неопределено;
    КонецЦикла; 
КонецПроцедуры



Но не в подписке на собитие.
   TolstiyBeremenniy
 
23 - 23.07.20 - 09:03
(22) О!!!! И в подписку на событие тоже попала !!!!
   TolstiyBeremenniy
 
24 - 23.07.20 - 09:03
Процедура ПередЗаписьюРегистровНакопленияПередЗаписью(Источник, Отказ, Замещение) Экспорт
    Если ТипЗнч(Источник) = Тип("РегистрНакопленияНаборЗаписей.РасчетыСПоставщиками") Тогда
        Для каждого СтрокаЗаписи Из Источник Цикл
            СтрокаЗаписи.ЗаказПоставщику   = Неопределено;
            СтрокаЗаписи.РасчетныйДокумент = Неопределено;
        КонецЦикла; 
    КонецЕсли; 
    //

    Если ТипЗнч(Источник) = Тип("РегистрНакопленияНаборЗаписей.РасчетыСПоставщикамиПоСрокам") Тогда
        Для каждого СтрокаЗаписи Из Источник Цикл
            СтрокаЗаписи.ОбъектРасчетов    = Неопределено;
            СтрокаЗаписи.РасчетныйДокумент = Неопределено;
        КонецЦикла; 
    КонецЕсли; 
КонецПроцедуры
   TolstiyBeremenniy
 
25 - 23.07.20 - 09:04
только там, вот этот цикл

    Для каждого СтрокаЗаписи Из ЭтотОбъект Цикл


не срабытывает, неопределено !
   TolstiyBeremenniy
 
26 - 23.07.20 - 09:05
(19) Вы правы! Сработала и подписка, и код в самом модуле набора записей !


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