Выгрузка из Бух в Альфу

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Выгрузка из Бух в Альфу
 
У нас в бух.базе ведется учет по нескольким организациям. При этом доступ пользователей разграничен, т.е. имеет доступ только к "своей" организации.
При выгрузке платежных поручений из Бух в Альфу сложилась такая ситуация, что в документе по организации А участвует контрагент, у которого основным указан договор с организацией Б, который подтягивается по ссылкам, но т.к. пользователь, осуществляющий выгрузку, не имеет доступа к организации Б (и, соответственно, к договорам контрагентов с этой организацией), программа выдает ошибку "У пользователя недостаточно прав на исполнение операций над базой данных."
Что делать?
Исправлять основной договор у контрагента не есть правильное решение, т.к. проблема вылезет опять, когда будет выгружаться документ с этим контрагентом по организации А.
 
Смотря какого эффекта требуется добиться.
Рассмотрим разные варианты.
1. Нельзя в выписке иметь строки по различным организациям. Тогда все правильно. Надо ругаться и отправлять переделывать выписку. Мы же сами это запретили.
2. Загружать можно. Руками такое вводить нельзя. Тогда в правилах РЛС прописать дополнительное условие. Оно заключается в том, что проверить - а не загрузка ли из бухгалтерии ведется? Если из бухгалтерии - то разрешать. При загрузке из бухгалтерии объектов загрузки устанавливается признак загрузки "Объект.ОбменДанными.Загрузка=Истина". Вот его и проверять в РЛС. Будет работать и в рамках РИБ.
Изменено: Александр Яблочкин - 20.04.2011 12:44:10
 
Ошибка выдается не при загрузке в Альфу, а при выгрузке из Бухгалтерии.
Выгружается выписка, тянет за собой по ссылке контрагента, он в свою очередь тянет за собой договор, указанный как основной.
Происходит вызов процедуры ДобавитьПоСсылкам(Знач ЗнРекв, Знач Уровень=1) для выгрузки договора, при этом параметр ЗнРекв содержит ссылку "Объект не найден", т.к. нет доступа к объекту.
В самой процедуре выполняется код
Код
      // Для справочников, обязательно сначала выгрузим владельца и родителя
      Если ЗнРекв.Владелец <> Неопределено Тогда

в момент обращения к реквизиту Владелец и происходит ошибка доступа.
Я перед этим кодом добавил следующее:
Код
      Попытка
         Код = ЗнРекв.Код;
      Исключение;
         Возврат;
      КонецПопытки;

заработало, однако решение неполноценное, т.к. договор, к которому нет доступа, просто не выгружается, но ссылка на него в контрагенте выгрузится.
Может Вы предложите более правильное решение?
 
Невнимательно прочитал что это в бухгалтерии.
Тогда делаем следующее. Добавляем параметр сеанса ВыгрузкаДанных (или еще как назвать). Перед началом выгрузки в обработке прописать установку этого флага, по окончанию - сбросить.
Во всех РЛС прописать анализ данного параметра сеанса. Если взведен - то можно разрешить доступ.
 
Цитата
Александр Яблочкин пишет:
Во всех РЛС прописать анализ данного параметра сеанса.

Решение, наверно, рабочее, но не хочется менять правила РЛС в типовой конфигурации 1С Бухгалтерия.
Можно обойтись изменениями в обработке выгрузки?
 
Посмотрел именно РЛС на договорах контрагентов. В обработке перед выгрузкой сбросить параметр сеанса ИспользоватьОграниченияПравДоступаНаУровнеЗаписей в ЛОЖЬ. После выгрузки восстановить исходное значение (запомнив его перед началом выгрузки).
В других объектах не смотрел. По ходу возникновения проблем надо смотреть как прописаны конкретные РЛС проблемных объектов.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С