diff --git a/README.md b/README.md new file mode 100644 index 0000000..a782d5a --- /dev/null +++ b/README.md @@ -0,0 +1,119 @@ +# crm3-26.rhana + +Расширение РАНА для целевой конфигурации **crm3-26** (ИБ `crm3`, сервер `1c-srv.rhana.local`). + +Текущая версия: см. [`VERSION`](VERSION) и реквизит `Version` в `src/Configuration.xml`. + +Префикс новых объектов расширения: **`РК_`**. + +## Назначение + +Доработки целевой CRM3 редакции 3.1, не входящие в типовую конфигурацию: + +- **приём данных** при синхронизации **crm3-dev → crm3-26** (защита учётных настроек целевой ИБ); +- **НСИ и бизнес-логика** РАНА (контрагенты, договоры, реализация, заказы, отладка); +- **совместимость обмена** с исходной базой (EnterpriseData 1.8, ставки НДС 22%). + +Парное расширение исходной ИБ: [`crm3-dev.rhana`](../crm3-dev.rhana). + +## Документация + +| Документ | Содержание | +|----------|------------| +| [`CHANGELOG.md`](CHANGELOG.md) | история версий и описание доработок | +| [`../docs/transfer/Анализ_синхронизации_crm3-dev_crm3-26.md`](../docs/transfer/Анализ_синхронизации_crm3-dev_crm3-26.md) | полный анализ синхронизации (монорепозиторий crm3-26) | +| [`../docs/meta/REPOSITORIES.md`](../docs/meta/REPOSITORIES.md) | связанные git-репозитории конфигураций | + +## Синхронизация crm3-dev → crm3-26 + +### Разделение ответственности + +| Сторона | Расширение | Роль | +|---------|------------|------| +| **Исходная** (`crm3_placentapharm`) | `crm3-dev.rhana` | совместимость **отправки** (XDTO 1.8, валюта банк.счетов, фильтр узла CRM3-26) | +| **Целевая** (`crm3`) | `crm3-26.rhana` | защита **приёма** (учёт номенклатуры, склады, виды, серии) | + +Доработки обмена на каждой стороне применяются **только к узлу CRM3**, без влияния на обмен с Бухгалтерией. + +### Ключевые функции (целевая ИБ) + +Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`, область `Синхронизация_crm3_dev_crm3_26`. + +| Функция | Назначение | +|---------|------------| +| `РК_УзелCrm3Dev_GUID()` | GUID узла «Рабочая CRM3» (`97cd20ee-bb06-11f0-8dac-0cc47a7d055f`) | +| `РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена)` | Истина только для обмена с исходной CRM | + +### Защита при получении (v1.3.0.37+) + +| Объект | Поведение | +|--------|-----------| +| **Номенклатура** (существует) | снимок и восстановление учётных реквизитов целевой ИБ после типового `ПередЗаписью` и отложенной обработки | +| **Номенклатура** (новая) | заполнение учёта по виду номенклатуры **целевой** ИБ | +| **Виды номенклатуры** (существует) | пропуск обновления (сопоставление по GUID сохраняется) | +| **Склады** (существует) | пропуск перезаписи реквизитов | +| **Серии номенклатуры** | проверка владельца серий по настройкам вида в целевой ИБ | +| **Ставки НДС** | ПКПД: `НДС22`, `НДС22_122` | + +Защищаемые реквизиты номенклатуры: `ВидНоменклатуры`, `ОсобенностьУчета`, `ТипНоменклатуры`, `ИспользованиеХарактеристик`, `ВладелецСерий`, `ВладелецХарактеристик`, `ГруппаФинансовогоУчета`, `СкладскаяГруппа`. + +## Контрагенты — уникальность ИНН/КПП (v1.3.0.39) + +В crm3-26 проверка реализована в **`ПартнерыИКонтрагентыЛокализация`** (не в `ПартнерыИКонтрагенты`, как в crm3-dev). + +| Процедура/функция | Изменение | +|-------------------|-----------| +| `ИННКППУжеИспользуетсяВИнформационнойБазе` | дубли ищутся только среди контрагентов **без** пометки удаления | +| `ПроверитьКорректностьЗаполненияКонтрагента` | для контрагента с `ПометкаУдаления` проверка уникальности **не выполняется** | + +Поведение согласовано с `crm3-dev.rhana` v1.0.1.333. Отдельная CRM-функция `CRM_КлиентыСервер.ИННКППУжеИспользуетсяВИнформационнойБазе` (поиск по `Партнеры.CRM_ИНН`) не затронута. + +## Состав расширения (основное) + +### Общие модули + +| Модуль | Назначение | +|--------|------------| +| `МенеджерОбменаЧерезУниверсальныйФормат` | синхронизация crm3-dev, защита учёта при получении | +| `ПартнерыИКонтрагентыЛокализация` | уникальность ИНН/КПП контрагентов | +| `РК_ОбщегоНазначения` / `РК_ОбщегоНазначенияВызовСервера` / `РК_ОбщегоНазначенияКлиентСервер` | инфраструктура РАНА (режим отладки и др.) | +| `ОбщегоНазначенияКлиентСервер` | доработки отборов динамических списков | + +### Обработки и формы + +| Объект | Назначение | +|--------|------------| +| `РК_ОбработкаПарнеровКонтрагентов` | работа с партнёрами и контрагентами | +| `РК_ФормаНастроекРана` | настройки расширения | +| `ЗагрузкаДанныхИзФайла` | доработки загрузки НСИ | + +### Подсистемы + +- `РК_РАНА` — общие доработки РАНА +- `РК_РАНА326` — доработки, специфичные для целевой конфигурации + +## Репозиторий + +```text +https://git.p7net.ru/1c/crm3_26.rhana.git +``` + +Каталог в монорепозитории: `crm3-26.rhana/`. + +## Обновление из конфигуратора + +После выгрузки из 1С EDT / конфигуратора: + +```bash +scripts/normalize_1c_export.sh crm3-26.rhana # из корня crm3-26 +cd crm3-26.rhana && git add -A && git status +``` + +Синхронизация `.gitattributes` / `.editorconfig`: `scripts/sync_git_1c_config.sh` (см. [`tools/git_1c/README.md`](../tools/git_1c/README.md)). + +## Связанные конфигурации + +| Сторона | Конфигурация | ИБ | Расширение | +|---------|--------------|-----|------------| +| Исходная | `crm3-dev` | `crm3_placentapharm` | `crm3-dev.rhana` | +| Целевая | `crm3-26` | `crm3` | **`crm3-26.rhana`** |