Имя: Пароль:
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) Всё правильно написано в СП. Первое предложение говорит о том, что никаких специальных действий при получении данных не будет сделано, кроме стандартных. Второе предложение описывает суть специальных  действий вместо стандартных. Третье предложение конкретизирует как именно это будет сделано.
Основная теорема систематики: Новые системы плодят новые проблемы.