Имя: Пароль:
1C
1С v8
Как определить выгружается объект по ссылке или нет? Конвертация 2
,
0 PaulMuller
 
16.04.19
15:01
Есть дописанная проверка, которая определяет может ли объект мигрировать или нет, пот код алгоритма, который я прописываю в обработчике ПередЗагрузкой в каждом ПКО на который есть правило выгрузки:

Если ОбщегоНазначения.ЕстьРеквизитДокумента("ОбменБухгалтерия",Источник.Метаданные()) Тогда
    Если НЕ Источник.ОбменБухгалтерия Тогда
        Отказ = истина;
    КонецЕсли;
КонецЕсли;

//В регистре НастройкиСравненияДокументов...
Если Не Отказ тогда
    
    Если Метаданные.Документы.Содержит(Источник.Метаданные()) Тогда
        ДоступноДнейИзменения = Автообмены.ДоступноДнейИзмененияОбъекта(Источник);
        
        Если ДоступноДнейИзменения <> 0 Тогда
            Если Источник.Дата <= (ТекущаяДата()-ДоступноДнейИзменения*86400) Тогда
                //Отказ = истина;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;

КонецЕсли;


В параметрах Источник.

Но есть проблема. Нужно определить выгружается ли объект  по правилу выгрузки или по ссылке из другого документа,  так как данная проверка лишняя, если объект выгружен по ссылке из другого документа. Как мне определить и в какой момент, что документ выгружается по ссылке или напрямую через правило выгрузки?
1 kai17
 
16.04.19
15:11
Возможно в вашем случае подойдет глобальный обработчик события "Перед выгрузкой объекта".
"Обработчик вызывается только для объектов которые выгружаются непосредственно, а не при выгрузке объекта по ссылке. В этом случае обработчики выгрузки не вызываются, а вызываются обработчики конвертации объекта."
2 PaulMuller
 
16.04.19
15:19
(1) Похоже оно, дам знать если сработает, спасибо. И в догоночку, существует адекватная документация по КД? Я замучался гуглить такую элементарщину...
3 quest
 
16.04.19
16:30
Самая адекватная - по кнопке информация об обработчике. Ну и по коду можно понять как работает
4 SamHinkie
 
16.04.19
16:38
(2) самое адекватное из того что видел, это курс по кд от курсы рф.

многие вещи становятся на место.

ну и начинаешь по - другому смотреть на саму работу по обмену.
5 DexterMorgan
 
16.04.19
16:48
(3) +100. В КД лучшая справка, ИМХО. НАдо просто иногда ее читать кому-то. Но кто ща читает документацию? Все же сразу начинают гуглить
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший