конвертация данных , запрет загрузки документов других организаций #597680


#0 by БабкаЕжка
обмен ут - бу 8.2, как проверить при загрузке и отменить загрузку документов, если в бух. базу пытаются загрузить документы организаций, кот. не должны там учитываться. Справочник организации синхронизируется по наименованию, новые элемент не создаются.
#1 by Beduin
Поставь условие в глобальных обработчиках, чтобы не выгружались документы с данной организацией.
#2 by БабкаЕжка
это где? в бух базе несколько организаций из ут(кол-во их может измениться со временем). Думала, может, при загрузке документа проверять найдена организация или нет, если нет - то документ не должен  загружаться, но у меня всё равно он загружается(((.
#3 by Beduin
Повторюсь. Тебе надо сделать так, чтобы они даже не выгружались.
#4 by Mikhail Volkov
"условие в глобальных обработчиках" - это где? А то, в подобной ситуации, мне пришлось в каждом ПКО "При выгрузке" прописать типа: Если Источник.Организация.ПризнакНеВыгружать Тогда как-то кошэрно...
#5 by Beduin
В встроенной справке конвертации все есть. Обработчики "Конвертация" Перед конвертацией объекта Условия возникновения события Событие выполняется перед началом конвертации объекта по правилу конвертации. Вызов осуществляется до вызова обработчика "Перед выгрузкой" правила конвертации объектов. Могут использоваться все параметры орпределенные для указанного обработчика правила конвертации объектов. По сути и назначению это тот же обработчик что и "Перед выгрузкой" в правиле конвертации, но определенный на глобальном уровне - то есть вызываемый для всех правил конвертации. Обработчик удобен, например, когда для справочников всех видов нужно установить НеЗамещатьОбъектПриЗагрузке = Истина или ВсеОбъектыВыгружены = Истина. Обработчик вызывается для всех объектов не зависимо от того выгружается этот объект непосредственно, или потому, что на него есть ссылки. Параметры: Полностью совпадают с параметрами обработчика "Перед выгрузкой" у "Правила конвертации объектов"
#6 by Mikhail Volkov
Мало что понял, мануал надо почитать... А такой случай: создал цепочку транзитных документов (не более 10), составил их список. Их надо перекинуть в другую базу... Как данный список подать УниверсальныйОбменДаннымиXML, чтобы обработка поняла, что выгружать надо только по этому списку?
#7 by MaxS
В глобальных обработчиках сработает, если запустили через ПВО. )) Если запускать через ВыгрузитьПоПравилу, то imho оно не сработает. Спасёт положение, если в кадый документ перед выгрузкой поставить Выполнить алгоритмы.ПередЗагрузкой документа. В алгоритме, в свою очередь написать  нужную проверку - наличие реквизита Организация, сравнение с Параметр.Организация и т.п.
#8 by Mikhail Volkov
Это что же, вместо фрагмента надо в каждом ПКО документа прописать типа: Выполнить(Алгоритмы.ФильтрПоОрганизации);?
#9 by GenV
Сработает. В ВыгрузитьПоПравилу первым выполняется обработчик ПередКонвертациейОбъекта.
#10 by Mikhail Volkov
У меня другая проблема. Часто полупустые справочники центральной базы затирают не заполненными реквизитами справочники периферийной базы. Приходится в каждом ПКС писать типа: Если Не ЗначениеЗаполнено(Источник.Реквизит) Тогда КонецЕсли; Можно это прописать где-то в одном месте (где?), чтобы действовало для всех справочников?
#11 by GenV
Возможно вам стоит правильно настроить миграцию изменений. У нас главная база основная. Сначала из неё данные выгружаются в переферийку, а затем загружаются обратно. В  результате в переферийке всегда правильные заполненные справочники. ЗЫ Можно галку "не замещать ..." для реквизитов проставить (хоть групповой обработкой что бы побыстрее).
#12 by Mikhail Volkov
Свою ситуацию я описывал в теме в ней дал хороший совет, приведенный в , работает. Но прописывать данный фрагмент во всех ПКС слишком объемно... Есть ли возможность это сделать где-то в одном месте?
#13 by Stim
добавить параметр Организация и перед выгрузкой доков проверять
#14 by GenV
Нет. Единого обработчика для ПКС нет.
#15 by Mikhail Volkov
Жаль конечно, а "ВыгрузитьПоПравилу" где прописывается?
#16 by БабкаЕжка
Я извиняюсь, но все-таки не поняла, как при загрузке определить документы, кот. не должны выгружаться? У меня документы по всем организациям могут выгружаться, вопрос в какую базу они при этом загрузятся. Выгружаю пока Универсальной обработокой.
#17 by Beduin
Не понял фразу "как при загрузке определить документы, кот. не должны выгружаться"
#18 by БабкаЕжка
описалась -  при выгрузке.
#19 by PVV65
У Вас применяются планы обмена?
#20 by GenV
Если про ситуацию , то самый простой способ это сделать в ПВД, установив произвольный алгоритм.
#21 by БабкаЕжка
нет не применяются,  я первый раз пишу)),а придётся?  Но насколько я поняла при использовании плана обмена нельзя отборы задавать для выгрузки документов.
#22 by PVV65
Если обмены постоянные - надо применять планы обмена, что бы выгружать только изменения. Думаю что в УТ есть стандартный план обмена с возможностью отбора по организации. Применение планов обмена в КД не является обязательным (можно в любой момент выгрузить любые объекты).
#23 by PVV65
+ Применение планов обмена позволяет создать узлы, соответствующие организациям и выгружать в КД с указанием узла.
#24 by БабкаЕжка
пока нужна ручная выгрузка, бухи хотят контролировать что и куда они выгружают, т.е. у них должна быть возможность выгрузить документы за опредеённый период, с установленными отборами, если я при выгрузке ставлю конкретный узел обмена, то  у меня улетают только из изменённые документы, отборы при этом не срабатывают? вот мне и надо, чтобы при русной выгрузке/загрузке ничего лишнего не загрузилось.
#25 by Beduin
Создайте параметры и используете их в обработчиках своих объектов. А вообще быстро не получится. Конвертация достаточно сложна сама по себе.
#26 by PVV65
Тогда . Дописать несколько строк. Хотя, если бухи хотят "контролировать" - пусть контролируют в рамках зарегистрированных изменений (так же можно не снимать регистрацию).
#27 by БабкаЕжка
извините, но я не понимаю, что должно быть в Параметрах? в обработчике "Перед конвертацией объекта" доступен справочник организаций приемника?
#28 by PVV65
Как то так Если Источник.Метаданные.Реквизиты.Найти("Организация") <> Неопределено Тогда А в Конвертации (Справочник.Конвертации) на закладке Параметры добавляем параметр Организация.
#29 by PVV65
+ Вместо &Организация <-> Параметры.Организация
#30 by PVV65
+ Доступ к параметрам из обработки УниверсальныйОбменДаннымиXML осуществляется на закладке "Параметры выгрузки".
#31 by PVV65
Наверное надо еще проверить заполненность параметра.
#32 by БабкаЕжка
если я при выгрузке выбрала организацию Орг1(параметр), выгрузила данные в файл только по этой организации, а потом зашла в базу с Орг2 и загрузила этот файл? Кто меня остановит?
#33 by GenV
Добавь галку для параметра организация "при загрузке", настрой правило его выгрузки и в "после загрузке параметров" проверяй его значение ...
#34 by БабкаЕжка
этот вариант, который и был нужен, единственное, если организаций несколько, то хочется правильные загрузить, а не правильные - нет, т. е. полностью загрзку не надо останавливать.Тогда как?
#35 by GenV
Хм. А как ты собираешься определять чья номенклатура и т.д. грузиться? Она ведь раньше документов выгрузится и на конкретную организацию из нескольких в файле ссылаться не будет. ЗЫ Выгружай только по одной организации каждый файл и не мучай людей )
#36 by БабкаЕжка
ладно, всем спасибо, буду дальше разбираться с КД.
#37 by Mikhail Volkov
"самый простой способ это сделать в ПВД, установив произвольный алгоритм" Можно подробней, как?
#38 by GenV
Посмотри описание обработчика "Перед обработкой" ПВД. Там есть пример.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С