Ситуация такая: Есть центральная и одна периферийная база. Нужно поддерживать периферийную в актуальном состоянии при этом ,для подстраховки, нужно убрать возможность записи изменений из периферийной в центральную, но оставить отправку тикета о удачной загрузки информации. Как лучше проделать такой момент? Первое что приходит на ум - это в обход запрета на загрузку данных в центральной (или выгрузку в периферийной) формировать тикет с подтверждением приема и читать его. З.Ы. Периферийная база создана путем типовой обработки.Узел обмена "Полный".
Возможность просмотра данных центральной базы нужна? Либо необходимо, чтобы в перефирийной отображались только ее данные? В первом случае вопрос можно решить созданием роли для пользователя перефирийной базы с ограниченными правами на изменение конкретных данных. Во втором, в дополнение к роли можно создать интерфейс ограничивающий просмотр, не нужных для пользователя перефирийной базы, справочников, документов отчетов + прописать в коде для созданной роли необходимые отборы для просмотра списков справочников, документов и отчетов. Пример отбора по складу для формы списка документа РеализацияТоваровУслуг Код: Процедура ОбновлениеОтображения() Если РольДоступна("БухгалтерК") Тогда ЭтаФорма.Отбор.Склад.Значение = Справочники.Склады.НайтиПоКоду("00006"); ЭтаФорма.Отбор.Склад.Использование = Истина; КонецЕсли; КонецПроцедуры При использовании этой процедуры пользователь не сможет удалить отбор по складу, но сможет добавить свой по другим реквизитам.
Периферийная база нужна только для мониторинга состояния дел в центральной - то-есть является копией центральной, сделал через РИБ чтобы уменьшить размер передаваемой информации и автоматизировать процесс передачи через почту.
Ну тогда первый вариант. Создай роль для пользователя перефирийной базы и убери право на редактирование. В этом случае пользователь просто не сможет ничего изменить, а обмен будет происходить в обычном порядке.
Не вариант, на периферийной есть свой программист, а я им не доверяю хотелось бы ограничить жестко принятие данных от периферийки, только получать ответ об удачном обновлении. Создать роль с только просмотром данных можно, но боязно на автоматическое общение ставить такую конструкцию нужна страховка Необходимо что-то типо правил обмена но с фильтром по загрузке , а не по выгрузке.
Ну так запретить доступ программисту к базе. Оставить одну учетку с ограниченными правами. Зачем ему админить РИБ? Все изменения все равно с центральной приходят. Ну если уж он такой вредитель, он и это обойдет, просто взломает пользователей через hex редактор. Странная у вас контора По поводу правил обмена, фильтр там ставится на выгрузку с обоих сторон. Т.е. фильтр выгрузки с центральной и фильтр выгрузки с переферийки. Нужно написать правила для перефирийки в которых ничего выгружаться не будет. Проблема будет решена. Но, появляется другая, не будет выгружаться конфигурация. У меня не получилось нормально настроить РИБ, с применением плана обмена "полный" и правил обмена. Т.е. выгрузка данных по правилам шла отлично, а вот выгрузка изменений самой конфигурации при такой настройке почему то не происходит. Не знаю как решить эту проблему, я решил обойтись без правил. Время поджимало.
Код: Процедура ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента) Если ОбменЗапрещенВТекущемУзле Тогда ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать; КонецЕсли;
Не совсем понятно.Где это использовать? Может кто подскажет какие узлы в хмл файле отвечают за подтверждение передачи?
Сейчас протестирую - отпишусь... ------ Класс - не думал что все так просто будет, спасибо огромное! Уже хотел лезть в процедуры чтения XML и узлы запрещать, а оказалось одна строка всего