8.х ОБМЕН РИБ УТ (10.3.7.8)

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем Tashiro, 19 май 2009.

  1. TopicStarter Overlay
    Tashiro
    Offline

    Tashiro

    Регистрация:
    26 янв 2009
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Ситуация такая:
    Есть центральная и одна периферийная база. Нужно поддерживать периферийную в актуальном состоянии при этом ,для подстраховки, нужно убрать возможность записи изменений из периферийной в центральную, но оставить отправку тикета о удачной загрузки информации. Как лучше проделать такой момент?
    Первое что приходит на ум - это в обход запрета на загрузку данных в центральной (или выгрузку в периферийной) формировать тикет с подтверждением приема и читать его.
    З.Ы.
    Периферийная база создана путем типовой обработки.Узел обмена "Полный".
  2. SimPx
    Offline

    SimPx

    Регистрация:
    9 сен 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Возможность просмотра данных центральной базы нужна? Либо необходимо, чтобы в перефирийной отображались только ее данные?
    В первом случае вопрос можно решить созданием роли для пользователя перефирийной базы с ограниченными правами на изменение конкретных данных. Во втором, в дополнение к роли можно создать интерфейс ограничивающий просмотр, не нужных для пользователя перефирийной базы, справочников, документов отчетов + прописать в коде для созданной роли необходимые отборы для просмотра списков справочников, документов и отчетов.

    Пример отбора по складу для формы списка документа РеализацияТоваровУслуг

    Код:
    Процедура ОбновлениеОтображения() 	
    Если РольДоступна("БухгалтерК") Тогда 		
    ЭтаФорма.Отбор.Склад.Значение = Справочники.Склады.НайтиПоКоду("00006"); 
    ЭтаФорма.Отбор.Склад.Использование = Истина; 	
    КонецЕсли; 
    КонецПроцедуры
    
    При использовании этой процедуры пользователь не сможет удалить отбор по складу, но сможет добавить свой по другим реквизитам.
  3. TopicStarter Overlay
    Tashiro
    Offline

    Tashiro

    Регистрация:
    26 янв 2009
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Периферийная база нужна только для мониторинга состояния дел в центральной - то-есть является копией центральной, сделал через РИБ чтобы уменьшить размер передаваемой информации и автоматизировать процесс передачи через почту.
  4. SimPx
    Offline

    SimPx

    Регистрация:
    9 сен 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Ну тогда первый вариант. Создай роль для пользователя перефирийной базы и убери право на редактирование. В этом случае пользователь просто не сможет ничего изменить, а обмен будет происходить в обычном порядке.
  5. TopicStarter Overlay
    Tashiro
    Offline

    Tashiro

    Регистрация:
    26 янв 2009
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Не вариант, на периферийной есть свой программист, а я им не доверяю :) хотелось бы ограничить жестко принятие данных от периферийки, только получать ответ об удачном обновлении. Создать роль с только просмотром данных можно, но боязно на автоматическое общение ставить такую конструкцию нужна страховка :)
    Необходимо что-то типо правил обмена но с фильтром по загрузке , а не по выгрузке.
  6. SimPx
    Offline

    SimPx

    Регистрация:
    9 сен 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Ну так запретить доступ программисту к базе. Оставить одну учетку с ограниченными правами. Зачем ему админить РИБ? Все изменения все равно с центральной приходят. Ну если уж он такой вредитель, он и это обойдет, просто взломает пользователей через hex редактор. Странная у вас контора :)

    По поводу правил обмена, фильтр там ставится на выгрузку с обоих сторон. Т.е. фильтр выгрузки с центральной и фильтр выгрузки с переферийки. Нужно написать правила для перефирийки в которых ничего выгружаться не будет. Проблема будет решена. Но, появляется другая, не будет выгружаться конфигурация. У меня не получилось нормально настроить РИБ, с применением плана обмена "полный" и правил обмена. Т.е. выгрузка данных по правилам шла отлично, а вот выгрузка изменений самой конфигурации при такой настройке почему то не происходит. Не знаю как решить эту проблему, я решил обойтись без правил. Время поджимало.
  7. duh
    Offline

    duh Опытный в 1С

    Регистрация:
    21 янв 2009
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Код:
     Процедура ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента)
    
    Если ОбменЗапрещенВТекущемУзле Тогда   
    ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
    КонецЕсли;	
    
  8. TopicStarter Overlay
    Tashiro
    Offline

    Tashiro

    Регистрация:
    26 янв 2009
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Не совсем понятно.Где это использовать?
    Может кто подскажет какие узлы в хмл файле отвечают за подтверждение передачи?
  9. duh
    Offline

    duh Опытный в 1С

    Регистрация:
    21 янв 2009
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    план обмена - модуль - Это предопределенная процедура. Условие в твоем случае не принципиально.
  10. TopicStarter Overlay
    Tashiro
    Offline

    Tashiro

    Регистрация:
    26 янв 2009
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Сейчас протестирую - отпишусь...
    ------
    Класс - не думал что все так просто будет, спасибо огромное!
    Уже хотел лезть в процедуры чтения XML и узлы запрещать, а оказалось одна строка всего:)

Поделиться этой страницей