Имя: Пароль:
1C
1С v8
КД 2
0 Kudryashka
 
31.10.17
10:54
Доброе время суток!
Ситуация следующая: имеется две почти идентичные базы на обычных формах. Между ними организован обмен по правилам обмена, которые были созданы в КД автоматически и немного дописаны. Обмен односторонний. В базе-приемнике в документе имеется галочка "не замещать". Пользователь принял документ из источника, поправил его как надо, поставил галочку, и из источника больше ничего туда прилетать не должно, даже если в источнике было изменено. Я написала в ПКО в обработчике "Перед загрузкой" следующий код:

Если Объект <> Неопределено Тогда
  Если Объект.НеЗамещать Тогда  
    НеЗамещатьОбъект =истина;
        //либо Отказ = Истина; ранее я писала
  КонецЕсли;
КонецЕсли;

Таким образом документ в приемнике не замещается, реквизиты не заменяются, НО! Если документ в приемнике проведен, а в источнике снят или помечен на удаление, то эти признаки переходят и в приемник. Т.е. в части "проведен", "помечен", "не проведен" галочка "не замещать" не работает. Можете подсказать что я сделала не так и как надо?
1 Cyberhawk
 
31.10.17
10:56
Так взводи Отказ, не?
2 Kudryashka
 
31.10.17
10:57
Вместо НеЗамещатьОбъект поставить Отказ? это тоже не помогает. Или я неправильно поняла?
3 Cyberhawk
 
31.10.17
10:58
Ну раз и отказ не помогает, значит у тебя объект модифицируется по какому-то другому ПКО
4 Cyberhawk
 
31.10.17
10:59
Поставь еще флажок "Не запоминать выгруженные объекты" у ПКО
5 Kudryashka
 
31.10.17
11:00
что это даст?
6 Kudryashka
 
31.10.17
11:00
что интересно: ведь пометка удаления или проведен это ведь тоже реквизиты документа. Почему они заменяются, а остальные обычные реквизиты не заменяются?
7 Ёпрст
 
гуру
31.10.17
11:01
(0)
как твоя база Источник узнает о флажке "не замещать", который в Приёмнике поменяли ? Если обмен у тебя в одну сторону.

Че тут думать то ? Трясти нужно сильнее
8 Cyberhawk
 
31.10.17
11:04
"что я сделала не так" // Создала эту ветку
"как надо?" // Пригласить специалиста (с) :)
9 Ёпрст
 
гуру
31.10.17
11:05
А всё, не дочитал.

Так лепи, что ле:

Обработчик
При Загрузке

НеЗамещатьОбъект  = ОбъектНайден И Объект.НеЗамещать;
10 Kudryashka
 
31.10.17
11:06
(7) обработчик "перед загрузкой" уже видит приемник
11 Kudryashka
 
31.10.17
11:07
(9) сейчас попробую
12 Ёпрст
 
гуру
31.10.17
11:07
(10) не видит, его там еще нет
13 Ёпрст
 
гуру
31.10.17
11:08
+12
Перед загрузкой
Условия возникновения события
Только для платформы V8.
Событие выполняется перед загрузкой объекта. Возможен отказ от загрузки, например, в случае невыполнения каких-либо условий. Загружаемый в БД объект еще не инициализирован
14 Kudryashka
 
31.10.17
11:17
(9) отлично, все работает, огромное спасибо!
15 Cyberhawk
 
31.10.17
11:17
(13) Не путай загружаемый в БД объект и объект в БД
16 Ёпрст
 
гуру
31.10.17
11:18
(15) почитай хелп, на досуге.
17 Cyberhawk
 
31.10.17
11:26
(16) Так ты оттуда выдержку и привел
18 Ёпрст
 
гуру
31.10.17
11:31
(17) И ?
19 Cyberhawk
 
31.10.17
11:33
(18) (15)
20 Ёпрст
 
гуру
31.10.17
11:36
(19) Бредишь что ле ?

читай (10) , затем ответ (12), свой бред в (15) и аргумент в (13).
Дальше думай.
21 Cyberhawk
 
31.10.17
11:41
(20) Ну вроде и так же ясно, что Я умею последовательно читать форум :) И все-таки (15), мой юный падаван ;)
22 Ёпрст
 
гуру
31.10.17
11:42
(21) Ну давай, показывай, КАК ты в обработчике Перед Загрузкой достанешь объект БД.
23 Cyberhawk
 
31.10.17
12:02
(22) Не перескакивай с "видимости приемника" на получение объекта БД :)
24 Ёпрст
 
гуру
31.10.17
12:06
(23) Слился ?
Жду извинений.
25 Cyberhawk
 
31.10.17
12:08
(24) Пока кажется, что ты отстаивал чужую точку зрения, а именно - выдержку их хелпа - причем, в своей интерпретации, которая оказалась некорректной
26 Cyberhawk
 
31.10.17
12:08
Я вот даже открыл КД2 - вкладки обработчиков ПКО там, однако, не по фен-шую расположены: сначала вкладка "ПоляПоиска", затем уже "ПередЗагрузкой", а по факту-то вызов этих обработчиков идет наоборот
27 Ёпрст
 
гуру
31.10.17
12:09
(25) Понятно, дураков учить, только портить.
28 Cyberhawk
 
31.10.17
12:09
(27) ;)
29 Ёпрст
 
гуру
31.10.17
12:17
То ли дело раньше, Скунки, кроссовок, например, ел.
тут , городят всякую хню и боятся признаться в этом, позорище
30 Cyberhawk
 
31.10.17
12:55
Надеюсь, после сегодняшнего случая товарищ Ёпрст хотя бы раз задумается, прежде чем употреблять понятие "приемник" без надлежащего контекста ;)
31 Ёпрст
 
гуру
31.10.17
12:58
(30) неуч, к графомании это вам к Гению1с - он в этом дока
32 Ёпрст
 
гуру
31.10.17
12:58
все ответы были в контексте вопроса в (0)
33 Ёпрст
 
гуру
31.10.17
13:00
если ты этого не понимаешь, смотри (27)
34 Cyberhawk
 
31.10.17
13:42
(32) "Просыпайся и улыбайся" (с) Бородач :)
А контекст - да, он такой, штука хитрая.
Но ты же сам в (7) "Источником" (с большой буквы) назвал базу, значит и "Приемник" (с большой буквы) тоже назвал базу. И лажанулся)
35 Ёпрст
 
гуру
31.10.17
13:47
(34) Не вопрос, читай своё (15) до просветления.
36 Ёпрст
 
гуру
31.10.17
13:52
И на счет (7), читай (9).
37 Cyberhawk
 
31.10.17
13:52
(35) Так Я же понимаю, что пишу. А чего непонятного там тебе? )
38 Ёпрст
 
гуру
31.10.17
14:02
(37) признай, что сморозил х-ню и никогда не спорь со старшими.
39 Cyberhawk
 
31.10.17
14:45
(38) Пока мне так не кажется :)
40 MaxS
 
31.10.17
15:41
Если в базе источнике удалить объект, в выгрузку пойдёт удаление объекта. В базе приемнике ПКО будет выполняться? Если нет, то объект пометится на удаление.