Имя: Пароль:
1C
1С v8
РИБ ОтправкаНазад
0 ЛучшийПрограммер1С
 
14.03.16
10:15
Не могу понять в процедуре
ПриПолученииДанныхОтГлавного
что значит параметр <ОтправкаНазад>

Тип: Булево.
При вызове обработчика данный параметр имеет значение Ложь, что означает, что никаких действий предпринято не будет. Если же обработчик присвоит параметру значение Истина, то это означает, что состояние элемента данных в этом узле распределенной информационной базы должно быть передано узлу-отправителю обрабатываемого сообщения. Таким образом, если изменения элемента данных для узла-отправителя уже зарегистрированы, то никаких действий не производится, а если не зарегистрированы, то производится регистрация изменений.

Из этого описания СП ну не пойму ...
1 Cyberhawk
 
14.03.16
10:16
Прилетевший из источника в приемник объект регистрируется в приемнике на узле, с которого отправляются данные в источник...
2 Cyberhawk
 
14.03.16
10:17
Обычно так не делают, ибо это вызывает нежелательную волну миграции данных
3 Cyberhawk
 
14.03.16
10:18
Но если, например, с объектом в приемнике при записи / проведении происходят изменения, которые нужно обратно передать в источник, то ставь "Истина"
4 ЛучшийПрограммер1С
 
14.03.16
10:19
Я вот чего не пойму:

Вот на главном узле делается изменение документа, это изменение передается на подчиненный. Зачем его обратно передавать на главный?
5 ЛучшийПрограммер1С
 
14.03.16
10:19
Ведь он с главного пришел такой, зачем его такой же снова назад гонять
6 ЛучшийПрограммер1С
 
14.03.16
10:21
(3) Если потом изменения произойдут, то это уже будут изменения и они же итак будут передаваться как изменения, зачем эта отправканазад?
7 Serg_1960
 
14.03.16
10:22
Имхо, это управление приоритетом изменения данных. Если данные между сеансами обмена изменили в обеих узлах, то остаться должно только одно изменение. Вопрос: какое именно? :)
8 ЛучшийПрограммер1С
 
14.03.16
10:22
У нас же есть план обмена в нем есть состав документов
9 ЛучшийПрограммер1С
 
14.03.16
10:23
(7) Но я не понимаю смысл этого "ОтправкаНазад"
10 ЛучшийПрограммер1С
 
14.03.16
10:24
Не понимаю разницы, что оно дает
11 Cyberhawk
 
14.03.16
10:25
Не потом, а сразу - при записи объекта в приемнике (при проведении документа, допустим, у него появляются проводки с какой-нибудь итоговой суммой и тебе сумму эту надо обратно передать). Впоследствии объект может больше никогда и не измениться в приемнике и поэтому не передаться
12 Cyberhawk
 
14.03.16
10:26
Либо статус документа в приемнике передать в источник - тоже годный сценарий
13 ЛучшийПрограммер1С
 
14.03.16
10:28
(11) что значит сразу - если мы допустим обмениваемся XML-файлом, мы из XML, который сформирован на отправителе берем данные для обновления - куда мы обратно будем отправлять - в XML?
14 Serg_1960
 
14.03.16
10:28
При помощи этого обработчика можно изменить обмен так, как вам хочется. Хоть как Бог черепаху.
15 ЛучшийПрограммер1С
 
14.03.16
10:30
(11) При получении нового документа у него и все тогда события по записи срабатывают? Тогда отправку назад надо делать и для регистров накопления?
16 ЛучшийПрограммер1С
 
14.03.16
10:31
(14) Наверное, но непонятен этот флаг ОтправкаНазад - что он меняет
17 Cyberhawk
 
14.03.16
10:31
(13) (15) Я вроде бы все рассказал. Если есть вопросы - задавай с указанием фразы, тебе непонятной
18 Serg_1960
 
14.03.16
10:32
(13) Предполагается что обмена данными у вас двунаправленный. При однонаправленом обмене "ОтправкаНазад" не имеет смысла (за отсутствием оного).
19 ЛучшийПрограммер1С
 
14.03.16
10:32
(11) Если сумма итоговая поменялась, значит и документ поменялся, а значит он должен быть передан согласно плану обмена или как?
20 ЛучшийПрограммер1С
 
14.03.16
10:34
(19) Вне зависимости от этого ОтправкаНазад
21 ЛучшийПрограммер1С
 
14.03.16
10:37
(0) Таким образом, если изменения элемента данных для узла-отправителя уже зарегистрированы, то никаких действий не производится, а если не зарегистрированы, то производится регистрация изменений

Эта фраза вообще непонятна
22 ЛучшийПрограммер1С
 
14.03.16
10:41
(11) Я вот тут не понял, документ назад передается или проводки? Или проводки передадутся как измененные, или их не надо передавать?
23 ЛучшийПрограммер1С
 
14.03.16
10:43
(12) Не пойму зачем статус передавать назад, если у нас есть основная база и есть основной статус, заменять его на статус оттуда?
24 aleks_default
 
14.03.16
10:47
В режиме ОбменДанными.Загрузка = истина регистрация в таблице изменений вроде бы не делается.
25 ЛучшийПрограммер1С
 
14.03.16
10:50
(24) это к чему было сказано?
26 aleks_default
 
14.03.16
10:54
К тому что изменения с объектом в приемнике (в процедуре ПередЗаписью, например, или по подписке) происходят в этом режиме и соответственно не регистрируются в таблице изменений для отправки обратно.
27 ЛучшийПрограммер1С
 
14.03.16
10:58
(26) Ну уже что-то понятно, но непонятна фраза из СП (21)
28 Aceforg
 
14.03.16
11:01
(22) Емнип, проводки никогда отдельно не передаются, только вместе с объектом
29 aleks_default
 
14.03.16
11:03
(27) А че непонятного. К моменту загрузки изменений из файла обмена объект в базе приемнике уже может быть изменен пользователем и соответсвенно уже зарегистрирован в таблице изменений и значит его не надо еще раз регистрировать.
30 Aceforg
 
14.03.16
11:05
(29) Это уже другая ситуация, коллизия называется
31 ЛучшийПрограммер1С
 
14.03.16
11:05
(29) Не пойму там написано про отправитель, Вы пишете про приемник ...
32 ЛучшийПрограммер1С
 
14.03.16
11:07
(28) А что здесь под проводками понимается?
33 ЛучшийПрограммер1С
 
14.03.16
11:11
(32) Записи в регистрах, они же могут не передаваться XML, а формироваться на приемнике при проведении
34 aleks_default
 
14.03.16
11:12
(30)Почему другая? Коллизия не влияет на порядок отрабатываемых процедур регистрации в планах обмена. Обработку коллизий можно тоже сделать как тебе нужно, например не принимать изменения от базы-отправителя если в базе-приемнике объект был изменен.
(29) перечитай вдумчиво еще раз, вроде все понятно написал.
35 ЛучшийПрограммер1С
 
14.03.16
11:13
(33) Вообще интересно, если и документ и регистр накопления по нему или регистр бухгалтерии в плане обмена, то какие проводки сформируются - из источника или проведение в приемнике?
36 ЛучшийПрограммер1С
 
14.03.16
11:17
(29) (34) Да Ваша запись понятна, если флажок поставлен что данные изменились то повторная установка флажка ничего не дает, вопрос не в том, мне непонятна формулировка - последнее предложение в описании параметра в СП (0), особенно "Таким образом" и вообще о чем это последнее предложение?
37 Cyberhawk
 
14.03.16
11:19
(36) В последнем предложении описывается происходящий в базе процесс
38 ЛучшийПрограммер1С
 
14.03.16
11:22
(37) То есть надо читать так его: "Таким образом в базе происходит процесс типа черный ящик"
39 aleks_default
 
14.03.16
11:22
Речь об изменениях, которые до начала обмена сделал с объектом в базе-приемнике ПОЛЬЗОВАТЕЛЬ, а не о прищедших сейчас с обменом.
40 ЛучшийПрограммер1С
 
14.03.16
11:23
(39) нет в этом предложении слов о базе-приемнике, там написано про узлел-отправитель
41 Aceforg
 
14.03.16
11:23
(32) Ясно же, движения подчиненные регистратору не передаются независимо от регистратора. Если на узле приемнике формируется движения отличные от движений на узле источнике и эти изменения необходимо передать обратно на узел источник, то надо оперировать с этим флагом.
42 Cyberhawk
 
14.03.16
11:25
(40) Т.е. тебе не ясно, в какой базе описывается происходящий процесс?
43 aleks_default
 
14.03.16
11:26
Т.е. в обоих базах уже есть некий документ РТиУ. В базе отправителе он был кем-то изменен и попал в файл обмена. Я сижу в базе-приемнике и тоже изменил этот же документ(он уже зарегистрирован в таблице изменений плана обмена), и в этот момент в мою бахзу загружается файл обмена из базы отправителя.
44 ЛучшийПрограммер1С
 
14.03.16
11:27
(41) (42) Хорошо, в базе-приемнике, просто по обмену от источника. Но тогда непонятно, почему они пишут "Таким образом"
45 Cyberhawk
 
14.03.16
11:28
46 ЛучшийПрограммер1С
 
14.03.16
11:29
(43) И как это относится к описываемому параметру "ОтправкаНазад" ?
47 Aceforg
 
14.03.16
11:38
(44) Еще раз объясняю.
По умолчанию В РИБ движения документа передаются вместе с регистратором. Объект по умолчанию в узле-приемнике не проводится, все движения получены из XML. Ну нет смысла проводить тысячи документов в узле приемнике.

Тебе может понадобиться перепроведение документа в обработчике, соответственно перепроведение может формировать другие движения. По умолчанию измененные движения не зарегистрируются как измененные, если требуется передать измененные обратно, оперируй с этим флагом
48 ЛучшийПрограммер1С
 
14.03.16
11:41
(46) То есть если мы установили "ОтправкаНазад", то пришедшие данные не будут восприняты в коллизии, а назад отправятся данные из приемника?
49 ЛучшийПрограммер1С
 
14.03.16
11:46
(48) То есть ОтправкаНазад меняет поведение по умолчанию и при коллизии делает данные подчиненного документа более приоритетными?
50 Aceforg
 
14.03.16
11:57
(48) Коллизия тут совершенно не причем, вообще это параллельная ситуация. Конкретно ничего могу сказать, надо смотреть в зависимости от ситуации.

(49) "То есть ОтправкаНазад меняет поведение по умолчанию и при коллизии делает данные подчиненного документа более приоритетными?"

Не путай причину и следствие. Флаг "ОтправкаНазад" в обработчике лишь влияет зарегистрируется ли объект (с новыми проводками или нет - не важно ) как измененный после обработчика. Обычно им не пользуются, используют "ОбменДанными.Загрузка = истина"
51 ЛучшийПрограммер1С
 
14.03.16
12:00
(50) А по моему Вы путаете с параметром
<ПолучениеЭлемента>

Тип: ПолучениеЭлементаДанных.
Значение данного параметра может быть переприсвоено в обработчике. Оно определяет, будет ли прочитанный элемент данных записан в базу данных или нет.
52 Aceforg
 
14.03.16
13:06
(51) "Я тебе про лысого, а ты мне про седого"
53 ЛучшийПрограммер1С
 
14.03.16
13:17
(52) Не понял
54 ЛучшийПрограммер1С
 
14.03.16
13:28
Кто-нибудь, разъясните, где правда?
55 Cyberhawk
 
14.03.16
13:34
Я вроде все ответил уже.
Если остались вопросы по теме - задавай.
56 ЛучшийПрограммер1С
 
14.03.16
13:35
(48) и (49) верно?
57 Cyberhawk
 
14.03.16
13:39
(56) Без понятия - коллизия к теме не относится и лично мне неясно, что под этим подразумевается.
Еще вопросы, относящиеся к теме, есть?
58 ЛучшийПрограммер1С
 
14.03.16
13:44
(57) коллизия в данном случае (ПриПолученииДанныхОтГлавного) это когда в приемнике (подчиненном) передаваемый элемент уже изменен пользователем приемника
59 ЛучшийПрограммер1С
 
14.03.16
13:54
(57) У меня вопрос - при коллизии (58) документ изменится в приемнике при такой передаче или же наоборот передача не состоится, а состоится потом передача назад при обмене?
60 Cyberhawk
 
14.03.16
13:57
Недостаточно описания, ибо все это управляется прикладным кодом
61 ЛучшийПрограммер1С
 
14.03.16
14:15
(60) Ну я так расшифровал это последнее предложение
62 ЛучшийПрограммер1С
 
14.03.16
14:18
ЖКК почитал, там вообще ничего не понял
63 ЛучшийПрограммер1С
 
14.03.16
14:34
Там такая штука рассмотрена - что документ может быть удален из одного  филиала и помещен в другой филиал. Так вот, в другой филиал он попадает по стандартной схеме ПриОтправкеДанныхПодчиненному по равенству атрибута, а по неравенству отправляется удаление этого документа из старого филиала. Так вот там описан пример использования "ПриПолученииДанныхОтПодчиненного" и при неравенстве артибута (то есть когда в филиале изменили уже атрибут) мы делаем отправку назад с тем, чтобы удалить в старом месте и поставить в новом. Вот, щас написал и понял использование в ЖКК. Теперь надо понять мой случай.
64 ЛучшийПрограммер1С
 
14.03.16
14:37
точнее говоря удалить в старом, ведь в новом уже поставлено
65 ЛучшийПрограммер1С
 
14.03.16
14:39
то есть мой случай это некое мифическое распространение документа от корней к дереву
66 ЛучшийПрограммер1С
 
14.03.16
14:43
В общем ОтправкаНазад это просто установка после принятия изменений признака для отсылки его назад, а то, что написано в СП одному богу известно.
67 Serg_1960
 
14.03.16
23:07
(66) Всё правильно написано в СП. Первое предложение говорит о том, что никаких специальных действий при получении данных не будет сделано, кроме стандартных. Второе предложение описывает суть специальных  действий вместо стандартных. Третье предложение конкретизирует как именно это будет сделано.