Мое предложение такое. И это новый подход, в отличие от того что у вас десять лет не меняется. даже с выходном новых версий.
1) Убрать целиком то что сейчас у вас творится с регистрацией изменений по остаткам. По сути вы при изменении регистра остатков - начинаете еще делать записи в один свой регистр. Причем в новой версии - вы даже не смотрите статусы которые есть у новых регистров - все считаете изменением, хотя там по факту звериная доля движений вообще не отвечает за изменение остатков.
2) Убрать остатки целиком из вашего регистра слежения. И убрать весь код БУС_ПередЗаписью, который делает двойную запись в регистр БУС.
3) Создать регистр Остатки на сайте. При запуске регл задания (должно быть отдельное на остатки) делать запрос по двум регистрам - остатки на сайте и Распределение товаров (с нужными фильтрами, отвечающими за свободные остатки). Все что разница (по количеству, с этим условием разницей будут и товары и характеристики, склады) - и есть то что необходимо выгрузить на сайт в виде файла по изменениям остатков.
При первичной выгрузке - он естественно посчитает все отсутствующим на сайте и выгрузит, но дальше при таком запросе - всегда будут литься изменения. А вам нужно будет внести в него записи после успешного обмена. Что будет означать что остатки теперь равны.
Отдельно иметь опцию - при которой вообще не сравнивать ничего, а выгружать то что есть в регистре Остатки на сайте (это на случай когда люди не имеют вообще своих складов, и они будут что то сами загружать в этот регистр). Просто его выгружать как есть (если стоит опция).
4) Вынести выгрузку остатков вообще в отдельную тему от всего - для увеличения скорости. Не смешивать это с обновлениями товаров и прочими делами. Потому что это является самой изменяемой информацией в торговле. И специфик много. Одни льют десятками тысяч остатки от поставщиков, другие помимо сайта могут иметь свой опт, розницу. Т..е. продавать все не только сайтом, а значит остатки могут меняться очень интенсивно. И это требует выделенной линии.
В тот же регистр одновременно в нем хранить УИДЫ, для того чтобы избежать еще соединений. Повторюсь очень много пользователей имеют большие каталоги.
1) Убрать целиком то что сейчас у вас творится с регистрацией изменений по остаткам. По сути вы при изменении регистра остатков - начинаете еще делать записи в один свой регистр. Причем в новой версии - вы даже не смотрите статусы которые есть у новых регистров - все считаете изменением, хотя там по факту звериная доля движений вообще не отвечает за изменение остатков.
2) Убрать остатки целиком из вашего регистра слежения. И убрать весь код БУС_ПередЗаписью, который делает двойную запись в регистр БУС.
3) Создать регистр Остатки на сайте. При запуске регл задания (должно быть отдельное на остатки) делать запрос по двум регистрам - остатки на сайте и Распределение товаров (с нужными фильтрами, отвечающими за свободные остатки). Все что разница (по количеству, с этим условием разницей будут и товары и характеристики, склады) - и есть то что необходимо выгрузить на сайт в виде файла по изменениям остатков.
При первичной выгрузке - он естественно посчитает все отсутствующим на сайте и выгрузит, но дальше при таком запросе - всегда будут литься изменения. А вам нужно будет внести в него записи после успешного обмена. Что будет означать что остатки теперь равны.
Отдельно иметь опцию - при которой вообще не сравнивать ничего, а выгружать то что есть в регистре Остатки на сайте (это на случай когда люди не имеют вообще своих складов, и они будут что то сами загружать в этот регистр). Просто его выгружать как есть (если стоит опция).
4) Вынести выгрузку остатков вообще в отдельную тему от всего - для увеличения скорости. Не смешивать это с обновлениями товаров и прочими делами. Потому что это является самой изменяемой информацией в торговле. И специфик много. Одни льют десятками тысяч остатки от поставщиков, другие помимо сайта могут иметь свой опт, розницу. Т..е. продавать все не только сайтом, а значит остатки могут меняться очень интенсивно. И это требует выделенной линии.
В тот же регистр одновременно в нем хранить УИДЫ, для того чтобы избежать еще соединений. Повторюсь очень много пользователей имеют большие каталоги.