Имя: Пароль:
1C
1С v8
Удаление регистрации только успешно загруженных данных
0 Bolik1979
 
25.01.19
14:47
Всем привет!
Такой вопрос - кто-нибудь делал сабж или может есть в БСП такое? Может какие подводные камни?

Есть обмен данными между двумя конфигурациями. По некоторым условиям в приемник нельзя загружать некоторые данные, соответственно в источнике при загрузке ответа нельзя удалять регистрацию этих данных и в пользовательском режиме устранять проблему данных.
Думаю в ответе передавать ключевые поля загруженных (или незагруженных) данных и в источнике удалять регистрацию с учетом этих данных
1 ДенисЧ
 
25.01.19
14:49
В ответе РИБ нет отчёта по каждому объекту. Только по всему пакету целиком.
Поэтому тебе писать свой механизм
2 Bolik1979
 
25.01.19
14:50
(1) Это я понимаю, поэтому и спрашиваю, может я не углядел в типовых механизмах (например БСП) такого, или может кто писал такое. И взлетит ли вообще такое
3 mistеr
 
25.01.19
14:55
Нужно список того, что нельзя загружать "по некоторым условиям" передавать в источник (в рамках того же обмена или отдельного). И при выгрузке это не выгружать.
4 FIXXXL
 
25.01.19
15:12
(0) в ответном тикете передаешь список незагруженного, очищаешь узел по номеру в тикете, незагруженные заново ставишь на регистрацию
5 Bolik1979
 
25.01.19
15:13
Технически я понимаю, как это будет. На бумаге выглядит все просто.
Не будет ли проблем каких, поэтому интересно, делал ли кто-нибудь такое же
6 Cyberhawk
 
25.01.19
15:14
"в пользовательском режиме устранять проблему данных" // Не нужно управлть регистрацией в пльзовательском режиме
7 Cyberhawk
 
25.01.19
15:15
Нужно просто список ошибочных объектов (тех, которые в приемник не загрузились и были пропушены) передавать в источник. А что уж в источнике с ними делать - включать в следующую выгрузку или удалять из очереди, решает пользователь.
8 Вафель
 
25.01.19
15:15
если их нельзя загружать, то может и не выгружать вовсе?
9 Bolik1979
 
25.01.19
15:16
(6) Почему, какие могут быть траблы?
Данные не загружены в приемнике, пользователь должен устранить проблему в источнике
10 Cyberhawk
 
25.01.19
15:16
(8) При выгрузке ты не знаешь, что из выгруженного загрузится, а что - нет. Поэтому у пользователя должна быть работа со списком ошибочных объектов в источнике. По умолчанию тупо включать эти объекты в очередную выгрузку, пока пользователю не надоест получать отчет-уведомление со списком ошибочных объектов каждый раз.
11 Cyberhawk
 
25.01.19
15:18
(9) Должен быть промежуточный буфер, с которым работает пользователь. Содержимое этого буфера включается в выгрузку (регистрируется). При удалении пользователем объекта из буфера снимать регистрацию.
Без буфера ты не сможешь отделить для пользователя работу с ошибочными объектами в плане регистрации.
12 Bolik1979
 
25.01.19
15:20
(11) Был опыт реализации такой функциональности?
13 sieben
 
25.01.19
15:23
(0) Как ты собираешьтся "отвергать" удаление объекта или запись пустого регистра при его очистке?
14 TormozIT
 
гуру
25.01.19
15:25
(12) Да. Схема рабочая.
15 Bolik1979
 
25.01.19
15:30
(13) Отвергать в источнике? Как мне кажется, проблема только в представлении этих данных для пользователя в буфере ошибочных данных
16 Bolik1979
 
25.01.19
15:36
+(13) Хотя проблема и в хранении таких данных. Как лучше хранить нессылочные данные в буфере (подозреваю, что это будет РС)?
17 ЧессМастер
 
25.01.19
15:37
(0) "По некоторым условиям в приемник нельзя загружать некоторые данные"

Это можно легко решить сделав подписку на события

ПриОтправкеДанныхПодчиненному
(если нужно не выгружать данные в узел)  
или
ПриПолученииДанныхОтПодчиненного
(если нужно не загружать данные)
18 Cyberhawk
 
25.01.19
15:37
(12) См. (14) + личный опыт (уже не связанный с тем товарищем) тоже имеется
19 Cyberhawk
 
25.01.19
15:38
(16) Очевидно же - хранить ключ
20 ЧессМастер
 
25.01.19
15:38
(17) В этом случае не нужно морочить себе голову как снимать регистрацию объектом для обмена. Пусть себе будут зарегистрированы. Подписка  не даст им выгрузится или не даст загрузиться.
21 Bolik1979
 
25.01.19
15:40
(19) В каком виде хранить? А если, к примеру, структура РС изменится (добавится измерение)?
22 Cyberhawk
 
25.01.19
15:40
(21) В сериализованном, например
23 Bolik1979
 
25.01.19
15:41
(22) При изменении структуры обратная сериализация не пройдет :-(
Хотя у меня пока только ссылочные данные в обмене
24 TormozIT
 
гуру
25.01.19
16:09
(23) Так хранить нужно структуры ИмяПоляОтбора-ЗначенияПоляОтбора.
25 Bolik1979
 
25.01.19
16:17
(24) Да, понял, спасибо.
Удаление объекта как ссылку с признаком удаления хранить?
26 Cyberhawk
 
25.01.19
16:21
(23) Это смотря как сделаешь сериализацию и десериализацию. Конечно же не о платформенной речь.
27 Cyberhawk
 
25.01.19
16:23
(25) За удаление разъясни, где оно создается и где планируется его использовать
28 Bolik1979
 
25.01.19
16:27
(27) Удаление объекта - это скорее уже из теоретических изысканий. Не представляю пока, зачем отказываться от удаления в приемнике.
Но если все таки такое может быть, то удаление объекта создается в том же источнике и отказ от удаления в приемнике
29 Serg_1960
 
25.01.19
16:38
Пятница, вечер...
- Ничего не понимаю!
- Аналогично, шеф!

Зачем отправлять из источника то, чего нельзя принять в приемнике и зачем сохранять регистрацию этого безобразия?

Это какая-то хитро вогнуто/выгнутая логика? В чём прикол?

Хотя... с другой стороны... я легко могу реализовать в приёмнике "управление" регистрацией источника (и без всяких "промежуточных" буферов и прочая) - но не пойму "А зачем?".
30 ЧессМастер
 
25.01.19
16:48
(29) Отправляется же по правилам регистрации.
Например правила регистрации в конфе с поддержкой.

Но вопрос зачем же так сложно блокировать принятие если это легко решается подпиской на события ПриОтправкеДанныхПодчиненному или
ПриПолученииДанныхОтПодчиненного
31 FIXXXL
 
25.01.19
17:03
(29) (30) потому как в Источнике может не быть информации о принятии решения об отказе от загрузки
32 Вафель
 
25.01.19
17:06
а можно реальный случай зачем такое может нужно быть?
33 Bolik1979
 
25.01.19
17:13
(32) В источнике создаются документы, которые загружаются в приемник и на основании которых в приемнике создаются свои документы.
Эти документы нельзя менять в источнике, после того, как в приемнике на их основании были созданы документы.

Примерно так
34 Bolik1979
 
25.01.19
17:15
(33) Ну и нельзя загружать измененные документы из источника, если они все же были изменены
35 Вафель
 
25.01.19
17:15
(33) и что ж с ними делать тогда потом?
36 Вафель
 
25.01.19
17:15
те 2 базу уже разошлись - и это уже навсегда
37 Bolik1979
 
25.01.19
17:24
(33) Возвращать в исходное состояние в источнике и убирать регистрацию
38 ЧессМастер
 
25.01.19
17:40
(31) В источнике есть информация ЧТО приходит в приемник.

Если вам мне не нужно это в Приемнике выставляете Отказ в подписке которая отрабатывает загрузку объекта в Приемник и это не приходит.

Зачем вместо этого удалять из регистрации непонятно.
39 FIXXXL
 
25.01.19
17:44
(38) я не обсуждаю КАК
реализация, с которой я сталкивался, была сделана задолго до БСП :)
40 Вафель
 
25.01.19
18:21
(39) ты теряешь информацию, что объект не загрузился. а этого делать не нунжно. по условиям ТС
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший