2727353b50
Co-authored-by: Cursor <cursoragent@cursor.com>
510 lines
35 KiB
Markdown
510 lines
35 KiB
Markdown
# История изменений crm3-26.rhana
|
||
|
||
Формат версии: `1.3.0.NNN` / `1.3.1.NNN` (синхронизируется с `VERSION` и `Configuration.xml`).
|
||
|
||
---
|
||
|
||
## 1.3.1.80 (2026-08-17)
|
||
|
||
### РК_ПроверкаСерий — ключ дублей (#15)
|
||
|
||
- Группа дублей: вид + номер + срок годности. `ДатаПроизводства` не входит в ключ (политика вида у РАНА не используется).
|
||
- #14 заполняет номер из наименования, не нумератором; уникальные номера разбили бы группы с пустым номером.
|
||
|
||
## 1.3.1.79 (2026-08-17)
|
||
|
||
### Исправление
|
||
|
||
- Компиляция формы: `ДеньМесяца` заменён на платформенный `День()`; локальные переменные даты переименованы, чтобы не затенять функции.
|
||
|
||
## 1.3.1.78 (2026-08-17)
|
||
|
||
### РК_ПроверкаСерий — анализ таблицы проблем
|
||
|
||
- Отбор **Только с остатком**, поиск по строке в командной панели таблицы, сортировка по остатку и по текущей колонке.
|
||
- Номенклатура заполняется из `ТоварыНаСкладах` (при отсутствии остатка — из `ДвиженияСерийТоваров`).
|
||
- Кнопка **Сформировать предложения** — отдельная генерация предложенных номера/срока/наименования из наименования серии.
|
||
- Разбор срока: не только шаблон «до …», но и дата в тексте (`dd.MM.yy`, `MM.yyyy`).
|
||
|
||
## 1.3.1.77 (2026-08-17)
|
||
|
||
### Исправление
|
||
|
||
- Остатки по сериям: `ДвиженияСерийТоваров` — оборотный регистр (нет `.Остатки`); используется `ТоварыНаСкладах.Остатки` (`ВНаличииОстаток`).
|
||
|
||
## 1.3.1.76 (2026-08-17)
|
||
|
||
### Исправление
|
||
|
||
- `ПроблемныеСерии`: реквизит `НомерСтроки` переименован в `ПорядковыйНомер` (имя `НомерСтроки` зарезервировано платформой для ТЧ).
|
||
|
||
## 1.3.1.75 (2026-08-17)
|
||
|
||
### РК_ПроверкаСерий — вкладка «Заполнение реквизитов»
|
||
|
||
- ТЧ `ПроблемныеСерии`: колонки **№** (`ПорядковыйНомер`) и **Остаток** (`ТоварыНаСкладах.Остатки`).
|
||
- Команда **Заполнить по предложениям** — перенос предложенных значений в колонки таблицы для отмеченных строк (без записи в ИБ).
|
||
- **Исправить отмеченные** — запись из колонок таблицы (или предложений, если колонки пусты).
|
||
|
||
## 1.3.1.74 (2026-08-17)
|
||
|
||
### РК_ПроверкаСерий — парсинг наименования из выборки
|
||
|
||
- Исправлена ошибка «Поле объекта недоступно для записи (Наименование)» при «Найти проблемы»: параметры функций парсинга не перезаписываются.
|
||
|
||
## 1.3.1.73 (2026-08-17)
|
||
|
||
### РК_ПроверкаСерий — исправление поиска проблем
|
||
|
||
- Запрос: убрано несуществующее поле `Сер.Владелец` (в crm3-26 серии не подчинены номенклатуре).
|
||
- Поле формы **Последняя ошибка** — полный текст ошибки для копирования; дублируется в окно сообщений.
|
||
|
||
## 1.3.1.72 (2026-08-17)
|
||
|
||
### Исправление
|
||
|
||
- `РК_ПроверкаСерий.xml`: опечатка `<<FillValue` → `<FillValue` (ошибка загрузки расширения).
|
||
|
||
## 1.3.1.71 (2026-08-17)
|
||
|
||
### РК_ПроверкаСерий — объединение дублей с учётом остатков (#15)
|
||
|
||
- Вкладка **Объединение дублей**: поиск групп (вид + номер + срок + дата производства).
|
||
- Остатки из `ТоварыНаСкладах.Остатки` (сумма `ВНаличии` по серии); предупреждение при остатках у нескольких серий или у дублей.
|
||
- Группы без остатков отмечаются автоматически; с остатками — только вручную + подтверждение перед записью.
|
||
- Режим тест; объединение через `ОбщегоНазначения.ЗаменитьСсылки`.
|
||
|
||
## 1.3.1.70 (2026-08-17)
|
||
|
||
### РК_ПроверкаСерий — проверка и исправление серий (#14)
|
||
|
||
- Обработка **Проверка серий**: форма поиска проблем в `СерииНоменклатуры`.
|
||
- Учитываются настройки вида (`ИспользоватьНомерСерии`, `ИспользоватьСрокГодностиСерии`).
|
||
- Предложения: номер и срок из наименования; наименование «до dd.MM.yy» для серий без номера.
|
||
- Режим тест (без записи), исправление отмеченных строк.
|
||
|
||
## 1.3.1.69 (2026-08-17)
|
||
|
||
### РК_ЗагрузкаОстатков — исправление кнопки «Заполнить справочники отбора» (#12)
|
||
|
||
- Устранён конфликт id формы (`1547`/`1548`) с полем комиссионных товаров — команда не срабатывала.
|
||
- После успешного заполнения показывается оповещение с количеством групп, складов и организаций.
|
||
|
||
## 1.3.1.68 (2026-08-17)
|
||
|
||
### РК_ЗагрузкаОстатков — сохраняемые данные формы (#13)
|
||
|
||
- Сохранение в настройках: подключение, даты, организация, дерево групп номенклатуры.
|
||
- После восстановления настроек дерево синхронизируется в ТЧ `ОтборГруппНоменклатур`.
|
||
|
||
## 1.3.1.67 (2026-08-17)
|
||
|
||
### РК_ЗагрузкаОстатков — общая команда справочников отбора (#12)
|
||
|
||
- Команда **Заполнить справочники отбора** на вкладке «Отбор»: группы номенклатуры,
|
||
склады и организации загружаются одним действием.
|
||
- Удалены отдельные команды `ЗаполнитьГруппыНоменклатур`, `ЗаполнитьСклады`,
|
||
`ЗаполнитьОрганизации`.
|
||
|
||
## 1.3.1.66 (2026-08-14)
|
||
|
||
### РК_ЗагрузкаОстатков — дерево групп и отбор (#7)
|
||
|
||
- Таблица групп номенклатуры — `Representation=Tree` с вложенностью из `parent_guid`.
|
||
- Колонки **Отметка** и **Рекурсивно** (булево, по умолчанию Ложь).
|
||
- При загрузке остатков отмеченные группы уходят в `nomenclature_groups` /
|
||
`nomenclature_groups_recursive` (нужен **ws-rhana ≥ 0.0.0.42**).
|
||
|
||
## 1.3.1.65 (2026-08-14)
|
||
|
||
### РК_ЗагрузкаОстатков — исправление XML формы
|
||
|
||
- Восстановлен `Form.xml`: сломанный `ChildItems` таблицы комиссионных товаров (ошибка загрузки расширения).
|
||
|
||
## 1.3.1.64 (2026-08-14)
|
||
|
||
### РК_ЗагрузкаОстатков — TODO формы (#3–#7, #9)
|
||
|
||
- Отборы складов и организаций — ТЧ объекта, не реквизиты формы.
|
||
- `ра_ВидНоменклатурыCRM326` при загрузке остатков (нужен **ws-rhana ≥ 0.0.0.40**).
|
||
- Заполнение групп номенклатуры через `POST /v1/stock/nomenclature-groups`.
|
||
- Колонки комиссии сгруппированы как у собственных товаров.
|
||
|
||
## 1.3.1.63 (2026-08-13)
|
||
|
||
### РК_ЗагрузкаОстатков — серии и ГТД комиссии как в волне 1
|
||
|
||
- Комиссия: серии снова заполняются и сопоставляются (в т.ч. ТЧ Серии документа).
|
||
- ГТД комиссии не отключались — из `ТоварыПереданныеНаКомиссию`.
|
||
- Нужен **ws-rhana ≥ 0.0.0.39** (FIFO серий из передач на комиссию).
|
||
|
||
## 1.3.1.62 (2026-08-13)
|
||
|
||
### РК_ЗагрузкаОстатков — два количества, себестоимость rh_, комиссия без серий
|
||
|
||
- Столбцы **Кол. склад** и **Кол. финансовое** больше не смешиваются в одно количество.
|
||
- Себестоимость только у финансового контура (`rh_ТоварыНаСкладахСебестоимость` на исходной стороне).
|
||
- В документ ввода: количество — финансовое (если 0 — складское); сумма/цена из rh_; валюта упр. (USD), как волна 1.
|
||
- Комиссия 2.5: серии не заполняются и не сопоставляются.
|
||
- Нужен **ws-rhana ≥ 0.0.0.38** на исходной ИБ.
|
||
|
||
## 1.3.1.61 (2026-08-13)
|
||
|
||
### РК_ЗагрузкаОстатков — вид, стоимость, политика, ГТД/серии
|
||
|
||
- Вид номенклатуры из исходной ИБ в обеих входящих ТЧ (`kind_*`, не из policy).
|
||
- Стоимость упр./регл. и валюта в собственных и комиссионных строках.
|
||
- ТЧ **Политика учета номенклатуры** заполняется отдельным `POST /v1/stock/nomenclature-policy`.
|
||
- ГТД берётся из кода / регистрационного номера; количество — `qty_org`, если складское 0.
|
||
- Комиссия: колонки назначения и вида запасов (почему не схлопываются «+»/«−»).
|
||
- Нужен **ws-rhana ≥ 0.0.0.37** на исходной ИБ.
|
||
|
||
## 1.3.1.60 (2026-08-13)
|
||
|
||
### РК_ЗагрузкаОстатков — вкладка созданных документов
|
||
|
||
- ТЧ `СозданныеДокументы` и страница **«Документы ввода»**: ссылка, вид (собственные / комиссия 2.5),
|
||
склад / соглашение / партнёр, число строк и количество, комментарий, признак теста.
|
||
- Заполняется на 3-м этапе (в т.ч. в режиме теста без записи); после создания форма переключается на эту вкладку.
|
||
|
||
---
|
||
|
||
## 1.3.1.59 (2026-08-13)
|
||
|
||
### РК_ЗагрузкаОстатков — комиссия 2.5 и серии без лишних заглушек
|
||
|
||
- ТЧ `ВходящиеСобственныеТовары` (бывш. `ВходящиеДанные`) и `ВходящиеКомиссионныеТовары`.
|
||
- Загрузка: `mode=combined` + `mode=commission` (только переданные на комиссию 2.5).
|
||
- Сопоставление: серии создаются **только если не найдены** в целевой ИБ.
|
||
Заглушки `Перенос_*` — только при флаге **«Создавать заглушки серий»**.
|
||
- Документы: собственные (по складу) и `ВводОстатковТоваровПереданныхНаКомиссию2_5`
|
||
(по соглашению + партнёру, без склада). Количество, без себестоимости.
|
||
- Нужен **ws-rhana ≥ 0.0.0.36** на исходной ИБ.
|
||
|
||
---
|
||
|
||
## 1.3.1.58 (2026-08-12)
|
||
|
||
### РК_ЗагрузкаОстатков — отборы и заполнение входящих данных
|
||
|
||
- Команда **«Заполнить входящие данные»** (`ЗагрузитьОстатки`): остатки из выбранного
|
||
подключения в ТЧ `ВходящиеДанные` (фильтр по отмеченным складам и/или организациям).
|
||
- Отметки складов/организаций: команды панели и контекстного меню.
|
||
- **«Заполнить организации»** через `POST /v1/stock/organizations` (`РК_ОбменСВнешнейБазой`).
|
||
- Смена подключения: вопрос и очистка отборов + входящих данных.
|
||
|
||
---
|
||
|
||
## 1.3.1.57 (2026-08-12)
|
||
|
||
### РК_ЗагрузкаОстатков — понятная ошибка при Активно = Ложь
|
||
|
||
- Текст исключения в `РК_ОбменСВнешнейБазой.НастройкиПодключения`: что включить «Активно» и что проверка health работает без флажка.
|
||
- Команды формы (подбор складов, загрузка, сопоставление, создание документов) показывают предупреждение вместо стека исключения.
|
||
|
||
---
|
||
|
||
## 1.3.1.56 (2026-08-12)
|
||
|
||
### РК_ЗагрузкаОстатков — создание документов ввода остатков
|
||
|
||
- Реквизиты: `Организация`, `ПерезаписатьДокументы`.
|
||
- ТЧ: `ДокументВвода`, `ЗагруженоВДокумент`.
|
||
- Команда «Создать документы»: `ВводОстатковТоваров` (1 документ на склад, операция «собственные товары»),
|
||
только количество (без себестоимости — данных в API пока нет).
|
||
- Тег комментария: `РК_ПереносОстатков yyyyMMdd`; опционально удаление непроведённых документов волны.
|
||
|
||
---
|
||
|
||
## 1.3.1.55 (2026-08-11)
|
||
|
||
### Добавлено
|
||
|
||
- `РК_ФормаНастроекРана`: при открытии и смене `РК_РабочееПодключениеЧерезАПИ`
|
||
проверка через `СоединениеАктивно` — показ/скрытие `ДекорацияПодключениеНеСработает`.
|
||
|
||
---
|
||
|
||
## 1.3.1.54 (2026-08-11)
|
||
|
||
### Исправлено
|
||
|
||
- `РК_ОбменСВнешнейБазой`: заголовок `IBSession: start` при вызовах Transfer API —
|
||
иначе публикация с повторным использованием сеансов отвечает HTTP 400
|
||
(«Не указан заголовок управления сеансами…»).
|
||
- Краткий текст ошибки HTTP (из `<descr>` XML-ответа платформы) для формы проверки.
|
||
|
||
---
|
||
|
||
## 1.3.1.53 (2026-08-11)
|
||
|
||
### Исправлено
|
||
|
||
- Заимствован `CommonModule.ОбщегоНазначения` (Adopted, без доработки модуля) —
|
||
компилятор расширения видит только объекты расширения и заимствованные объекты хоста.
|
||
- В менеджере `РК_НастройкиПодключенияКВнешнейБазе` и `РК_ОбменСВнешнейБазой` снова
|
||
`ОбщегоНазначения.ЗначенияРеквизитовОбъекта` (как в `РК_ЗагрузкаОстатков` / `crm3-dev.rhana`).
|
||
|
||
---
|
||
|
||
## 1.3.1.52 (2026-08-11)
|
||
|
||
### Исправлено
|
||
|
||
- Модуль менеджера `РК_НастройкиПодключенияКВнешнейБазе` и `РК_ОбменСВнешнейБазой`:
|
||
убраны вызовы `ОбщегоНазначения.ЗначенияРеквизитовОбъекта` (модуль не заимствован в расширении) —
|
||
чтение реквизитов через ссылку/объект справочника.
|
||
|
||
---
|
||
|
||
## 1.3.1.51 (2026-08-11)
|
||
|
||
### РК_НастройкиПодключенияКВнешнейБазе
|
||
|
||
- Проверка соединения вынесена в модуль менеджера: `ПроверитьСоединение(Источник)`.
|
||
- Источник: ссылка, объект справочника или структура полей формы (без проверки «Активно»).
|
||
- Возврат: `Успех`, `Текст`, `Ответ`, `Ошибка` — для UI и вызова из кода.
|
||
- `СоединениеАктивно(Ссылка)` — «Активно» + совпадение `ИмяТекущейБазы` с текущей ИБ.
|
||
- `ИмяТекущейИнформационнойБазы()` — общее API менеджера.
|
||
|
||
---
|
||
|
||
## 1.3.1.50 (2026-08-11)
|
||
|
||
### РК_НастройкиПодключенияКВнешнейБазе
|
||
|
||
- Форма элемента: «Обновить имя текущей базы» — из `Ref=` / `File=` строки соединения.
|
||
- Форма элемента: «Проверить» — `GET /v1/health` по полям формы (без записи, без проверки «Активно»).
|
||
- `РК_ОбменСВнешнейБазой`: `ПроверитьСоединение`, `ВыполнитьGET`; токен передаётся в `X-Transfer-Token` (совместимо с Basic Auth).
|
||
|
||
---
|
||
|
||
## 1.3.1.49 (2026-08-10)
|
||
|
||
### Обработка РК_ЗагрузкаОстатков — подбор складов и предварительные остатки
|
||
|
||
- Общий модуль `РК_ОбменСВнешнейБазой`: HTTP-клиент Transfer API по `РК_НастройкиПодключенияКВнешнейБазе`.
|
||
- Подбор складов исходной ИБ (`POST /v1/stock/warehouses`) в отбор на форме.
|
||
- Загрузка остатков (`POST /v1/stock/balances`, mode=`combined`) в ТЧ `ВходящиеДанные` с детализацией (кол-во, артикул, код, характеристика, серия/ГТД GUID, вид, политика, организация).
|
||
- Шаг «Сопоставить»: поиск НСИ + создание серий-заглушек `Перенос_<склад>_<дата>` по логике BSL-переноса остатков (тест / запись).
|
||
- Создание документов ввода остатков — следующий шаг (пока не реализовано).
|
||
|
||
Пара: `ws-rhana` 0.0.0.30 (endpoint складов + `nomenclature_article`).
|
||
|
||
---
|
||
|
||
## 1.3.0.47 (2026-07-30)
|
||
|
||
### Обмен — приём СФ выданного без полей аванса в ТЧ
|
||
|
||
Модуль: `ОбменДаннымиXDTOСервер` (`&ИзменениеИКонтроль` `КонвертацияСвойстваСтруктурыОбъектаXDTO`).
|
||
|
||
Пакет из **crm3-dev** в `ПлатежноРасчетныеДокументы` передаёт только `ДатаДокумента` / `НомерДокумента`. Целевое ПКО также ждёт поля аванса (`ДатаИсправленияСчетаФактурыНаАванс` и др.). Типовой код при отсутствии свойства писал в `ПриемникДанных.ДополнительныеСвойства`, но у строки ТЧ этого поля нет → ошибка конвертации.
|
||
|
||
Исправление: фиксировать `СвойстваОтсутствующиеВПолученныхДанных` только если у приёмника есть `ДополнительныеСвойства`.
|
||
|
||
---
|
||
|
||
## 1.3.0.46 (2026-07-30)
|
||
|
||
### Обмен — приоритетный ВидНоменклатуры из ра_ВидНоменклатурыCRM326
|
||
|
||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||
|
||
При получении номенклатуры из **Рабочая CRM3**: если в пакете есть `AdditionalInfo.РК_ВидНоменклатурыCRM326`, `ВидНоменклатуры` сопоставляется по наименованию в целевой ИБ (перебивает защиту учётных реквизитов). Если значение не передано — действует прежний механизм обмена.
|
||
|
||
Пара с `crm3-dev.rhana` 1.0.1.342.
|
||
|
||
---
|
||
|
||
## 1.3.0.45 (2026-07-21)
|
||
|
||
### Обмен — ВидЦены строк из AdditionalInfo (Д1.3 / issue #10)
|
||
|
||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||
|
||
Заменяет дозаполнение из соглашения (1.3.0.44): передаём фактические виды цен из исходной ИБ.
|
||
|
||
- На отправке (`crm3-dev.rhana` 1.0.1.338): `AdditionalInfo.РК_ВидыЦенСтрок`.
|
||
- На приёме: сохранить карту при `*_ПриКонвертацииДанныхXDTO`; применить в `ОтложеннаяОбработка_*` по `ИндексВТЧ` (запасной ключ — `НомерСтроки`).
|
||
- Пустой вид цены в источнике остаётся пустым; цена/сумма не пересчитываются.
|
||
- Только узел **«Рабочая CRM3»**.
|
||
|
||
Refs: https://git.p7net.ru/rhana/crm3-migration/-/issues/10
|
||
|
||
---
|
||
|
||
## 1.3.0.44 (2026-07-21)
|
||
|
||
### Обмен — дозаполнение ВидЦены в строках ТЧ (Д1.3, вариант B)
|
||
|
||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||
|
||
ED 1.8 не передаёт `ВидЦены` / `ВидЦеныПоставщика` в строках табличных частей (XDTO-схема не меняется).
|
||
|
||
- `&После("ВыполнитьПроцедуруМодуляМенеджера")` — `РК_ВыполнитьПроцедуруМодуляМенеджера_ДозаполнитьВидЦены` для всех процедур `ОтложеннаяОбработка_*`.
|
||
- Универсально обходит все ТЧ документа; для пустых `ВидЦены` — `ЦеныПредприятияЗаполнениеСервер.ЗаполнитьЦены(ПоляЗаполнения = "ВидЦены")`; для `ВидЦеныПоставщика` — `ЦеныПартнеровЗаполнениеСервер` с тем же ограничением полей.
|
||
- Цена и сумма строк **не пересчитываются** (в отличие от `ЗаполнитьУсловияПродажПоСоглашению(Истина)`).
|
||
- Только для узла **«Рабочая CRM3»** (`РК_ЭтоОбменС_Crm3Dev`).
|
||
|
||
---
|
||
|
||
## 1.3.0.43 (2026-07-21)
|
||
|
||
### Серии номенклатуры — подбор по владельцу вида и сроку
|
||
|
||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||
|
||
- Для ПКО `Справочник_СерииНоменклатуры` добавлен подбор существующей серии с учетом
|
||
владельца серий вида номенклатуры в целевой ИБ:
|
||
- `ВладелецВида + Номер + ГоденДо`,
|
||
- `ВладелецВида + Номер`,
|
||
- при пустом номере: `ВладелецВида + ГоденДо`.
|
||
- Поиск теперь опирается на маппинг видов номенклатуры на target (через
|
||
`РК_ВладелецСерийДляВидаНоменклатуры`), что снимает конфликт, когда вид в source и target различается.
|
||
- При найденной серии с другим GUID создается предупреждение и запись из пакета пропускается
|
||
(без создания дубликата).
|
||
|
||
---
|
||
|
||
## 1.3.0.42 (2026-07-15)
|
||
|
||
### Обмен — этапы графика оплаты ЗаказКлиента (Д1.2)
|
||
|
||
База: **1.3.0.41** (ws-rhana + объекты расчётов 1.3.0.40).
|
||
|
||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||
|
||
- `&После("ОтложеннаяОбработка_ЗаказыПоставщикуКлиента")` — `РК_ОтложеннаяОбработка_ЗаказыПоставщикуКлиента_ЭтапыОплаты`.
|
||
- При «бедных» этапах из XDTO (пустые `ДатаПлатежа` / `ВариантОтсчета`) ТЧ очищается и перезаполняется типовым `ЭтапыОплатыСервер.ПроверитьЗаполнитьЭтапыГрафикаОплаты` по соглашению / графику оплаты / договору.
|
||
- При пустых реквизитах шапки из соглашения подставляются `ГрафикОплаты`, `ФормаОплаты`.
|
||
- Только для узла **«Рабочая CRM3»** (`РК_ЭтоОбменС_Crm3Dev`).
|
||
|
||
Данные уже загруженных заказов: `docs/transfer/Код_дозаполнения_этапов_оплаты_заказов_crm3-26.bsl` (монорепозиторий).
|
||
|
||
---
|
||
|
||
## 1.3.0.41 (2026-07-09)
|
||
|
||
### HTTP Transfer API перенесён в ws-rhana
|
||
|
||
Удалены объекты `РК_TransferAPI` и связанные модули/константы/роль.
|
||
Read-only HTTP API — в универсальном расширении [`ws-rhana`](https://git.p7net.ru/1c/ws-rhana.git) (`РВС_TransferAPI`).
|
||
|
||
---
|
||
|
||
## 1.3.0.40 (2026-07-08)
|
||
|
||
### Обмен — объекты расчётов по договорам
|
||
|
||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||
|
||
В UT 11.5 `ОбъектыРасчетов` — отдельный справочник; в XDTO 1.8 не передаётся. Типовой `ВзаиморасчетыСервер.ПередЗаписью` при обмене crm3-dev → crm3-26 может не создать ОР (пустой партнёр на договоре, сбой `СоздатьПоКлючу`).
|
||
|
||
| Процедура/функция | Назначение |
|
||
|-------------------|------------|
|
||
| `РК_ПартнерКонтрагентДляДоговора` | партнёр/контрагент из договора, подсказок заказа или последнего заказа |
|
||
| `РК_ОбеспечитьОбъектРасчетовПоДоговору` | создание ОР через `СоздатьЭлемент`, если не найден |
|
||
| `РК_ПКО_ДоговорыКонтрагентов_ДозаполнитьПартнера` | `&После` ПКО договора — дозаполнение партнёра из контрагента |
|
||
| `РК_ОтложеннаяОбработка_ДосоздатьОбъектыРасчетов` | `&После` типовой отложенной обработки — досоздание ОР по договорам из пакета |
|
||
|
||
Применяется только к узлу «Рабочая CRM3» (`РК_ЭтоОбменС_Crm3Dev`).
|
||
|
||
---
|
||
|
||
## 1.3.0.39 (2026-07-06)
|
||
|
||
### Контрагенты — уникальность ИНН/КПП
|
||
|
||
Модуль: `ПартнерыИКонтрагентыЛокализация` (заимствован).
|
||
|
||
В целевой конфигурации (crm3-26) проверка уникальности ИНН/КПП реализована в модуле локализации, а не в `ПартнерыИКонтрагенты` (как в crm3-dev). Функция возвращает структуру `НайденныеСовпадения` / `ДоступноСоздание` и учитывает `ЮрФизЛицо` (различение ИП и физлица).
|
||
|
||
| Процедура/функция | Изменение |
|
||
|-------------------|-----------|
|
||
| `ИННКППУжеИспользуетсяВИнформационнойБазе` | при поиске дублей исключаются контрагенты с `ПометкаУдаления = Истина` |
|
||
| `ПроверитьКорректностьЗаполненияКонтрагента` | для записываемого контрагента с `ПометкаУдаления` проверка уникальности ИНН/КПП **не выполняется** |
|
||
|
||
**Поведение** — аналогично `crm3-dev.rhana` v1.0.1.333:
|
||
|
||
- обычная запись — уникальность среди непомеченных на удаление;
|
||
- запись с пометкой удаления — проверка уникальности ИНН/КПП пропускается;
|
||
- дубль только у помеченного контрагента не блокирует активную карточку.
|
||
|
||
**Примечание:** отдельная CRM-функция `CRM_КлиентыСервер.ИННКППУжеИспользуетсяВИнформационнойБазе` (поиск по `Партнеры.CRM_ИНН`) не затронута — она относится к сценариям CRM, не к типовой записи справочника `Контрагенты`.
|
||
|
||
---
|
||
|
||
## 1.3.0.38 (2026-07-06)
|
||
|
||
### Обмен — фильтр узла «Рабочая CRM3»
|
||
|
||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||
|
||
| Функция | Назначение |
|
||
|---------|------------|
|
||
| `РК_УзелCrm3Dev_GUID()` | GUID узла исходной ИБ в целевой (`97cd20ee-bb06-11f0-8dac-0cc47a7d055f`) |
|
||
| `РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена)` | Истина только для обмена crm3-dev ↔ crm3-26 |
|
||
|
||
**Поведение:** доработки получения (защита учёта номенклатуры, пропуск обновления видов и складов, нормализация серий) применяются **только** к узлу **«Рабочая CRM3»**. Обмен с **Бухгалтерией** не затрагивается.
|
||
|
||
---
|
||
|
||
## 1.3.0.37 (2026-07-06)
|
||
|
||
### Обмен crm3-dev → crm3-26 — приём данных
|
||
|
||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||
|
||
#### Номенклатура
|
||
|
||
| Обработчик | Изменение |
|
||
|------------|-----------|
|
||
| `&Перед` / `&После` `ПКО_Справочник_Номенклатура_Получение_ПередЗаписьюПолученныхДанных` | для существующей номенклатуры — снимок и восстановление учётных реквизитов целевой ИБ; для новой — заполнение по виду целевой ИБ |
|
||
| `&После` `ОтложеннаяОбработка_ЗаполнитьНоменклатуру` | повторное восстановление учёта после типовой отложенной обработки |
|
||
|
||
Защищаемые реквизиты: `ВидНоменклатуры`, `ОсобенностьУчета`, `ТипНоменклатуры`, `ИспользованиеХарактеристик`, `ВладелецСерий`, `ВладелецХарактеристик`, `ГруппаФинансовогоУчета`, `СкладскаяГруппа`.
|
||
|
||
#### Виды номенклатуры и склады
|
||
|
||
| Обработчик | Изменение |
|
||
|------------|-----------|
|
||
| `&ИзменениеИКонтроль` `ПКО_Справочник_ВидыНоменклатуры_ПередЗаписьюПолученныхДанных` | существующие виды не обновляются (сопоставление по GUID сохраняется) |
|
||
| `&ИзменениеИКонтроль` `ПКО_Справочник_Склады_Получение_ПередЗаписьюПолученныхДанных` | существующие склады не перезаписываются |
|
||
|
||
#### Серии номенклатуры
|
||
|
||
| Обработчик | Изменение |
|
||
|------------|-----------|
|
||
| `&После` `ДобавитьПКО_Справочник_СерииНоменклатуры` | подключение `РК_ПКО_Справочник_СерииНоменклатуры_ПередЗаписьюПолученныхДанных` |
|
||
| `РК_ПКО_Справочник_СерииНоменклатуры_ПередЗаписьюПолученныхДанных` | нормализация владельца серии по настройкам вида в целевой ИБ; пропуск при конфликте |
|
||
|
||
#### Ставки НДС 22%
|
||
|
||
| Обработчик | Изменение |
|
||
|------------|-----------|
|
||
| `&После` `ЗаполнитьПравилаКонвертацииПредопределенныхДанных` | ПКПД `Перечисление_СтавкиНДС`: значения `НДС22`, `НДС22_122` |
|
||
|
||
**Контекст:** политика защиты учётных настроек целевой ИБ при синхронизации с crm3-dev. Подробнее: `docs/transfer/Анализ_синхронизации_crm3-dev_crm3-26.md` в монорепозитории crm3-26.
|
||
|
||
---
|
||
|
||
## 1.3.0.36 (2026-07-01)
|
||
|
||
### Синхронизация — первичная защита учёта при получении
|
||
|
||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||
|
||
- Сохранение учётных реквизитов номенклатуры целевой ИБ при обновлении из crm3-dev.
|
||
- Существующие склады не перезаписываются данными из пакета обмена.
|
||
|
||
*Доработка развита в 1.3.0.37 (виды, серии, отложенная обработка, НДС22) и ограничена узлом CRM3 в 1.3.0.38.*
|
||
|
||
---
|
||
|
||
## Связанные объекты расширения (обмен)
|
||
|
||
| Модуль | Роль |
|
||
|--------|------|
|
||
| `МенеджерОбменаЧерезУниверсальныйФормат` | защита учёта при получении, фильтр узла, ПКПД НДС22 |
|