Как зарегистрировать для узла удаление объекта? #392990


#0 by bvn13
Для определенного плана обмена объекты регистрируются по условию (по значению отдельных реквизитов). Необходимо в случае ошибочного заполнения этих реквизитов удалить предыдущую регистрацию. Но, как мне кажется, если пакет для узла сформирован, то просто удалить не поможет, т.к. этот узел уже мог забрать пакет, но просто обратка еще не дошла... Так вот в таком случае хочу регистрировать удаление этого объекта для узла. Как сделать сабж при реально неудаленном объекте?
#1 by ТелепатБот
#2 by Новичок
всегда в xml можно записать вручную. Т.е. удали реально объект один раз, пойди в xml, скопируй deleteObject, и пиши в xml поток уже по своему.
#3 by bvn13
а если не такими жесткими мерами? Средствами 1С можно?
#4 by bvn13
...Т.е. удали реально объект один раз... Нет, объект не удаляли ни разу. Дело вот так обстоит: 1а центральная база, 8 магазинов. Документы ходят из центра в магазы строго по подразделениям. Но если в центре сделали документ Поступление товаров и услуг, проставили подразделение одного магазина (хотя реально надо было другое ставить), потом спохватились, зашли в документ, поставили нормальное подразделение, перепровели документ. Вот в таком случае как быть с тем документом, который уже успел зарегиться для первого магазина (но, док не их на самом деле)? Вот я и хочу при перезаписи документа посылать по старым адресатам команду удалить документ. Хотя реально документ есть в цетральной базе.
#5 by Новичок
Есть объект, зарегистрирован как измененный, но оказывается его регистрировать не надо было? Может тогда при выгрузки в Xml проверять соответствуют ли текущие данные (на тек. момент) тому, что было зарегистрировано. Тогда если пакет уже ушел, но еще не дошел, то повторная отправка поможет - т.к. в ней уже не будет того "зарегистрированного" объекта.
#6 by bvn13
к чему привязаться, если правила регистрации только по подразделению? и это подразделение подвластно только кривым рукам пользователя? Хочется как можно меньше переписывать логику работы типовой УТ.
#7 by Rebelx
зарегистрировать - никак нельзя. мы для этого делали специальный регистр, и регистрировали набор записей - при получении такого набора, объект удалялся. однако можно пересылать удаление объекта при выгрузке данных - в предопределенной процедуре в плане обмена есть специальный параметр
#8 by bvn13
...однако можно пересылать удаление объекта при выгрузке данных - в предопределенной процедуре в плане обмена есть специальный параметр... Вот про это по-подробней, плз. Где копать?
#9 by Новичок
если они только не успеют написать в комментарий документа "Это не наш", что зарегистриует его обратно :)
#10 by bvn13
обратно ходит тоже строго по одному подразделению. чтобы ушло обратно, то надо будет им подразделение перезаполнить. На свое. :) Но, тут я думаю, они сами спохватятся и начнут в трубы трубить... но весь смысл в том, чтобы они не смогли видеть чужие товары и суммы... :) Прихоть руководства... Надо хотя бы таким образом обезопасить манагеров от штрафов...
#11 by bvn13
+ да и нас от лишней головной боли...:)
#12 by ptiz
Попробуй
#13 by i-rek
НУ а может просто тупо УО=Новый УдалениеОбъекта(ссылка); ПланыОбмена.УдалитьРегистрациюИзменений(Узел,УО);
#14 by i-rek
нет, я медленный газ ! :)
#15 by Serg_1960
Ситуация тупиковая :( - надо "помнить" не просто предыдущее значение объекта - а значение для последнего сообщения, успешно принятого и обработанного в узле...
#16 by Oleg_Nik
ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить; приводит к удалению элемена данных в периферийной бд... как-то отсюда надо начинать
#17 by bvn13
, результат (согласно обработке Регистрация изменения для плана обмена) то же, что и при Надо будет проверить на реальном обмене.
#18 by i-rek
А вообще постановка задачи дурацкая какая-то. Надо всего-то просто после записи не давать редактировать эти ключевые реквизиты. Что-то не так - удаляй объект И никаких дополнительных телодвижений в модуле плана обмена не нужно
#19 by bvn13
ага, удаляй объект... :) Смешной ты... один из магазов тут в пятницу нам удалил объекты... в том числе и 10000 номенлатур, которые использовались в других магазинах... до полночи сидели курили...
#20 by Serg_1960
Идея изначально "порочная": центр(офис) вводит документы поступления узлов(магазинов) :( Вот так лучше: магазины вводят приход по складскому ордеру, а центр, на основании ордеров, вводит поступление товаров и услуг :) НО: "защиты от дурака" не тот, ни другой варианты не дают :(( Наверное придется завести регистр "переданных" документов и с ним сверяться...
#21 by bvn13
...Ситуация тупиковая :( - надо "помнить" не просто предыдущее значение объекта - а значение для последнего сообщения,... Это не проблема с подпиской на событие перед записью документа... по источник.ссылка будет все, что сейчас лежит реально в базе, а не в форме введено, соответственно, все то, что было и в последнем сообщении...
#22 by i-rek
это уже другой вопрос и решать его надо отдельно. Например вообще запрети удаление в филиалах, только пометку
#23 by bvn13
...Вот так лучше: магазины вводят приход по складскому ордеру, а центр, на основании ордеров, вводит поступление товаров и услуг :) ... Не, у нас все гораздо приближенней к народу... поступление вводят в центре, а в магазине только проводят его (если не проведено), выгружают во фронтол и сразу продают... когда им приходилось все это самим делать они выли от злости... :) просто до нас у магазов были свои названия товара, в центре - свои, каждый привык к своему... как они так работали - никто не знает... :) ну не успели запретить... :)
#24 by Serg_1960
"у нас все гораздо приближенней к народу" :)) Ну тогда Вам два варианта (куда уж проще!): или регистрируем изменение или отправляем удалить объект на всякий случай :))
#25 by bvn13
а если вот такая ситуация. Сделали ошибочный документ. Записали. Автообмен сформировал пакет и отправил на ФТП. тут мы спохватились, изменили док на нормальный, записали. При этом посылается ошибочнопу получателю команда удалить этот объект. но тут автообмен цепляет ответное сообщение от ошибочного узла (сам еще не отправил сообщение в его сторону с "просьбой" удалить документ). Что будет сделано? просто наша команда удалить игнорируется? или же при последующей отправке она будет отослана и просто в магазине какое-то время смогут видеть этот документ? (в промежутке автообмена)???
#26 by bvn13
...регистрируем изменение или отправляем удалить объект на всякий случай... Это делать способом ? я правильно понимаю? тогда
#27 by Serg_1960
Хватит меня путать "ошибочными" ситуациями. Их много может быть и разных :( Я в самом начале обсуждения сказал - тупиковая ситуация :)) Может быть рассмотрим "другой" вариант работы: отправляем ВСЕ документы прихода ПО ВСЕМ магазинам + настройкой прав доступа запрещаем изменять/видить документы других подразделений + в магазинах - только пометка на удаление + в центре - удаление помеченных? Такой вариант "более методичнее" будет :)
#28 by bvn13
а как в этой процедуре определить, какому узлу сейчас формируется сообщение?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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