Как настроить, чтобы документ не замещался?

1. НовенькийЯ 25.03.15 13:33 Сейчас в теме
В Кд "ПередКонвертациейОбъекта" прописано:
ПараметрИсточник = Источник;
Если Не ПараметрИсточник=Неопределено Тогда

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

Показать

И это работает для документов, выгружаемых по правилу. Но вот если док выгружается по ссылке, то не срабатывает.
Ну скажем если я выгружая док Поступление товаров и услуг, то он не замещается, а вот если выгружаю док
Корректировка поступления, то сам док не замещается, а вот поступление, на основании которого была сделана корректировка - замещается. Как бы это дело подправить?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
11. xFoG 16.04.15 07:55 Сейчас в теме
(1) НовенькийЯ, привет. А можешь правила дать посмотреть? Или уже разобрался?
2. nipil 25.03.15 14:12 Сейчас в теме
НеЗамещатьОбъектПриЗагрузке больше ни где не переопределяется? Например в соответствующем ПКО?
3. НовенькийЯ 25.03.15 14:20 Сейчас в теме
(2) nipil, нет, ни где больше нет переопределения параметра НеЗамещатьОбъектПриЗагрузке
4. nipil 25.03.15 14:23 Сейчас в теме
Быстрее всего точка останова с условием (ИмяПКО = "ПоступлениеТоваровУслуг") в обработке "Универсальный обмен данными.." "ВыгрузитьПоПравилу"
5. НовенькийЯ 25.03.15 14:37 Сейчас в теме
Пойдем другим путем. Можно ли на момент выгрузки объекта узнать что он выгружается по ссылке?
6. nipil 25.03.15 14:40 Сейчас в теме
(5) НовенькийЯ, В справке по обработчикам: "ВыгруженныеОбъекты - Соответствие. Содержит перечень выгруженных по данному правилу объектов. Ключом соответствия является параметр КлючВыгружаемыхДанных, значением - число-номер объекта в файле. Может использоваться для проверки - выгружен ли объект по ссылкам из других объектов"
7. НовенькийЯ 26.03.15 08:00 Сейчас в теме
Ставлю точку останова и получаю пустую структуру ВыгруженныеОбъекты, записей в ней 0. при этот объект выгружается по ссылке.

В общем вопрос немного поменялся и звучит так?
Как перевыгрузить объект, но не замещать другие объекты, выгруженные по ссылкам этого объекта?
8. nipil 26.03.15 11:34 Сейчас в теме
Флаг в ПКО "Не выгружать объекты свойств источника по ссылкам" (ПКО.НеВыгружатьОбъектыСвойствПоСсылкам) не подходит?
"Флаг определяет нужно ли переносить все подчиненные объекты для источника. Если флаг не установлен, то в месте с одним объектом источником будут выгружены все объекты, на которые он ссылается"
9. НовенькийЯ 15.04.15 15:19 Сейчас в теме
К сожалению этот флаг не подходит.
Условие следующее:
В параметрах есть параметр "ЗамещатьДокументыПриЗагрузке" - типа Булево
1 - Если этот параметр = Ложь, тогда выгружаем только новые документы, существующие не замещаем - тут проблем нет, все работает
2 - Если этот параметр = Истина, тогда должны замещаться только те объекты, которые выгружены по правилам, а те что выгружены по ссылкам замещаться не должны, но если в базе приемнике такого документа нет, то он должен создаться, т.е. битых ссылок быть не дожно и не заполненных реквизитов тоже. - вот тут у меня запара полная.
10. artfa 58 15.04.15 18:15 Сейчас в теме
После загрузки объекта, если ОбьектНайден и НЕ ПараметрыОбьекта.ЗамещатьДокументыПриЗагрузке Тогда Отказ = Истина
Параметр объекта устанавливать в истину или ложь в зависимости от того выгружается объект по ссылке или через пвд.
12. НовенькийЯ 16.04.15 09:29 Сейчас в теме
(10)
1 - это что получается, у каждого документа и справочника добавлять новый параметр?
2 - Как при выгрузке установить этот параметр в Истина или Ложь, т.е. как узнать что док/справочник выгружается по ссылке или по правилу?
(11) - правила брал типовые, и их переписывал под нужды организации, т.ч. если тебе нужны рабочие типовые правила, то их можно взять в самой торговле/бухгалтерии. А мои правила тебе все равно не помогут, т.к. УТ переписана и есть куча реквизитов, которых нет в типовой, поэтому и правила работать не будут :-)
13. artfa 58 16.04.15 12:23 Сейчас в теме
(12) НовенькийЯ,
1. а как вы хотели?
2. передавать параметр через входящие данные, если чз ПВД п.1, то одно значение, если по ссылке п.3, то другое
16. tusv 212 16.04.15 12:45 Сейчас в теме
В (13) более простая идея
В ПВД прописать. Например
ИсходящиеДанные = Истина;
Это значит, в ПКО что выгруженное через ПВД параметр ВходящиеДанные будет не пустым, а по ссылкам пустым
14. tusv 212 16.04.15 12:34 Сейчас в теме
(12) НовенькийЯ,
Как при выгрузке установить этот параметр в Истина или Ложь, т.е. как узнать что док/справочник

Параметр в ПКС ИсходящиеДанные транслируется в ПКО, как ВходящиеДанные

Самое простое и мутороное, это Действительно Передавать параметр в Источник.

В каждом ПКО добавить Параметр ПереданПоССылке с флагом Заполнять из входящихДанных
В обработчики ПриЗагрузке или В глобальном обработчике
НеЗамещатьОбъектПриЗагрузке=ПараметрыОбъекта.ПереданПоССылке;

В каждом ПКС ссылочного типа прописать в обработчике ПередВыгрузкой
ИсходящиеДанные = Новый Структура("ПереданПоССылке",Истина);
15. НовенькийЯ 16.04.15 12:39 Сейчас в теме
Спасибо. Попробую сделать так
17. НовенькийЯ 16.04.15 12:54 Сейчас в теме
ДА, именно то что я хотел. Через входящие/исходящие данные самое оно. Спасибо. Все заработало.
18. natarezn 29.04.16 09:58 Сейчас в теме
назначить НеЗамещатьОбъектПриЗагрузке = Параметры.НеЗамещатьПриЗагрузке;
в ПередВыгрузкойОбъектаПКО - алгоритме
Перед выгрузкой - Выполнить(Алгоритмы.ПередВыгрузкойОбъектаПКО);

Параметры.НеЗамещатьПриЗагрузке - признак булево
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот