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

Хранилище

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

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



> Избирательный план обмена          
Constantus Подменю пользователя
сообщение 19.04.17, 16:49
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

Сделал обмен на базе "Полного обмена". Обмен работает.

Как можно сделать так, чтобы из Центральной базы не перегонялись, например, продажи, но с филиала в Центральную поступали все данные по их продажам?...

Т.е. сделать избирательный обмен, а то сейчас в филиальную часть гонятся все данные Центра, что филиалу вообще не нужно...

На филиал передаются данные по новым номенклатурам, перемещениям товаров на филиальные склады, а обратно передаются данные только по продажам филиала... Одним словом, чтобы Центр мог видеть отчетность по филиалу...


Constantus Подменю пользователя
сообщение 20.04.17, 6:56
Сообщение #2

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

У меня есть старая конфигурация УТ 10.3, написанная походу на 8.1... Утверждается, что РКО и ПКО переносятся из филиала, но из центра не гонятся...

Сделано следующее в плане обмена на ПКО и РКО авторегистрация - запретить.
На код "При записи" на эти документы поставлен код:

Процедура ПриЗаписи(Отказ)
    
    ПроцедурыОбменаДанными.ЗарегестрироватьДокумент(ЭтотОбъект);
    
КонецПроцедуры



// регистрирует в обмене документы по ревизиту УзелУРБД
//Для подчиненного все, для главного - только чужие объекты
Процедура ЗарегестрироватьДокумент(Объект) Экспорт

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


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

На некотором форуме нашел типа нужно и достаточно так при записи:

ПланыОбмена.ЗарегистрироватьИзменения(СсылкаНаУзел, СсылкаНаДокументИлиЭлементСправочника);


Далее как-то применить Подписки...

Правильно ли я понимаю логику:

1. Для документа отменить авторегистрацию.
2. При записи документа (РКО) проверить на главность узла. Если Главный, то не регистрировать изменения, если подчиненный, то регистрировать...

если так, то как реализовать?

Constantus Подменю пользователя
сообщение 20.04.17, 9:54
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Процедура ЗарегестрироватьДокумент(Объект) Экспорт

    Если ПланыОбмена.ГлавныйУзел()=Неопределено Тогда
        //Сообщить("Да");
    Иначе    
    //Сообщить(ПланыОбмена.ГлавныйУзел());
        Если ЗначениеЗаполнено(ПланыОбмена.ГлавныйУзел()) Тогда
            ПланыОбмена.ЗарегистрироватьИзменения(ПланыОбмена.ГлавныйУзел(), Объект);
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры // ЗарегестрироватьДокумент()


Поставил на РКО... вроде получилось... Но насколько оптимально и эффективно?

Constantus Подменю пользователя
сообщение 03.08.17, 8:22
Сообщение #4

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую!

Подниму тему...

В результате мне необходимо, чтобы ряд документов из Центральной базы не передавались на Филиал (Реализация, Кассовые документы, Возвраты)

Как было указано выше, применил данный код, т.е. в общие модули добавил функцию:

Процедура ЗарегестрироватьДокумент(Объект) Экспорт

    Если ПланыОбмена.ГлавныйУзел()=Неопределено Тогда
        //Сообщить("Да");
    Иначе    
    //Сообщить(ПланыОбмена.ГлавныйУзел());
        Если ЗначениеЗаполнено(ПланыОбмена.ГлавныйУзел()) Тогда
            ПланыОбмена.ЗарегистрироватьИзменения(ПланыОбмена.ГлавныйУзел(), Объект);
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры // ЗарегестрироватьДокумент()


Отменил авторегистрацию на документ

Далее для РКО:

Процедура ПриЗаписи(Отказ)
    // Вставить содержимое обработчика.
    ПроцедурыОбменаДанными.ЗарегестрироватьДокумент(ЭтотОбъект);

КонецПроцедуры


Но есть еще один механизм в модуле Обмена:

Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза)
    Если ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.Номенклатура")  Тогда
        ОтправкаЭлемента = ОтправкаЭлементаДанных.Авто;
    Иначе
        ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
    КонецЕсли;    
КонецПроцедуры


Посоветуйте, как таки можно решить проблему избирательного обмена между Узлами.



Flexy Подменю пользователя
сообщение 03.08.17, 8:46
Сообщение #5

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Пишите свои правила обмена.

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

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Flexy @ Сегодня, 11:46 * ,


А если без правил обмена, используя предложенные методы?

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


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

 

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