Имя: Пароль:
1C
1С v8
1С - распределёнка
,
0 21stas
 
09.10.14
13:36
Есть задачка - построить распределёнку с односторонним обменом.
Основная особенность - файлы могут носиться только в одну сторону.
Не только данные должны в одну сторону ходить, но и вообще файлы.

Как организовать так, чтобы 1С отсылала данные только один раз, особенно обновления?
1 Maxus43
 
09.10.14
13:38
отсылать не проблема, а файл ответа о загрузке в другую сторону - таки надо, как без этого?
2 sergey198
 
09.10.14
13:38
(0) настроить в одну сторону не?
3 Ymryn
 
09.10.14
13:38
(0) А как планируется контролировать получение информации?
4 Maxus43
 
09.10.14
13:38
да и обновление конфы в этом же файле идёт, вместе с данными, 1 раз за цикл обмена, так что 2-я часть вопроса просто не понята
5 RomanYS
 
09.10.14
13:39
(0) если контроль получения не требуется, то просто очищать регистрацию после формирования файла
6 21stas
 
09.10.14
13:40
(3) Будем верить, что все файлики достигли получателя
7 Asmody
 
09.10.14
13:40
Нужна "квитанция о доставке". Так что обмен в обратную сторону тоже должен быть.
8 Ymryn
 
09.10.14
13:40
вообще самый простой способ допилить систему, чтобы она снимала с узла все изменения сразу после выгрузки ( не совсем представляю где хранятся изменения конфигруации, правда). А ответ просто формировать в пустоту.
9 21stas
 
09.10.14
13:41
(5) А с обновлением как?
10 Ymryn
 
09.10.14
13:42
а вы уверены, что вы хотите именно РИБ сделать? Может легче посылать через XML сообщения файлы обмена? А конфигруацию обновлять ручками? Мне просто очень страшно становится за базу работающую в таком режиме.
11 RomanYS
 
09.10.14
13:42
(9) у тебя же главный узел будет раздавать? тогда нет проблем.
12 Зеленый пень
 
09.10.14
13:53
Можно в ПриОтправкеДанныхГлавному() открываться от отправки всего.
13 ОчкарикСлава
 
09.10.14
13:58
генерите ответный файл на месте и подсовывайте его...
14 SeregaMW
 
09.10.14
14:04
(0) Какая платформа?
15 Fragster
 
гуру
09.10.14
14:07
в Проф разработке в разделе "обмен данными" нормально все варианты описаны
16 RomanYS
 
09.10.14
14:24
+(11) похоже проблема всё-таки есть:
"УдалитьРегистрациюИзменений" не очищает регистрацию изменений конфигурации.
Остается вариант из (13), когда надо "обнулить" изменение конфигурации
17 21stas
 
09.10.14
18:39
Понятно, что сложностей много, особенно при обновлении.
Можно, конечно, научиться генерировать файл-ответ. Но надо посмотреть, что должно быть у него внути.
Буду читать книжку "Профессиональная разработка...". Авось, поможет.
18 ОчкарикСлава
 
09.10.14
19:33
(17) там все просто.
19 RomanYS
 
10.10.14
21:49
(17) один раз получить пустой файл из базы-приемника, а потом в нем только номера сообщений увеличивать
20 ОчкарикСлава
 
10.10.14
22:12
(19) выдал секрет :)
21 Aleksey
 
10.10.14
22:39
(16) Не регистрировать изменения конфигурации, тогда и удалять ничего не надо
22 Torquader
 
11.10.14
00:46
Если данные передаются только в одну сторону, то как узнает передающий, что какой-то блок данных не прошёл ?
Или каждый раз нужно высылать всё с самого начала.

Как вариант, высылать диапазон по датам - если что-то не получено, то выгружать ещё раз вручную.
Только вот где здесь распределёнка - не понятно.
23 Обработка
 
11.10.14
08:52
Задача надуманна.
Настройтие обмен так чтоб отклик приходил без данных и все.
И не морочтье голву всем.
24 21stas
 
12.10.14
06:22
(23) Почему надуманна?
Обратно нельзя файлы таскать с этого компьютера, только туда.
25 Обработка
 
12.10.14
08:19
(24) Почему нельзя таскать?
26 21stas
 
12.10.14
14:15
Режимное (военное) предприятие
27 Обработка
 
12.10.14
14:45
(26) В таком случае.
1. Сделайте РИБ
2. Настройте чтоб из Периферии ничего не приходила кроме как отклик.
3. Сделайте первые два обмена и сохраните первые два отклика.
4. Узнайте где проставляется номер.
5. Генерите отклики далее самостоятельно.

ЗЫ. Но если хоть одна выгрузка не дошла и отклик вы автоматом сделаете, тогда вы можете пропустить некоторые данные в периферию.
28 21stas
 
12.10.14
15:41
(27) Воспользуюсь методикой.
Спасибо.
29 Vexcel
 
12.10.14
16:15
А как быть с http://курсы-по-1с.рф/articles/предопределенные-элементы-в-1с-8-3/
Суть в том, что теперь Предопределённые элементы появляются в базе данных по команде ОбновитьПолучитьОбновлениеПредопределенныхДанных() и
УстановитьОбновлениеПредопределенныхДанных().
Но в коде типовых написано, что в Периферийных узлах эти действия не должны выполняться! И это правильно! Если их выполнить отдельно в перефирийных узлах, то создадутся элементы с НОВЫМИ индетификаторами и вследствие обмена будут дубли в Центральном Узле.
А если из Центрального узла не передать новые элементы, то в Периферийных узлах, в информационной базе, они будут отсутствовать.
Так же совсем недавно столкнулся с тем, что добавились константы в типовую конфу бухгалтерии 3.0, и в Центральном узле автоматически были проставлены значения для них(по определённым алгоритмам, основываясь на предыдущих настройках). Но я не передал их в Периферийные узлы(хотел добиться того, что хочет (0)) и получилось шляпа. Т.е. видимо при обновление Центральной базы создаются элементы, но при обновление периферийного узла, элементы не создаются.
30 Vexcel
 
12.10.14
16:30
(29) а... ну да, задача немного другая, извиняюсь, не дочитал!
Если нужно только в перефирю таскать, то да, это тогда не важно.