#0
by Звездочёт
ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента) как можно узнать, в какой конкретно подчиненный узел мы выгружаем объект? Получается что это нельзя узнать?!
#1
by avmlvm
(задумчиво) хм-м-м.. Ну КАК это "нельзя узнать"??? Ну-у-у.. например так: Если ЭлементДанных.Ссылка <> Организация Тогда Где Организация реквизит обмена данных и для данного подчинённого узла имеет вполне определённое значение - например ООО "Солнышко" Удачи
#2
by Defender aka LINN
Студент, вы меня огорчаете (с) А скажите-ка мне, ГДЕ находится процедура "ПриОтправкеДанныхПодчиненному"?
#5
by Звездочёт
, народ, вы меня немного развеселили :) А то мне уже стало грустно от этого факта . Ну давайте всё по порядку... Чтобы сразу убрать недомолвки, скажу, что событие ПриОтправкеДанныхПодчиненному находится в модуле ПланаОбмена, назовём его "Полный". Пусть мы находимся в центральной базе и у нас в ней 100 подчинённых баз (все они имеют код от 1 до 100). Также предположим, что был изменён один документ и он зарегистрировался измененным для всех наших подчинённых баз. Теперь пользователь, в режиме 1С Предприятия 8.0, в списке плана обмена "Полный" выбирает какую-то подчинённую базу, в которую хочет выгрузить изменения. Процесс пошёл. Если бы нам не нужно было фильтровать объекты по подчинённым базам, то на этом бы всё и закончилось. Но в жизни так бывает редко и нам надо фильтровать объекты. Для простоты выберем такой умозрителный фильтр: мы грузим документ в периферийную базу с кодом равным (НомерДокумента % 100) + 1. Как вы реализуете этот фильтр в событии ПриОтправкеДанныхПодчиненному?
#6
by avmlvm
Ещё раз.. В своей плане обмена "Полный", заводишь реквизит (в приведённом примере это реквизит Организация) Когда выгружаешь в одну ПБ - этот реквизит имеет значение ООО "Радуга", а когда в другую - ООО "Солнышко".. В самой процедуре ПриОтправкеДанныхПодчиненному и анализируешь совпадение этого реквизита с соответствующим полем в выгружаемом документе.. Если "совпадает" - документ посылаешь.. если нет - то ставишь признак "удалить" ЗЫ.. У меня так обмены уже почти год без проблем работают :-) Удачи
#8
by Shirenin
все же советую быть поаккуратней с ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить; если есть потребность не отправлять что то в подчиненую базу лучше просто неотправлять, а не посылать команду на ликвидацию элемента.
#9
by Звездочёт
Почему осторожней? Если не удалять запрещенный объект для периферии, то если этот объект будут исправлять в этой периферии (по ошибке или не знанию) может получится еще хуже.
#11
by Звездочёт
но это если с условием ошиблись :) А если условие правильное, то тогда, мне кажется, нужно обязательно удалять.
#12
by Shirenin
Невсегда. зависит конечно от постановки задачи. но если например фильтровать справочники по подразделению и в одну из баз попал контрагент с подразделением 1. по нему было выписано ряд документов. далее некий менеджер изменил подразделение и в результате будет пачка документов с битыми ссылками. иногда обилие битых ссылок рушат базу. и вобше битые ссылки это не правильно - надо искать другие пути решения коллизий
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Связка Ут и БП
- Сталкивался кто-нибудь с обработками Import77.ert и Export77.ert
- перенос отчета в excel
- Трудовой договор
- v7: Опер.HомерСтрокиДокумента();
- Как проверить есть ли файлы в папке или нет?
- Неизвестное количество вложенных циклов
- АвтоУдаление колонок списка. Как настроить?
- SA пароль
- Учет себестоимости после доп. расходов. в УТ 10.2
- Не работает запрос, почему?
- Как распечатать при открытии модально.
- Сохранить как... как Сохранить (Excel)
- 1С-Рарус: Ресторан + Бар + Кафе
- Отзыв из отпуска и командировка, одним днем
- Типы цен номенклатуры контрагентов УПП
- ПустаяСсылка, Неопределено, Null, ""
- Как вывести текущее время в ассемблере?
- Как запросом выбрать все проводки документа "Выписка"?
- Сменил имя пользователя в домене, но в tsadmin отображается старое имя