#0
by log987789
УТ 10.3 Надо массово изменить реквизит у всех контрагентов. Проблема в том, что есть работающий обмен данными с розницей, десяток узлов, и совсем не нужно, чтобы все контрагенты (ок.5 тыс) снова выгрузились в периферийные базы. Т.е. надо либо предотвратить регистрацию изменений, либо убрать ее после записи. Просто грохнуть все изменения нельзя - т.к. есть уже зарегистрированные изменения, которые должны уйти по назначению. Пробовал перед записью сбрасывать ПараметрыСеанса.ПараметрыСеанса.НаличиеОбменаСРозничнойТорговлей - не помогает. Как сделать?
#5
by log987789
Там есть уже ранее зарегистрированные объекты, их удалять НЕЛЬЗЯ. Как их искать среди тысяч строк?
#7
by Serg_1960
Закладка "Дополнительно", кнопка "Подробно". Далее разберешься? Там появится дерево метаданных и количество зарегистрированных объектов. Можно грохнуть все или выборочно.
#12
by Cyberhawk
Только учти, что это поможет защититься только от авторегистрации. Если там дальше где-нибудь в подписках выполняется регистрация изменений (а это в типовых обменах для документов так и есть - авторегистрация запрещена, используются правила регистрации в подписках), то это не поможет.
#13
by Cyberhawk
+ Так что гарантированные способы - это либо приостановить обмен и пробежаться по массиву объектов после их изменения и удалить выборочно их регистрацию, либо пнуть все обмены, приостановить работу в базе, приостановить обмены и уже не глядя снять всю регистрацию
#14
by aleks_default
Синтаксис: УдалитьРегистрациюИзменений(<Узлы>, <Данные>) Параметры: Тип: ПланОбменаСсылка.<Имя плана обмена>; Массив. Одиночное значение типа ПланОбменаСсылка.<Имя плана обмена> или массив таких значений, показывающие для каких узлов удаляются записи регистрации изменений. Тип: Метаданные, Неопределено; УдалениеОбъекта; Число; <Данные>. Значением данного параметра может быть объект метаданных, объект, представляющий данные, хранимые в базе данных, такой как документ, элемент справочника, счет бухгалтерского учета, менеджер записи константы, набор записей регистра и т. п., ссылка на объект базы данных, а также Неопределено. Если указан объект метаданных, то записи регистрации изменений будут удалены для всех элементов данных, относящихся к указанному объекту метаданных. Объект метаданных должен входить в состав планов обмена всех узлов, указанных в первом параметре. Если указан УдалениеОбъекта, то удаление записи регистрации изменений выполняется для объекта базы данных, на который "указывает" ссылка, содержащаяся в объекте УдалениеОбъекта. Если указан объект представляющий данные, хранимые в базе данных, или ссылка, то записи регистрации изменений будут удалены только для указанных данных. Объект метаданных, соответствующий данным должен входить в состав всех планов обмена всех узлов, указанных в первом параметре. Если указано Неопределено или не указан, то в качестве первого параметра может быть указан только одиночный узел. И в этом случае записи регистрации изменений будут удалены для всех объектов, метаданные которых входят в состав плана обмена, к которому относится узел, указанный в качестве первого параметра. Если в качестве первого параметра указан одиночный узел, то в параметре может быть указан номер сообщения. В этом случае метод УдалитьРегистрациюИзменений удаляет из всех таблиц регистрации изменений все записи относящиеся к указанному узлу, у которых номер сообщения меньше или равен значению второго параметра. Значение по умолчанию: Неопределено Описание: Удаляет записи регистрации изменений одного или группы элементов данных для одного или нескольких узлов планов обмена. Доступность: Сервер, толстый клиент, внешнее соединение. Пример:
#15
by Михаил Козлов
Можно затолкать в массив все изменяемые объекты и потом удалить регистрацию по этому массиву.
#16
by Cyberhawk
Этого недостаточно для гарантированного удаления только того, что не должно попасть в обмен. Между формированием массива и послелующей чисткой этого же контрагента может изменить пользователь на самом деле, и его-таки нужно будет передать в узлы...
#17
by Serg_1960
Да вся эта идея плохо пахнет. Рассогласование данных не айс. Например, из другого узла придут изменения контрагентов и вся работа автора псу под хвост.
#19
by mkalimulin
Запомнить состояние плана обмена. Выполнить обработку. Восстановить состояние плана обмена.
#21
by MiniMuk
При любом следующей выгрузке контрагента он выгрузится полностью, видимо проблема только в 5тыс элементов, может выгружать по 100шт?
#22
by hhhh
всё-таки ОбменДанными.Загрузка = Истина; рулит. Зачем удалять регистрацию, если можно вообще ничего не регистрировать?
#24
by regi1984
"ОбменДанными.Загрузка = Истина" может сыграть злую шутку, мы же не знаем что именно собрался ТС менять и зачем же отключать полностью обработку данных, может там какие то алгоритмы по заполнению задействованы. Можно при записи создать доп параметр и уже в подписке на событие записи(БСП) проверить наличие флага. Если флаг есть - то типовую регистрацию не запускаем. Доработка будет для всех справочников и может пригодится в будущем.
#25
by regi1984
Если Розница 2, то при изменении реквизитов, не задействованых в обмене - регистрация не произойдет. БСП отловит данный факт. Если же меняем реквизит участвующий в обмене - то в РТ все таки необходимо их отправить. Если Розница 1, то можно выполнить обмен, добиться того что регистрация по данному справочнику очистилась - потом изменить данные и в конце просто снять регистрацию типовой обработкой.
#26
by Cyberhawk
Все хорошо, только ты описал то, что к случаю ТС не относится. У него сюжет разворачивается в УТ 10.3.
#27
by Cyberhawk
Касательно "можно выполнить обмен, добиться того что регистрация по данному справочнику очистилась - потом изменить данные и в конце просто снять регистрацию типовой обработкой" из читай
#28
by xafavute
перед запсиью контрагента читать есть ли регистрация, если нет, то после записи удалять. ну и блокировку элемента на время такой операции
#29
by regi1984
Так обмен с РТ же сказано, без указания версии. Так что все написано верно Все хорошо, только ты описал свои догадки. ТС не говорил ничего про время измененеия. Глупо менять 5 тыщ справочников в рабочее время.
#32
by Serg_1960
PS: имхо, "ОбменДанными.Загрузка = Истина" не отменяет регистрацию изменений. В данном контексте ветки просто забудьте об этом :) Для объектов, у которых запрещена автоматическая регистрация изменений, может быть использовано при исполнении подписок на событие при записи объекта для регистрации изменений. Но нужно помнить: "Загрузка=ИСТИНА" автоматически включается при загрузке сообщений обмена и не должна мешать регистрировать изменения для других узлов планов обмена. А в принципе, в платформе это отменяет контроль проверок при записи объекта, которые выполняются по свойствам метаданных конфигурации и игнорирует некоторые типы блокировок (например, игнорируется блокировка при открытии формы объекта пользователем). В конфигурации это используется программно как своеобразный индикатор/ориентир и позволяет запрограммировать обход контроля интерактивных действий пользователей при записи объекта, а также может быть использовано в различного рода подписках на события для выполнения алгоритмов, необходимость в которых косвенно порождается из действий пользователей. Уф. Ваш к.э.п.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Партионный учет в УТ 10.1.12 и в УТ 10.2.3.7, в чем различия?
- Переход УТ 10.1 -> УТ 10.2
- Обновление УТ, пытаюсь обновить 10.2.9.2 на 10.2.10 не даёт, подскажите поч
- Обнаружил косяки в УТ 10.3 (10.3.1.7) платформа 8.1.10.50
- Перенос данных из УТ 10.2.13.1 в УТ 10.3.1.7 кто подскажет чем воспользоват
- v8: УТ 10.3 : Изменить валюту управленческого учета в УТ 10.3
- Как правильно обновить УТ 10.2.13.1 на УТ 10.3.3.3 в 1С 8.1 ?
- Конвертация данных УТ 10.2 на УТ 10.3
- Насколько трудно перевести УТ 10.2(8.0) в УТ 10.3 (8.1)?
- переход с УТ 10.2 на УТ 10.3 (1C 8.1)
- Базавая версия УТ с УТ проф как связывается (какие варианты рабочие есть)?
- УТ 10.3.10.4, платформа 8.2.10.82, СрезПоследних регистра
В этой группе 1С
- КОДОС RD-1100 USB
- 1C УПП. Произвольный отчет.
- Максимальное значение среди полей СКД
- Как программно изменить ЧекККМ Розница 2.2
- УТ 11.2 вылетает в дамп при попытке оплатить картой
- Вставка в ворд при помощи 1с
- Представление (синоним) отбора в универсальном отчете
- Расчет неснижаемого остатка
- Свертка 1С-Логистика: Управление складом 3
- Что за "УстановитьПериодРассчитанныхИтогов" и чем он отличается от...
- Риб, установка цен номенклатуры
- Смещается печать в 1C 8.3 Linux Ubuntu
- СКД. Запретить пользователю менять настройки одной из таблиц.
- Неверное масштабирование при печати ТабличногоДокумента из 1С
- Почему при записи элемента справочника ругается на это
- Множественный отбор на УФ
- ограничение просмотра ОСВ по счету
- Некорректная обработка адреса временного хранилища
- Поле объекта недоступно для записи(ВидДвижения)
- Ошибка блокировки объекта. Объект уже заблокирован