Выгрузка актуальных цен из исходной базы в целевую с применением отдельной обработки в целевой базе #18
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Каноническая задача: rhana/crm3-migration#20 (проект миграции:
ws-rhana+crm3-26.rhana). Перенос issue между репозиториями через MCP недоступен — задачи связаны.В целевой базе
crm3-26в рамках расширенияcrm3-26.rhanaнеобходимо реализовать загрузку актуальных на определенную дату цен продаж номенклатур из исходной базыcrm3-old.Необходимо учесть, что в целевой базе посерийный учет у номенклатуры может отличаться или в принципе присутствовать в отличии от исходной базы.
Также важно выгружать или проверять актуальность (обновлять) нормативно-справочную информацию (т.к. виды цен), связанную с ценами продаж.
Необходимо провести анализ уже реализованных на текущий момент алгоритмов, внести эту информацию в текущую задачу, предложить и реализовать решение в рамках обработки
РК_ЗагрузкаЦенвcrm3-26.rhana.Провести дополнительный анализ конфигурации структуры данных в исходной и целевой базах. Выявить функциональные и структурные разрывы и возможные потери детализации информации.
Анализ и реализация
Взято в работу. Ниже — что уже было, где разрывы моделей и что сделано в коде.
Что уже было (офлайн-пайплайн)
Живой обработки
РК_ЗагрузкаЦенне было. Цены переносились пакетным BSL:РегистрСведений.ЦеныНоменклатуры(docs/transfer/Код_выгрузки_цен_номенклатуры.bsl).scripts/prepare_prices_transfer.py,scripts/run_prices_transfer.sh).УстановкаЦенНоменклатурыв ТЧTовары2_5(ЦО 2.5), СерияЦО пустая.Шаблон живого API —
РК_ЗагрузкаОстатков+ws-rhanaTransfer API. ОтдельногоценовогоHTTP-эндпоинта не было.Структура: источник vs цель
ЦеныНоменклатуры: Номенклатура + Характеристика + ВидЦеныЦеныНоменклатуры25: + СерияЦО, ХарактеристикаЦО, УпаковкаЦО, СтавкаНДСИспользуетсяЦенообразование25)ИспользоватьСериииНастройкиКлючаЦенПоСерииВидыЦенТоварыТовары+Товары2_5ЦеныНоменклатуры25в источнике нет. Посерийный складской учёт и ценообразование — разные контуры.Потери детализации (не изобретать)
НастройкиКлючаЦенПоСериинеНеИспользовать, типовой поиск цены по серии может не увидеть общую цену. Обработка помечает такие строки колонкой «Разрыв детализации», но не дублирует цену на каждуюСерияЦО.ХарактеристикаЦОпри ЦО 2.5 тоже пустая (как в старом BSL-пайплайне).Что реализовано
ws-rhana 0.0.0.44 (нужно на исходной ИБ):
POST /hs/transfer/v1/prices/types—ВидыЦен.POST /hs/transfer/v1/prices/slice— срез на дату, пагинацияcursor/has_more, фильтрыprice_types,nomenclature,nomenclature_groups_recursive.crm3-26.rhana 1.3.1.99 — обработка
РК_ЗагрузкаЦен(подсистема «Обмен с внешней базой»):УстановкаЦенНоменклатуры(до 500 строк на документ, по виду цены).Как проверить
git pull, загрузить ws-rhana 0.0.0.44 в исходную ИБ и опубликовать HTTP/hs/transfer.Офлайн
scripts/run_prices_transfer.shостаётся как запасной контур.Перенос issue между репозиториями через MCP недоступен. Каноническая задача (ws-rhana + crm3-26.rhana) создана в проекте миграции:
rhana/crm3-migration#20
Дальнейший статус и проверка — там. Эта задача остаётся как постановка в репозитории расширения цели.
Операционка среза цен 01.08.2026 ведётся в монорепо: rhana/crm3-migration#25 (эпик rhana/crm3-migration#22). Эту задачу закрыть вместе с #25.