| 
    
        
     
     | 
    
  | 
Обмен в Универсальном формате: передать ПометкаУдаления? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        lexushka    
     09.12.16 
            ✎
    10:36 
 | 
         
        Добрый день
 
        Насмотревшись курсы-по-1с колдую с обменов в универсальном формате С удивление выяснил, что признак проведен по умолчанию в типовых обменах не передается и полученные документы автоматом пытаются сделать проведенными Ну допустим… В итоге я через AdditionalInfo передаю табличу в которой записал был проведен документ или нет и была у него ПометкаУдаления или нет Проведен более менее передается (толком не проверял), а с пометкой удаления чот не выходит: Пвтаюсь ее отработать в событии Процедура ОтложеннаяОбработка_ПТиУ(Объект, ОбъектМодифицирован) Делаю там Объект.УстановитьПометкуУдаления, а она меня в ошибку выкидывает лекции курсов-по-1с оказались на вопрос ни о проведении ни о пометке удаления отвечать не хотят Как сделать уже не могу придумать Как правильно поступать с ПометкойнаУдаление и проведением? Спасибо  | 
|||
| 
    1
    
        MaxS    
     09.12.16 
            ✎
    10:40 
 | 
         
        пмсм Нужно посылать удаление объекта, а помеченный на удаление документ не отправлять. Пока в своих решениях сделал так.     
         | 
|||
| 
    2
    
        lexushka    
     09.12.16 
            ✎
    10:50 
 | 
         
        А где можно почитать как послать такое сообщение?
 
        Или не подскажете как?  | 
|||
| 
    3
    
        MaxS    
     09.12.16 
            ✎
    11:28 
 | 
         
        Штатно конфигурация может регистрировать событие удаление объекта. В БСП есть такой код:
 
        Процедура ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Объект, ПравилоОбработки = Неопределено) ... // 1. Получаем Данные из ИБ Данные = ВыборкаИзменений.Получить(); // 2. Отправляем информацию об удалении либо выгружаем данные. Если ТипЗнч(Данные) = Тип("УдалениеОбъекта") Тогда ВыгрузитьУдаление(КомпонентыОбмена, Данные.Ссылка); Иначе ...  | 
|||
| 
    4
    
        MaxS    
     09.12.16 
            ✎
    11:31 
 | 
         
        С "Проведен" пока сам не знаю как правильно )) как вариант не отправлять непроведенные если они могут быть проведены. Или через AdditionalInfo передавать этот реквизит, а потом при загрузке анализировать его.     
         | 
|||
| 
    5
    
        yzimin    
     09.12.16 
            ✎
    11:36 
 | 
         
        (4) для чего вы вообще передаёте информацию о проведении?
 
        Регистрируйте только те документы, которые должны быть проведены в базе приёмника.  | 
|||
| 
    6
    
        lexushka    
     09.12.16 
            ✎
    11:36 
 | 
         
        спасибо за сообщение 3
 
        но я еще не достиг того просветления чтобы понять как к этой процедуре подобраться, если я получаю документ и вижу что у него ПометкаУдаления ума у меня хватило только процедуру ВыгрузитьУдаление объявить экспортной и в ПКО_Документ_ПоступлениеТоваровУслуг_Отправка_ПриОтправкеДанных в самом конец ее попытаться вызвать Скорей всего у меня этот номер не пройдет, а что делать? :)  | 
|||
| 
    7
    
        yzimin    
     09.12.16 
            ✎
    11:37 
 | 
         
        (5) даже перефразирую вопрос. Для чего вы переносите не проведенные документы из базы источника?     
         | 
|||
| 
    8
    
        totparen    
     09.12.16 
            ✎
    11:37 
 | 
         
        Насколько я разобрался, если в базе прёмнике создается объект с реквизитом "Проведение = Истина", то после записи документов, запускается отложенная процедура проведения. Может быть с пометкой также.     
         | 
|||
| 
    9
    
        totparen    
     09.12.16 
            ✎
    11:39 
 | 
         
        (7) Разные задачи бывают.     
         | 
|||
| 
    10
    
        FIXXXL    
     09.12.16 
            ✎
    11:51 
 | 
         
        (7) был проведен - уехал, стал непроведенным - рассинхрон     
         | 
|||
| 
    11
    
        MaxS    
     09.12.16 
            ✎
    11:52 
 | 
         
        (7) Как поступить в такой ситуации: Провели документ, сделали синхронизацию, потом отменили проведение документа. Как это отразить в базе получателе если мы не будем передавать непроведенные документы?
 
        (6) Вроде бы если штатно проведенный документ ушел через обмен, а потом его пометили на удаление, то штатно должно передаться удаление объекта. Поэтому я пока не заморачивался принудительной отправкой удаления. Но удивляет почему в БСП не дали экспортную процедуру для этого. ))  | 
|||
| 
    12
    
        lexushka    
     09.12.16 
            ✎
    11:54 
 | 
         
        (7)
 
        Не ну и вообще зачем клиенты отказываются от работы на счетах…  | 
|||
| 
    13
    
        h-sp    
     09.12.16 
            ✎
    12:03 
 | 
         
        (11) нет, неправильно что-то говорите.
 
        удаление объекта - это когда полностью удален объект. А если не удален, а просто пометка на удаление поставлена - это другое.  | 
|||
| 
    14
    
        MaxS    
     09.12.16 
            ✎
    12:17 
 | 
         
        (13) Да, наверное так, вспомнил ))
 
        В КД3 есть фича. Если для одного вида объекта есть несколько ПКО (например Номенклатура и НоменклатураГруппа), то БСП всегда посылает удаление объекта по неиспользуемому ПКО, невзирая на настройку КД3 не посылать удаление... У себя в выгрузке я это поправил, жду решения от 1С. Можно эту фичу использовать для принудительной отправки удаления. Например, для документа два ПКО одно для этого документа, другое - любой неиспользуемый объект в универсальном формате. Если проведен, то отправляем на оба ПКО, если помечен на удаление, то ИспользованиеПКО.ДокументНаш_Отправка = Ложь; //ИспользованиеПКО.ДокументНашФиктивно_Отправка = Истина; И в обмен уйдёт удаление объекта.  | 
|||
| 
    15
    
        MaxS    
     09.12.16 
            ✎
    12:19 
 | 
         
        +(14) не рекомендую такой костыль. Но хотелось бы от 1С получить рекомендации или планы когда появится правильное решение.     
         | 
|||
| 
    16
    
        Serg_1960    
     09.12.16 
            ✎
    12:26 
 | 
         
        Имхо, что-то народ путается с пометкой на удаление и с удалением объектов :(     
         | 
|||
| 
    17
    
        yzimin    
     09.12.16 
            ✎
    12:33 
 | 
         
        (10) (11) В типовых конфигурация при отмене проведения на узле регистрируется пометка удаления     
         | 
|||
| 
    18
    
        MaxS    
     09.12.16 
            ✎
    12:33 
 | 
         
        (16) Если по факту пометки удаления послать удаление объекта, то в базе приемнике объект будет помечен на удаление.
 
        Это пмсм самый простой вариант не меняя правила в приемнике отразить пометку на удаление.  | 
|||
| 
    19
    
        yzimin    
     09.12.16 
            ✎
    12:40 
 | 
         
        (17) добавлю.
 
        Бывает такое, что обмен настроен с отбор по организации (УТ11-БП3). Пользователи провели документ, потом изменили организацию. В этом случае также передаётся пометка удаления  | 
|||
| 
    20
    
        totparen    
     09.12.16 
            ✎
    13:05 
 | 
         
        (14) Ошибка в БСП или в КД?     
         | 
|||
| 
    21
    
        MaxS    
     09.12.16 
            ✎
    14:17 
 | 
         
        (20) БСП не учитывает КД.
 
        Процедура ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Объект, ПравилоОбработки = Неопределено) ... Если НесколькоПКО Тогда ПравилоКонвертации = КомпонентыОбмена.ПравилаКонвертацииОбъектов.Найти(ТекущееПКО.Ключ, "ИмяПКО"); ВыгрузитьУдаление(КомпонентыОбмена, Объект.Ссылка, ПравилоКонвертации); КонецЕсли; ... Должно быть так: Если НесколькоПКО И ПравилоОбработки.ОчисткаДанных Тогда ... Параметр ПравилоОбработки.ОчисткаДанных появился в КД 3.0.4.3 от 01.09.16. С тех пор было много обновлений БСП, но параметр ОчисткаДанных так и не задействован.  | 
|||
| 
    22
    
        Shrek_yar    
     09.12.16 
            ✎
    14:56 
 | 
         
        (7) А если документ проведен, а затеи его распровели, тогда надо это передать в базу приемник.
 
        Как тогда?  | 
|||
| 
    23
    
        Shrek_yar    
     09.12.16 
            ✎
    14:57 
 | 
         
        (19) Лучше в правилах регистрации убирать отборы.. все делать в правилах выгрузки((
 
        Иначе можно словить удаление объекта  | 
|||
| 
    24
    
        totparen    
     09.12.16 
            ✎
    15:29 
 | 
         
        (21) Мерси. Актуально.     
         | 
|||
| 
    25
    
        yzimin    
     09.12.16 
            ✎
    15:59 
 | 
         
        (22) читай (17) 
 
        (23) повеселили. Почитай про универсальный формат.  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |