#0
by evilmox
Задача следующая: используется универсальный механизм обмена данными, в составе плана обмена есть справочник, для которого отключена авторегистрация (т.к. большая часть данных не должна участвовать в обмене). У справочника есть реквизит УчаствуетВОбмене булева типа, определяющий, участвует объект в обмене или нет, соответственно, при смене значения реквизита с "ИСТИНА" на "ЛОЖЬ" необходимо регистрировать удаление объекта. Регистрация организована следующим образом - в модуле объекта справочника в обработчике события ПередЗаписью содержится код: Запись в таблицу регистрации изменений производится, судя по результатам перебора выборки изменений, но при записи данных методом ЗаписатьXML в xml файл записывается объект CatalogObject вместо ObjectDeletion. Что сделано не так?
#1
by Axel2009
Синтаксис: УдалитьРегистрациюИзменений(<Узлы>, <Данные>) Параметры: Тип: ПланОбменаСсылка.<Имя плана обмена>; Массив. Одиночное значение типа ПланОбменаСсылка.<Имя плана обмена> или массив таких значений, показывающие для каких узлов удаляются записи регистрации изменений.
#2
by Axel2009
опс, сори. у меня тоже был гемор с удалением объекта, плюнул, решал все на стороне приемника
#3
by evilmox
Решать на стороне приемника - как-то странно при наличии механизма регистрации удаления. С ним такая же история, как и с различными видами обхода результата запроса (обход подчиненных записей текущей записи выборки мягко говоря работает не совсем так, как написано в описании встроенного языка)?
#4
by hhhh
но у вас ведь не регистрация удаления. Вы пытаетесь обмануть их, неудаленный объект ведь.
#5
by Axel2009
Если указан УдалениеОбъекта, то регистрация изменений выполняется для объекта базы данных, на который "указывает" ссылка, содержащаяся в объекте УдалениеОбъекта.
#6
by hhhh
что-то непонятна постановка задачи у вас. Ведь на этот элемент справочника наверняка есть куча ссылок в документах, в регистрах. Тут приходит какой-то перец и ставит на элементе ЛОЖЬ (не участвует в обмене). Элемент удаляется из всех баз, но ссылки-то на него остались. Миллион битых ссылок будет в базах. Что-то какую-то фигню вы придумали.
#7
by evilmox
В этом и суть, чтобы для базы-приемника зарегистрировать удаление объекта, оставив его в этой базе. Вопрос не в общем решении вопроса (и из всех баз элемент не удаляется, только в базе-приемнике), а в работоспособности механизма регистрации удаления объекта.
#8
by georgebgk
Можно при выгрузке в событии плана обмена ПриОтправкеДанныхПодчиненному (или главному, ты не указал направление обмена) поставить такой костыль: Если ТипЗнч(ЭлементДанных) = мТипЗначенияТвоегоСправочника Тогда Примерно так сделано в типовых конфигурациях
#9
by evilmox
Используется универсальный механизм обмена данными (написано в самом начале первого поста). Использовать распределенную базу данных не представляется возможности, т.к. база-приемник - вообще не 1С.
#11
by hhhh
ну то есть там тупо должно стоять CatalogObject. Оно там и стоит, автор просто не удосужился прочитать СП?
#13
by Axel2009
штатными средствами нет. да и то у меня есть вопрос в том что пойдет в пересылку, если реально удалить объект.
#17
by hhhh
вопрос был в другом записывается объект CatalogObject вместо ObjectDeletion. вам дал ответ, почему так записывается.
#21
by Axel2009
предложение в ПКО значение реквизита писать в Параметр. в перед загрузкой проверять этот параметр и удалять объект, если Ложь.
#22
by evilmox
Проблема решена: перед вызовом ЗаписатьXML в зависимости от значения реквизита УчаствуетВОбмене создается объект типа УдалениеОбъекта и передается в качестве параметра процедуре ЗаписатьXML. Всем спасибо.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Зачем в Бухгалтерии 8.1., в проводках стоит кнопка "ручная корректировка" и
- Ручная регистрация изменения в плане обмена
- Ручная регистрация для узла
- 1С Бухгалтерия и ручная корректировка движений документов.
- Не отменяется регистрация в обр. Регистрация изменений для обмена
- БГУ 1.0 ручная корректировка движений документов (проводок)
- КД 2.1, реквизит объекта в реквизит ТЧ другого объекта
- Регистрация изменений объекта для узла
В этой группе 1С
- БП 2.0 права на ручную корректировку проводок в документах
- v7: После "Удаления помеченных объектов" у части номенклатуры пропали цены
- УТ 11, запрет на изменение цен в чеке ККМ
- Как внести начальные остатки ОС с нулевой остаточной стоимостью?
- При выгрузке в пакетном режиме не сохраняет файл выгрузки! помогите, пожалуйста!
- КД. Не загружаются параметры из правил обмена
- УПП 1.2.37 "Не выполнено распределение по переделам для затрат"
- Исчезают-появляются владельцы у договоров при обмене УТ 10.3 -> БП 2.0
- Не запускаются Регламентные Задания
- ББУ настройка правил обмена Клиент-Банка
- Задать Дату начала и дату окончания стандартного периода
- История одного внедрения УТ 11
- v7: Вопрос по классу "Поставщик данных" 1С++
- Помогите с запросом: сопутствующие товары у номенклатуры
- Как вывести не полностью отгруженные заказы покупателей в форме списка
- Конвертация данных 2, где хранятся функции ?
- Как изменить формат вывода параметра данных "период" в СКД?
- КД: Отмена проведения документов
- Ошибка при создании документа ПКО через COM-соединение
- Программные ключи на сервере терминалов.