Сделать многосайтовую настройку типов цен

Рейтинг: 2.8902  
Новая
Предложил Удовиченко Юрий 19.09.2018 05:31:37

Сделать многосайтовую настройку типов цен

БУС - многосайтовая система, но далеко не везде настройки работают на несколько сайтов. Нужно добавить возможность выбора групп пользователей для типов цен, в зависимости от выбранного сайта. Т.е. для разных сайтов различные типы групп.

Причина:
Система на строена на два сайта. Первый сайт отображает розничные цены по-умолчанию для всех пользователей, а второй - должен отображать оптовые. Если я включу права просмотра и покупки по оптовым ценам для всех групп пользователей - то и на первом сайте будут отображаться для всех в первую очередь оптовые, а не розничные.

Либо нужно изобретать велосипед в компонентах, перехватывая цены, убирая лишние и отображая правильные. Либо как решил сейчас - добавил новый тип цен, конвертировал для второго сайта все цены в новый тип, после чего включил для нового типа цен отображение для всех групп пользователей.

Добавить новый тип цен из 1С, как я понимаю, не возможно, т.к. у цен есть внешний код, и создать два разных типа цен с единым внешним кодом не получится. Хотя, может быть это вариант, если будет одновременно при интеграции прописываться два типа цен с разными правами групп а на разных сайтах использоваться разные типы цен.

Рейтинг: 0  
AndreyChursin 19.09.2018 11:43:55
у вас 2 сайта, значит 2 вызова компонентов, значит 2 варианта указания требуемого типа цены.

Отдохните и со свежей головой посмотрите на проблему, она решается без доработки компонентов/модулей/костылей (ИМХО)
Рейтинг: 0  
Удовиченко Юрий 19.09.2018 12:26:20
Андрей, смотрите. Вызова 2, но настройки едины:

I вариант:

Первый сайт, цены:
1. Розница - для всех
2. Опт - не для всех.
В результате для незарег. пользователей отображается Розница.

Второй сайт, цены:
1. Опт - не для всех (а как же, настройки-то одни и те же)
В результате цены отображаются только для оптовиков.
Для незарег. пользователей вообще ничего не отображается

II вариант:

Второй сайт, цены:
1. Опт - для всех (нужно чтоб отображались оптовые цены всем).
Результат: оптовые цены отображаются всем.

Первый сайт, цены:
1. Розница - для всех
2. Опт - тоже для всех  (а как же, настройки-то одни и те же)
В результате мы получаем оптовые цены для всех пользователей, т.к. они ниже розничных, что недопустимо.

Т.е. отсечь лишнее мы можем только в result_modifier - что и будет являться костылём с дополнительной проверкой группы пользователя, текущего сайта и удаления опасных цен из массива. А ну как завтра поменяется функционал, и цена всё-таки просочится. Мы получим множество заказов по оптовым ценам вместо розничных.