v8: Как зарегистрировать в обмене удаленный объект #716128


#0 by Naivety_Friend
Ситуация такая: один документ чек удаляют из базы (при этом регистрируются его изменения в плане обмена), затем очищается регистр изменений объектов в плане обмена. Затем необходимо заново зарегестрировать этот объект. Как это сделать? Использую код ниже, но никакой реакции:
#1 by acsent
А зачем записать? ведь это же само удаление
#2 by Kupogun
Удаление.Записать; попробуй убрать. после этой строчки уже нечего регистрировать
#3 by Naivety_Friend
Убрал, не помогло.
#4 by Naivety_Friend
В том и суть, что регистрировать уже как бы и "нечего", т.к. документ удалили вчера, а зарегестрировать это удаление мне нужно сегодня.
#5 by Rlogin
Зарегистрируй его в переферийной базе, он придет к тебе. ПОметишь его на удалени и он разойдется по базам.
#6 by Naivety_Friend
Как-то бессмысленно! Мне же не нужен помеченный на удаление объект. Мне нужно, чтобы при обмене он удалился из перифирийной базы, т.к. он удален в главной.
#7 by alle68
Свойство "ОбменДанными" объекта "Удаление" не поможет?
#8 by Naivety_Friend
а что вы предлогаете там задать? Узел в свойстве "получатель"?
#9 by alle68
Да, получателей заполнить.
#10 by Defender aka LINN
Ссылку регистрируй
#11 by Rlogin
Этот способ и позволит удалить обмен а не плясать с бубном.
#12 by Naivety_Friend
битую?! Пробовал. Увы, не сработало...
#13 by Defender aka LINN
Тогда самое время откинуться на кушетку и спросить - а в чем выражается это самое "не сработало"? Зарегистрировать удаление и выгрузить удаление куда-нибудь - это какбе разные вещи.
#14 by Naivety_Friend
и в чем разница?! Итовая цель: удалить в перифирийной базе тот объект, который удален в основной при помощи планов обмена. Логично, что для этого нужно зарегестрировать этот объект. Теперь что значит "не регистрируется": при удалении документа в регистр изменений попадает битая ссылка, т.е. если я по регистру Документ.Чек.Изменения сделаю запрос - получу такую строку. А когда пройдут обмены - документ удалится и в перифирийной базе. В моем случае документ удален и в регистре изменений нет записи - ее очистил другой код, который очищает полностью регистр изменений (сразу скажу, учитывая специфику задачи, я не могу в этой части что-то менять). И мне нужно добавить ее обратно неосоедственно перед тем, как запустятся обмены: т.е. у меня есть уид этого объекта и, соответсвенно, битая ссылка, которая должна попасть в регистр изменений перед обменами. Надеюсь достаточно разжевал... Есть решение, которое пока не реализовал, но придумал - создавать такой объект заново, записывать его и удалять тут же. Слишком криво и долго и потому надеюсь, что кто-то подскажет более простой способ!
#15 by Naivety_Friend
Глянул в синтаксис-помощнике - свойство Обмен Данными - только чтение. При этом в отладке его значение вообще почему-то нельзя прочитать - пишет "ошибка чтения значения".
#16 by NcSteel
На крайняк вручную в пакет добавь узел удаления, там пару строк.... Либо создай объект по ГУИДУ и удали его.
#17 by NcSteel
Так как он доступен у объекта.
#18 by Лефмихалыч
Я не понял, чего автор добивается. Зачем удалять, очищать регистрацию и регистрировать удаление отдельно?
#19 by Naivety_Friend
"Зачем удалять, очищать регистрацию и регистрировать удаление отдельно". Ну я ж не буду вам рассказывать весь проект! :) 1. "Зачем удалять, очищать регистрацию" - это один бизнес-процесс. 2. "регистрировать удаление отдельно" - это бизнес-процесс, который нужно реализовать мне. Вопрос - как мне сделать второй пункт. Складывается ощущение, что 1с просто не предусмотрели возможность зарегестрировать к изменению удаленный объект. PS Возможно (не проверял, т.к. не мой случай, но все же, возможно для вас это станет понятней) и даже скорей всего такая ситуация возникнет, если отключить автоматическую регистрацию объектов и удалить объект: регистрации удаления нет, а из перифирийной базы объект также нужно удалить - но тогда тем более странно, что 1с не предусмотрело такой случай.
#20 by Naivety_Friend
Вы имеете ввидду вносить изменения в XML? Возможно, хотя и не удобно. Как раз пока так и решил - создаю объект по ГУИДу и удаляю его. Но как-то криво и, что хуже всего, долго. Долго потому что нельзя просто создать объект - нужно заполнить обязательные для заполнения реквизиты и только потом записать и удалить. Если потом надо будет переносить этот механизм на другой документ - нужно будет опять прописывать всен обязательные реквизиты. А если потом добавятся новые обязательные?! Ну в общем - как временное решение подошло, но, мне кажется, должен быть более адекватный способ.
#21 by Naivety_Friend
К сожалению не понял Вашей мысли.
#22 by RomanYS
узел то какой указываешь?
#23 by RomanYS
Что показывает обработка регистрация изменений (или запрос по изменениям) после выполнения ?
#24 by Лефмихалыч
а какая полосатая религия мешает автору и чего именно добиться, я так и не допер. Регистрация удаления объекта работает - проверено многократно, какие могут быть с жтим проболемы, не догоняю
#25 by ilya_i
по удалению не подскажу, но при создании указать ОбменДанными.Загрузка=Истина, и глядишь скорость создания повыситься и обязательные реквизиты не обязательны. а вообще правильный вопрос уже прозвучал "что значит не срабатывает?"
#26 by Defender aka LINN
Большая разница. Может у тебя в базе тупо код в модуле плана обмена имеется, который УдалениеОбъекта не выгружает. И хоть обрегистрируйся. При выгрузке платформа проверяет наличие объекта по ссылке, и если он есть - выгружается объект, если его нет - выгружается УдалениеОбъекта, все просто как мычание.
#27 by Naivety_Friend
В том и вся суть проблемы, что запрос по регистру изменений показывает...ничего! Он просто пустой после выполнения кода в
#28 by Naivety_Friend
Перифирийный
#29 by Naivety_Friend
Ну так если у вас работает, почему бы мне не написать код по которому у вас работает регистрация удаленного объекта?
#30 by Naivety_Friend
У меня проблемы именно с регистрацией (что кстати еще в теме описано). В модулях планов обмена в принципе пусто, но это не имеет никакого отношения к вопросу, т.к. нужно именно ЗАРЕГЕСТРИРОВАТЬ - дальше все норм отрабатывает.
#31 by Лефмихалыч
подозреваю, что где-то есть код, который мешает стандартному проведению платформы. Изучай подписки и прочие приЗаписи
#32 by Лефмихалыч
самое простое - включить замер производительности в отладчике, выполнить код и потом просто посмотреть, что выполнялось, выключи замер
#33 by Defender aka LINN
Пруф или GTFO. Помешать зарегистрировать объект не способно практически ничего.
#34 by Naivety_Friend
При чем здесь проведение?
#35 by Naivety_Friend
Вот вам пруф: Спецом написал на чистой конфигурации. Версия 8.3.4.408.
#36 by Naivety_Friend
Кнопки в обработке жмакать в порядке нумерации - при каждом нажатии в таблицу выгружается из запроса по регистру изменений.
#37 by Лефмихалыч
а пРоведение-то и правда ни при чем. У вас там все такие наблюдательные или только вы? ваш пруф - фуфло:
#38 by alle68
8.2.19.106. Оба способа регистрируют. Узел    Номер сообщения    Ссылка 2        <Объект не найден> (9:86d5000c2907253711e41b087fc88423) М.б., глюк движка?
#39 by Naivety_Friend
Я смотрю, вы такой умный - наверняка знаете решение. По существу: А вы в какую версию 1с базу грузите? Точно полностью файл докачали? Я скачал и загрузил в базу - проблем не возникло. ЗЫ Возьмите еще и cf до кучи: Но для cf-ки надо будет добавить узел с кодом 2.
#40 by Naivety_Friend
Вот это да... Может, в принципе и  глюк движка... На всякий случай уточню: вы вначале нажали на кнопку 2 (очистили регистр) и тут же нажали на 3.1??? И после этого у вас отобразилась строка в таблице?
#41 by Naivety_Friend
Проверил, действительно. На 8.2.18.109 отрабатывает регистрация. На 8.2.19.83 и на 8.3.4.408 - нет. И у Вас вот отработало на 8.2.19.106 (у меня нет этой версии, потому сам проверить не могу). Через раз, что называется! (((( Что могу сказать, 1с "рулит", а вопрос закрыт... Всем спасибо... PS dt и cf еще некоторое время оставлю в дропбоксе, вдруг кому захочется убедиться - через пару дней грохну.
#42 by Bober
не смог скачать базу, но всё всегда работает есть сделать так: УдалениеОбъекта он немного для других целей.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С