![]() |
![]() |
|
Как зарегистрировать в плане обмена удаленную строку ПОДЧИНЕННОГО регистра сведений? | ☑ | ||
---|---|---|---|---|
0
atrium
15.12.18
✎
20:52
|
Управляемые формы. Если регистр сведений независимый, то то план обмена регистрирует его записи построчно, и без проблем можно отловить удаленную строку, по ней просто не будет объекта. Но вот как только его (регистр сведений), сделать подчиненным, в плане обмена регистрируется только изменение регистратора и перебирать в нем (в плане обмена) можно только по факту существующие строки регистратора. Как заставить план обмена регистрировать записи и в этом случае построчно?
|
|||
1
Лефмихалыч
15.12.18
✎
20:58
|
весь документ со всеми движениями регистрируй. приемник должен заменить набор записей полностью
|
|||
2
atrium
15.12.18
✎
21:04
|
У меня самописный обмен с сайтом. Собираю изменения и пишу их в xml файл. А на стороне сайта уже разбираются строки. Допустим в заказе 2 строки услуг. При обмене будут выгружены 2 услуги, каждая со статусом активно. Так вот после того как из этого заказа удалят строку мне нужно выгрузить ее из 1С на сайт в статусе отменено.
|
|||
3
Василий Алибабаевич
15.12.18
✎
21:10
|
(2) Придется на стороне 1С поступать так же. Вместо удаления строки присваивать ей статус "отменено".
|
|||
4
atrium
15.12.18
✎
21:13
|
(3) Но в условиях подчиненного регистра как только я проведу документ удалив в нем строку движение исчезнет.
|
|||
5
Михаил Козлов
15.12.18
✎
22:21
|
(4) Полностью заменять набор записей регистра.
|
|||
6
palsergeich
15.12.18
✎
22:58
|
(0) При подчинении регистратору - регистрировать записи регистра сведений - ИМХО методически не правильно.
Зарегестрировались изменения по документу в узле -> при обмене в другой базе документ перепроводится и получается идентичный набор проводок. По мне это должно работать так, а не физически переносить записи |
|||
7
atrium
16.12.18
✎
01:39
|
(6) Я писал выше что изменения регистрирую не для переноса в другую базу 1С а для сайта, обмен самописный, и на той стороне уже код разбора написан.
(5) Даже если заменишь в плане обмена будет зарегистрирован только тот факт что что-то изменялось и выгрузит добавленные строки но не удаленные, на них ссылок в базе уже нет. Так как регистр был мой, сделал его независимым и при каждой записи документа полностью очищаю записи по нему в регистре и создаю новый набор записей. В плане обмена ничего не дублируется, так что вариант подходит. |
|||
8
youalex
16.12.18
✎
06:25
|
(0) Построчно - никак. Изменения для РС регистрируются по ключу. Для подчиненных РС ключ это регистратор.
|
|||
9
Лефмихалыч
16.12.18
✎
12:51
|
(2) очень плохое решение. В результате ты на стороне 1С должен знать и помнить, что уже есть, а чего еще нет на сайте. А доступа из 1С в БД сайта нет. Безбожно кривая архитектура обмена. И, кстати, если продолбить туннель из 1С в БД сайта, архитектура станет еще кривее. Экспоненциально.
1С должна выгружать то, что в ней есть. Сайт должен новое создавать, а старое полностью заменять теми данными, которые пришли заново. Сайт сам должен разбираться, что новое, а что старое. Потому, что 1С не знает, что он там принял, чего не принял, а что принял наполовину (и такое тоже будет потому, что пэхэпэшники - теще каллеки) Иначе ничего работать не будет. |
|||
10
Сергиус
16.12.18
✎
13:38
|
(0)У тебя в изменения плана обмена попадает только ссылка на сам регистиратор. Поэтому тут два варианта - либо без подчинения, либо с подчинением, но где-то дополнительно еще запоминать, какой состав строк документа был до изменения и сравнивать их. Но по поводу этого хорошо сказано в (9).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |