S-WEBS24

Битрикс24

CRM, процессы и приложения для вашей компании

Вернуться к списку Вернуться к статьям
Статьи

Как перевести магазин на новую валюту одновременно в ценах, CRM, письмах и фидах

Перевод магазина на новую валюту требует согласованно менять сумму и её валютный код во всех затронутых каналах. Одной замены символа на странице недостаточно. Источник курса, направление пересчёта, округление и момент фиксации должны быть явными, а CRM, письма, фиды и структурированные данные должны описывать тот же проверенный снимок цены.

Сумма и валюта переходят вместе
Учебная цепочка валютного представления без реальных курсов и коммерческих сумм.
Сумма и валютный код меняются одним снимком Учебный курс: 1 EUR = 100 RUB. Снимок 10 EUR пересчитывается в 1 000 RUB и одинаково передаётся во все показанные каналы.

Исходное требование касается локальной версии магазина, передачи данных и обновления курса. Оно не содержит подтверждённых финансовых результатов. В учебном разборе нет действующих курсов, реальных цен или советов по валютным операциям. Рассматривается техническая целостность данных; источник и коммерческие правила пересчёта выбирает владелец процесса.

Составить карту суммы и валюты

Перечислите все места, где живёт цена: исходная учётная система, каталог, наборы, конфигуратор, корзина, CRM, письмо, PDF, фид и разметка. Для каждого укажите, хранится ли исходное число или уже пересчитанное. Если это неизвестно, повторный пересчёт способен умножить значение ещё раз. Сначала происхождение данных, затем изменение представления.

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

Учебная модель использует исходную валюту А и целевую Б. Курс условный и не относится к рынку. Для каждого канала заранее записывается ожидаемое значение, код и версия курса. Такой набор позволяет проверить арифметику и маршруты без реальных коммерческих сумм. Публичная иллюстрация не должна создавать впечатление актуального финансового расчёта.

КаналЧто должно совпадать
КаталогЧисло, подпись и выбранная валюта
КонфигураторПозиции и итог по одному правилу
CRMСумма вместе с кодом валюты
Письмо и PDFСогласованный снимок обращения
Фид и разметкаЗначения соответствуют целевой странице

Определить источник курса

Выберите разрешённый источник и проверьте его формат: базовую валюту, направление пары, дату значения и единицы. Курс может быть задан за одну или несколько единиц. Нельзя просто взять первое число из ответа и умножить на него цену. Парсер должен понимать контракт и отклонять неполный или неподходящий набор, а не выдавать правдоподобный результат.

Дата получения и дата самого курса могут различаться. Сохраните обе, если они нужны для сопровождения. Выходные, задержка источника и временная недоступность требуют согласованной политики. Не объявляйте любое старое значение актуальным только потому, что запрос завершился успешно. Проверка свежести должна соответствовать коммерческому правилу проекта, без универсального срока из статьи.

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

Разделить пересчёт и форматирование

Расчёт получает исходную сумму, валюты и проверенное правило. Форматирование превращает результат в строку для нужного языка. Замена знака валюты относится только ко второй части и не меняет экономический смысл числа. Не пытайтесь восстановить исходную сумму из уже оформленной строки с пробелами, разделителями и подписью.

Округление задаётся на выбранном этапе: по позиции, по итогу или другим согласованным способом. Разные последовательности способны давать расхождения, поэтому подготовьте эталонные учебные примеры. Ожидание должно быть независимо проверено, а не вычислено той же функцией, которую тестируют. В статье не предлагается универсальная бухгалтерская формула для неизвестной системы.

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

Выбрать момент фиксации

Цена на витрине может обновляться по расписанию, а сохранённое обращение должно описывать принятый состав на определённый момент. Определите, пересчитываются ли старые корзины и черновики при новом курсе. Нельзя случайно получить письмо по одному значению, а CRM по другому только из-за разницы времени обработки. Нужен согласованный снимок или явное правило повторной проверки.

Учебный тест создаёт конфигурацию при версии курса К1, затем обновляет курс до К2 и отправляет обращение. Ожидаемое поведение задаётся заранее: сохранить К1, предложить обновление или применить К2 с понятным подтверждением. Любой выбранный вариант должен быть одинаково отражён в итоговых данных. Молчаливая смесь версий не подходит.

Если внешняя обработка идёт асинхронно, передавайте достаточно контекста. Фоновый обработчик не должен заново угадывать валюту по текущему домену или языку. Снимок содержит разрешённые значения и происхождение. При этом лишние персональные сведения и внутренние секреты не нужны для проверки валютной согласованности.

Провести изменение через интерфейс

Проверьте каталог, карточку, набор и итог конфигуратора. Числа и подписи должны соответствовать одной модели. После выбора модуля новый результат не должен возвращаться к старой валюте из отдельного обработчика. Динамические запросы получают тот же контекст, что полная страница, а кэш учитывает существенные различия.

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

Если пользователь может переключать валюту, отделите этот выбор от языка и налогового режима. Они могут быть связаны по умолчанию, но не обязательно тождественны. Не используйте текст перевода как технический код. Сервер должен принимать только разрешённый набор и не давать произвольной строке влиять на расчёт.

Передать сумму и валюту в CRM

Найдите фактический механизм интеграции и поля принимающей сущности. Не считайте, что изменение подписи сайта автоматически меняет валюту сделки. Для реализации проверяют действующий API-контракт и права подключения. В этой статье не выдумываются REST-сигнатуры и внутренние ключи конкретного портала.

Учебная запись CRM должна содержать ожидаемую сумму, валюту и состав. Сверьте именно сохранённые данные, а не только успешный ответ отправителя. Если принимающая система применяет собственный пересчёт, определите, какая сторона за что отвечает. Двойное преобразование выглядит как арифметическая ошибка, хотя каждый участник отдельно выполнил своё правило.

Повтор передачи не должен пересчитать уже зафиксированную сумму новым курсом без согласования. Это особенно важно при неизвестном сетевом результате. Связь обращения и его снимка должна сохраняться по общей модели надёжной доставки. Переключение валюты не должно создавать второй независимый путь формирования сделки.

Проверить письма и документы

Шаблоны должны получать структурированный снимок, а не повторно вычислять курс при каждом открытии. Иначе письмо, созданное позже, разойдётся с принятыми данными CRM. Если проект намеренно использует актуальную стоимость, это должно быть ясно обозначено и проверено как другое назначение документа. Не оставляйте выбор случайному месту вызова функции.

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

Сравните фактическое вложение и локальный предпросмотр. Кэш документов может вернуть старую версию под тем же именем. Контрольная сумма или безопасная отметка версии помогает установить, что проверяется новый файл. Само обновление HTML-шаблона не доказывает, что получателю ушёл тот же результат.

Согласовать фиды и структурированные данные

В фиде цена и валюта должны соответствовать требованиям конкретного получателя и целевой странице. В справке Merchant Center это сформулировано явно. Нельзя отправить старую сумму с новым кодом или показывать на странице другую цену без согласованного механизма. Для иных площадок проверяют их первичный контракт, а не предполагают одинаковые поля.

В разметке предложения priceCurrency должен соответствовать числу, которое описывает предложение. Документация Google показывает их совместное использование. Смена символа в видимом HTML не меняет JSON-LD автоматически. Проверьте фактический исходный код и отсутствие второй старой схемы из другого модуля. Разметка должна описывать реальное содержание, а не отдельную воображаемую цену.

У получателей могут быть ограничения на постоянно меняющиеся цены и способы обновления. Например, Merchant Center отдельно описывает требования к цене и не рассматривает произвольное непрерывное колебание как обычный товарный сценарий. Не превращайте обновление курса в пересчёт на каждый просмотр без проверки правил канала. Согласованная периодическая публикация и «живая» цена имеют разные последствия.

Проверить отказ обновления

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

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

Проверьте восстановление после отказа и повторный запуск. Одинаковая версия курса не должна пересчитывать уже пересчитанные значения ещё раз. Для этого важны исходная валюта и происхождение суммы. Регрессия должна включать повтор операции без изменения входов, а не только первый удачный запуск.

Не переписать исторические данные случайно

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

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

Собрать приёмку всей цепочки

СценарийЧто подтверждать
Новая цена витриныЧисло и код соответствуют правилу
Смена модуляИтог остаётся в выбранной валюте
Передача в CRMСохранена та же денежная величина
Письмо и PDFИспользуется согласованный снимок
Фид и JSON-LDСовпадают с целевой страницей
Ошибка источника курсаПонятное ограниченное поведение

В рабочей заметке оставьте источник, направление пары, момент фиксации, округление и проверенные каналы. Если доступ к CRM или кабинету фида отсутствует, отметьте конкретный этап и продолжайте локальные проверки. Для иллюстрации достаточно учебной цепочки без настоящих курсов и коммерческих сумм.

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

Связанный разбор: Регламент обновления сайта: кто отвечает за контент, формы, аналитику и безопасность.

Документация и источники