Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Обмен данными (РИБ) установить фильтр передачи данных          
poritskiy Подменю пользователя
сообщение 23.09.11, 11:44
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 1 раз
Рейтинг: 0

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

Batchir Подменю пользователя
сообщение 23.09.11, 12:02
Сообщение #2

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Модуль плана обмена.

Процедура ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента)
КонецПроцедуры

Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента)
КонецПроцедуры

Процедура ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад)
КонецПроцедуры

Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад)
КонецПроцедуры

MATEVI Подменю пользователя
сообщение 23.09.11, 13:05
Сообщение #3

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 956 раз
Рейтинг: 0

Посмотреть как в бухии организован обмен по организации.

poritskiy Подменю пользователя
сообщение 26.09.11, 18:48
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 1 раз
Рейтинг: 0

Люди расскажите глупому как правильно ....
Проблема вот в чем ...
В фирмы есть оптовый менеджер который ездит по регионам, связи через интернет нет ...
Решили делать распределенку... Но с таким условием чтобы в переферийную базу попадали только те данные в которых в контрагенте в реквизите основнойменеджерпокупателя указан этот менеджер...
Спрашиваю с какими доками работает этот менеджер мне отвечают:"заказ покупателя, резервирование а дальше не знаю, с остальными сам разберешься".
Вот теперь самый главный вопрос КАК ОПРЕДЕЛИТЬ СОСТАВ ПЛАНА ОБМЕНА?
Я отбираю документы в шапке которых есть реквизит контрагент, но вот не пойму еще одного
допустим док предал в переферийною базу движения которые он сделал главной базе нужно тоже передавать тоесть включать в состав плана обмена регистры или док в переферийной базе нужно перепроводить...

MATEVI Подменю пользователя
сообщение 26.09.11, 19:32
Сообщение #5

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 956 раз
Рейтинг: 0

Цитата(poritskiy @ 26.09.11, 19:48) *
тоесть включать в состав плана обмена регистры

В Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента)
проверять по каким регистрам прошло и удалять отправку элемента.
А вообще в Вашем случае может быть стоит обрать внимание на конвертацию и создание своих правил обмена.

Сообщение отредактировал MATEVI - 29.09.11, 7:35

poritskiy Подменю пользователя
сообщение 28.09.11, 8:36
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 1 раз
Рейтинг: 0

Так как в постановке задачи нет конкретного состава плана обмена, выходил из положения так;
1 скопировала план обмена полный и добавил в него таб. часть "менеджеры", и реквизит таб. части менеджер куда вносится пользователи по которым будет проходить фильтр.
2 и так как вы посоветовали в Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента) написал вот такой код
Если ТипЗнч(ЭлементДанных)=Тип("УдалениеОбъекта") Тогда
           Возврат;
      КонецЕсли;
    ОбъектМетаданных=ЭлементДанных.Метаданные();
    Если Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
        Сообщить("Документы"+ОбъектМетаданных);
        Если ОбщегоНазначения.ЕстьРеквизитДокумента("Контрагент",ОбъектМетаданных) Тогда
              Если глТекущийУзел.Менеджери.Найти(ЭлементДанных.Контрагент.ОсновнойМенеджерПокупателя,"Менеджер")=Неопределено Тогда
                  ОтправкаЭлемента=ОтправкаЭлементаДанных.Игнорировать;
              КонецЕсли;
        КонецЕсли;
    ИначеЕсли Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных) ИЛИ Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМетаданных) Тогда
        Сообщить("РегистрыНакопления, РегистрыБухгалтерии"+ОбъектМетаданных);         
        Регистратор=ЭлементДанных.Отбор.Регистратор.Значение;
        Если ОбщегоНазначения.ЕстьРеквизитДокумента("Контрагент",Регистратор.Метаданные()) Тогда
            Если глТекущийУзел.Менеджери.Найти(Регистратор.Контрагент.ОсновнойМенеджерПокупателя,"Менеджер")=Неопределено Тогда
                ОтправкаЭлемента=ОтправкаЭлементаДанных.Игнорировать;
            КонецЕсли;
        КонецЕсли;
    ИначеЕсли Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных) Тогда
        Сообщить("РегистрыСведений"+ОбъектМетаданных);
        Если ЭлементДанных.Отбор.Найти("Регистратор")<>Неопределено Тогда
            Регистратор=ЭлементДанных.Отбор.Регистратор.Значение;
            Если ОбщегоНазначения.ЕстьРеквизитДокумента("Контрагент",Регистратор.Метаданные()) Тогда
                Если глТекущийУзел.Менеджери.Найти(Регистратор.Контрагент.ОсновнойМенеджерПокупателя,"Менеджер")=Неопределено Тогда
                    ОтправкаЭлемента=ОтправкаЭлементаДанных.Игнорировать;
                КонецЕсли;
            КонецЕсли;            
        КонецЕсли;
    КонецЕсли;


только вот я не знаю лутше писать ОтправкаЭлементаДанных.Игнорировать или ОтправкаЭлементаДанных.удалить

Batchir Подменю пользователя
сообщение 29.09.11, 6:52
Сообщение #7

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Игнорировать - это не будет отсылаться подчиненному узлу
Удалить - это будет удалено на подчиненном узле

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 15:21
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!