1294d42613
Штатная колонка при статусе «серия указывается отдельно» не показывает серию, а строка товаров ей соответствует. Co-authored-by: Cursor <cursoragent@cursor.com>
885 lines
67 KiB
Markdown
885 lines
67 KiB
Markdown
# История изменений crm3-26.rhana
|
||
|
||
Формат версии: `1.3.0.NNN` / `1.3.1.NNN` (синхронизируется с `VERSION` и `Configuration.xml`).
|
||
|
||
---
|
||
|
||
## 1.3.1.134 (2026-10-13)
|
||
|
||
### Ввод остатков: серия строки в таблице товаров
|
||
|
||
- В табличной части «Товары» реквизит `РК_СерияСтроки`. На страницах собственных товаров и комиссии 2.5 колонка «Серия строки» стоит рядом со штатной «Серия».
|
||
- Загрузчик заполняет её серией этой строки. Штатная колонка при статусе «серия указывается отдельно» по-прежнему показывает заглушку и в проведение не берётся из нового реквизита.
|
||
|
||
## 1.3.1.133 (2026-10-13)
|
||
|
||
### #36: окно серий сворачивается суммой перед записью ввода остатков
|
||
|
||
- Проведение склада для статусов серий 4, 6, 8 и 10 берёт максимум количества, а не сумму повторов одной серии.
|
||
- Перед записью КБ строки окна серий с одной номенклатурой, характеристикой, назначением, серией и упаковкой складываются.
|
||
- [#81](https://git.p7net.ru/rhana/crm3-migration/issues/81): строки товаров с одной номенклатурой, характеристикой, серией и ГТД суммируются, в том числе с заполненной характеристикой. Разный ГТД остаётся разными строками.
|
||
- Загрузка остатков не создаёт элементы номеров ГТД. Если у найденной карточки пуст код, в него пишется номер из остатка. Пустая страна заполняется по коду страны из исходной базы.
|
||
|
||
## 1.3.1.132 (2026-10-13)
|
||
|
||
### #79: сумма без НДС при выключенном «Цена включает НДС»
|
||
|
||
- Себестоимость комиссии в исходной базе на 01.09.2026 не включает НДС, шапка КБ остаётся с ЦенаВключаетНДС = Ложь.
|
||
- После расчёта НДС сумма без НДС равна сумме строки, как на форме документа. Раньше из суммы вычитался НДС, и в себестоимость упр. уходила заниженная сумма.
|
||
|
||
## 1.3.1.131 (2026-10-13)
|
||
|
||
### #78: повторный выбор номенклатуры не пересчитывает сумму регл.
|
||
|
||
- При включённом признаке смена номенклатуры в строке оставляет сумму регл. и НДС регл. как были до выбора. Сумма в валюте документа пересчитывается штатно.
|
||
|
||
## 1.3.1.130 (2026-10-13)
|
||
|
||
### #78: признак суммы регл. на форме комиссии 2.5
|
||
|
||
- На странице «Переданные на комиссию товары 2.5» формы ввода остатков, рядом с «Цена включает НДС», выведен тот же реквизит, что на собственных товарах.
|
||
- В модуль формы возвращён пересчёт: при включённом признаке смена количества берёт курс строки, смена даты сумму регл. и НДС регл. не меняет. Текст контроля совпадает с процедурами основной конфигурации.
|
||
|
||
## 1.3.1.129 (2026-10-12)
|
||
|
||
### Форма ввода остатков собственных товаров
|
||
|
||
- Наследование формы `ФормаТовары` документа «Ввод остатков товаров» исправлено в конфигураторе.
|
||
- Реквизит «Не пересчитывать сумму регл. по курсу даты» выведен для ввода остатков собственных товаров.
|
||
- Модуль формы расширения в эту выгрузку не вошёл. Пересчёт количества и даты по признаку и вывод на страницу комиссии 2.5 — [#78](https://git.p7net.ru/rhana/crm3-migration/issues/78), 13.10.
|
||
|
||
## 1.3.1.128 (2026-10-12)
|
||
|
||
### #76: партия ввода остатков
|
||
|
||
- Перед записью КБ загрузчик находит или создаёт один документ «Первичный документ» типа «Внутренняя накладная» на организацию и дату ввода, записывает и проводит его без режима загрузки.
|
||
- Ссылка ставится в шапку собственных документов и комиссии 2.5.
|
||
|
||
### #77: сумма регл. не по курсу даты
|
||
|
||
- У документа «Ввод остатков товаров» в расширении реквизит «Не пересчитывать сумму регл. по курсу даты». По умолчанию выключен, выведен в шапку формы.
|
||
- При включённом признаке смена количества берёт курс строки (сумма регл. / сумма без НДС), а если его нет — курс даты документа. Смена даты сумму регл. и НДС регл. не меняет.
|
||
- Загрузчик включает признак у создаваемых КБ. Принадлежность реквизита в выгрузке — Native.
|
||
|
||
## 1.3.1.127 (2026-10-12)
|
||
|
||
### #36: серии ввода остатков без идентификатора строки
|
||
|
||
- В `ВводОстатковТоваров` табличная часть «Серии» не имеет `ИдентификаторСтроки`. Связь со строкой товаров — номенклатура, характеристика и назначение. Запись идентификатора роняла создание всех 12 документов.
|
||
- Предупреждение формы при ошибке заполнения больше не говорит, что нет сопоставленных строк.
|
||
|
||
## 1.3.1.126 (2026-10-09)
|
||
|
||
### #36: серии ввода остатков
|
||
|
||
- Тип «учёт себестоимости по сериям» (лаеннек) — серия в колонке строки.
|
||
- Тип «управление остатками серий» — колонка пустая, количество в табличной части «Серии» с тем же идентификатором строки.
|
||
- Строки без характеристики с одной серией и одним ГТД сворачиваются.
|
||
|
||
## 1.3.1.125 (2026-10-07)
|
||
|
||
### #68: явный отказ партнёр-веток вне узла crm3-dev
|
||
|
||
В `РК_УстановитьПартнераДоговораПоКодуСтаройБазы` — выход, если узел не «Рабочая CRM3» (обмен с БП и др.).
|
||
|
||
## 1.3.1.124 (2026-10-07)
|
||
|
||
### ED договоры: партнёр по РК_КодСтаройБазы ([#68](https://git.p7net.ru/rhana/crm3-migration/issues/68))
|
||
|
||
- Код партнёра из `AdditionalInfo` при получении договора (общий хук `ПриКонвертацииДанныхXDTO`).
|
||
- Перед записью и после `ОтложеннаяОбработка_ДоговорыКонтрагентов`: установка `Партнер` по `РК_КодСтаройБазы` (+ Transfer API fallback, как #67).
|
||
- Только узел crm3-dev ↔ crm3-26 (`РК_ЭтоОбменС_Crm3Dev`); Бухгалтерия не затрагивается.
|
||
|
||
## 1.3.1.123 (2026-10-07)
|
||
|
||
### Fix: журнал при fallback партнёра ED ([#67](https://git.p7net.ru/rhana/crm3-migration/issues/67) comment-1632)
|
||
|
||
- `ЗаписатьОшибкуВЖурналРегистрации` больше не вызывается с `Неопределено` (падение `.Метаданные` при create отсутствующего партнёра).
|
||
- В предупреждение попадают meta/results `partners/load`; `update_existing=true` чтобы дописать `РК_КодСтаройБазы` при match по имени.
|
||
|
||
## 1.3.1.122 (2026-10-07)
|
||
|
||
### ED: fallback партнёра через Transfer API ([#67](https://git.p7net.ru/rhana/crm3-migration/issues/67))
|
||
|
||
- Если партнёр не найден по `РК_КодСтаройБазы`: `partners/export` на исходной ИБ через константу `РК_РабочееПодключениеЧерезАПИ` (как в `РК_ЗагрузкаОстатков`), затем `РВС_TransferAPIПартнеры.ВыполнитьЗагрузку` в целевой (без create контрагентов).
|
||
- `РК_ОбменСВнешнейБазой.ПартнерыВнешнейБазы` — обёртка `POST /v1/partners/export`.
|
||
- Кеш загруженных партнёров по коду в рамках сессии обмена.
|
||
|
||
## 1.3.1.121 (2026-10-07)
|
||
|
||
### Обмен ED crm3-dev → crm3-26: партнёр контрагента без дублей ([#67](https://git.p7net.ru/rhana/crm3-migration/issues/67))
|
||
|
||
- При получении контрагента: код партнёра исходной ИБ из `AdditionalInfo.РК_КодСтаройБазы` (кеш сессии обмена).
|
||
- `&Перед` `ОтложеннаяОбработка_Контрагенты`: поиск партнёра по доп. реквизиту `РК_КодСтаройБазы`, подстановка ссылки до типового создания.
|
||
- `&После`: запись `РК_КодСтаройБазы` на партнёре, созданном обменом (только если пусто).
|
||
|
||
## 1.3.1.120 (2026-09-04)
|
||
|
||
### РК_ЗагрузкаОстатков — ДатаСрокаГодностиПоУмолчанию (#46)
|
||
|
||
- Сохраняемый реквизит `ДатаСрокаГодностиПоУмолчанию` + поле на вкладке Настройки.
|
||
- Fallback `ГоденДо` при создании серии без `series_expire` / даты в имени — из реквизита, **не** из даты среза.
|
||
- Пустой реквизит: заглушка `Перенос_*` не создаётся (комментарий сопоставления).
|
||
- `ДатаПроизводства` по-прежнему = дата среза остатков.
|
||
|
||
## 1.3.1.119 (2026-09-04)
|
||
|
||
### РК_ЗагрузкаОстатков — порядок команд + версия на форме (#40)
|
||
|
||
- Кнопка «Свернуть комиссионные остатки» в командной панели перед «Сопоставить» (порядок: загрузить → свернуть → сопоставить → создать).
|
||
- Служебная строка с именем/версией расширения `crm326RHANA` под шапкой формы.
|
||
|
||
## 1.3.1.118 (2026-09-04)
|
||
|
||
### РК_ЗагрузкаОстатков — fix create-лога + автоотбор (#40)
|
||
|
||
- Fix: не вызывать `ЗначениеЗаполнено()` для `ДокументОбъект` (ошибка «Проверка мутабельных значений…» ломала `[DOC]`/`[SPEC]`/CSV docs после успешной записи).
|
||
- CSV спецификации пишется до протокола строк.
|
||
- При открытии формы — авто `ЗаполнитьСправочникиОтбора` (если задано подключение).
|
||
- Дефолтные отметки (только если нет сохранённого отбора): все склады кроме «Не использовать»; организации «Управленческая организация» и «ФК РАНА».
|
||
- Отметки складов/организаций сохраняются между сеансами.
|
||
|
||
## 1.3.1.117 (2026-09-04)
|
||
|
||
### РК_ЗагрузкаОстатков — заполнение «Документы ввода» и диагностика create (#40)
|
||
|
||
- ТЧ `СозданныеДокументы` на форме заполняется явно из результата создания (не только через `ЗначениеВРеквизитФормы`).
|
||
- Если документов 0 — предупреждение: нужно сначала «Сопоставить».
|
||
- В лог create: диагностика ТЧ (всего / сопоставлено / готово qty>0) для own и comm.
|
||
- Проверка успешного создания документа: `ДокументОбъект` + заполненная ссылка.
|
||
|
||
## 1.3.1.116 (2026-09-04)
|
||
|
||
### РК_ЗагрузкаОстатков — детальный лог и CSV созданных документов (#29, #30)
|
||
|
||
- При «Писать логи в папку»: лог сопоставления (`match`) с `[SERIES]` (номер, имя, ГоденДо, ДатаПроизводства, номенклатура).
|
||
- Лог «Создать документы»: `[WRITE]`/`[DOC]` (номер, дата, шапка), до 30 строк `[SPEC]`, `[POST]` (проведение пока не выполняется командой).
|
||
- CSV спецификации созданных документов: `rk_load_balances_docs_*.csv` (own/comm, артикул, серии, суммы/НДС, GUID источника).
|
||
- `[WARN]`, если нет сопоставленных строк — документы не создаются.
|
||
|
||
## 1.3.1.115 (2026-09-03)
|
||
|
||
### РК_ЗагрузкаОстатков — автовыгрузка CSV таблиц (#29)
|
||
|
||
- Реквизит `ВыгружатьДанныеТаблиц` (сохраняется): при включении после загрузки / сопоставления / свёртки / создания документов пишет CSV в каталог выгрузки.
|
||
- Фиксированные имена: `crm-dev_to_crm3-26_own.csv`, `crm-dev_to_crm3-26_comm.csv` (перезапись).
|
||
- «Свернуть комиссионные остатки» — перезапись только `*_comm.csv`.
|
||
- Ручная «Выгрузить таблицы в CSV» по-прежнему с уникальными timestamp-именами.
|
||
- Клиент/сервер — как у ручной выгрузки; без пути при включённом флаге — предупреждение.
|
||
|
||
## 1.3.1.114 (2026-09-03)
|
||
|
||
### РК_ЗагрузкаОстатков — раскладка вкладки Настройки (#29)
|
||
|
||
- Вкладка «Отбор» → **Настройки**.
|
||
- Группа `ГруппаНастройки`: логи/путь/режим записи, заглушки серий, перезапись документов.
|
||
- `ГруппаДвеКолонки` с заголовком **Отбор**.
|
||
|
||
## 1.3.1.113 (2026-09-03)
|
||
|
||
### РК_ЗагрузкаОстатков — расчёт НДС в строках ввода (#33)
|
||
|
||
- После заполнения ТЧ own/comm: `СуммаНДС`, `СуммаСНДС`, `СуммаБезНДС`, `НДСРегл` через `ПакетнаяОбработкаТабличнойЧасти` (fallback — `УчетНДСУПКлиентСервер.РассчитатьСуммуНДС`).
|
||
- Учитывает `ЦенаВключаетНДС` / `НалогообложениеНДС` / ставку «Без НДС» и процентные ставки.
|
||
|
||
## 1.3.1.112 (2026-09-03)
|
||
|
||
### РК_ЗагрузкаОстатков — CSV таблиц и файловый лог (#29)
|
||
|
||
- Реквизит `ПутьКФайламВыгрузкиТаблиц` (сохраняется между сеансами) + выбор каталога.
|
||
- Реквизит `РежимЗаписиФайловВыгрузки`: **Клиент** / **Сервер** (сохраняется); CSV и логи пишутся на выбранной стороне.
|
||
- Команда «Выгрузить таблицы в CSV»: own + comm, UTF-8, уникальные имена `crm-dev_to_crm3-26_*_yyyy-MM-dd_HHmmss.csv`.
|
||
- Флажок формы `ПисатьЛогиВПапку` (не сохраняется, по умолчанию выкл.): подробный протокол «Создать документы» (тест/запись) в `.log` в том же каталоге.
|
||
- Режим «Сервер»: путь — каталог/UNC, доступный серверу 1С; диалог выбора каталога клиента недоступен (подсказка).
|
||
|
||
## 1.3.1.111 (2026-09-03)
|
||
|
||
### РК_ЗагрузкаОстатков — договор комиссии 2.5 (#34)
|
||
|
||
- Поиск договора `ПередачаНаКомиссию` по партнёру/контрагенту/организации (предпочтительно `КомиссионныеПродажи25`).
|
||
- Соглашение не содержит реквизит `Договор`; API не отдаёт `contract_*`.
|
||
- Сопоставление и создание документа без договора — ошибка с понятным текстом.
|
||
|
||
## 1.3.1.110 (2026-09-02)
|
||
|
||
### РК_ЗагрузкаОстатков — серии: ГоденДо и заглушки по номенклатуре (#30, #31)
|
||
|
||
- `series_expire` из API → реквизит ТЧ `СерияГоденДо`; при создании серии заполняются `ГоденДо`, `ДатаПроизводства`, `ВидНоменклатуры`.
|
||
- Fallback срока из имени серии (`до DD.MM.YY`); при отсутствии данных — дата среза cutover.
|
||
- Заглушки: ключ `ВидСер + Номенклатура + ГоденДо`, номер `Перенос_{код номенклатуры}_{yyyyMMdd}` (не одна серия на склад).
|
||
|
||
## 1.3.1.109 (2026-09-01)
|
||
|
||
### РК_ЗагрузкаОстатков — маппинг соглашений комиссии cutover (#24)
|
||
|
||
- Dev GUID → target GUID для marketplace и plain «Основное соглашение по договорам» → individual Поварова (`189cf86f…`, не типовое).
|
||
- Plain без маппинга: не подставлять типовое продажи по наименованию.
|
||
- Fallback партнёра из `Контрагент.Партнер`, если в API пусто.
|
||
- Канон: `docs/transfer/mapping/map_commission_agreements_cutover_20260801.csv`.
|
||
|
||
## 1.3.1.106 (2026-08-31)
|
||
|
||
### РК_ЗагрузкаОстатков — ГТД вне ключа схлопывания (#19)
|
||
|
||
- `КлючАналитикиКомиссионнойСтроки`: поле **ГТД** исключено из ключа (как серия).
|
||
- Пары −/+ с пустой ГТД в отрицательной строке и заполненной в положительной теперь схлопываются (PLR-041047 и аналоги).
|
||
|
||
## 1.3.1.105 (2026-08-31)
|
||
|
||
### РК_ЗагрузкаОстатков — fix дубли id Form.xml (#19)
|
||
|
||
- Команда «Свернуть комиссионные остатки» использовала id **1518/1519/1521**, уже занятые таблицей `ОтборГруппНоменклатур` → дерево групп не заполнялось.
|
||
- Новые id кнопок: **1566–1569**.
|
||
|
||
## 1.3.1.104 (2026-08-31)
|
||
|
||
### РК_ЗагрузкаОстатков — fix компиляции Abs (#19)
|
||
|
||
- `Abs()` заменён на `?(СуммаКол >= 0, СуммаКол, -СуммаКол)` — в BSL 1С нет глобальной функции `Abs`.
|
||
|
||
## 1.3.1.103 (2026-08-31)
|
||
|
||
### РК_ЗагрузкаОстатков — fix загрузки Form.xml (#19)
|
||
|
||
- Удалён невалидный `StdPicture.CollapseTree` у команды «Свернуть комиссионные остатки» (ошибка XDTO Picture при загрузке из файлов).
|
||
|
||
## 1.3.1.102 (2026-08-31)
|
||
|
||
### РК_ЗагрузкаОстатков — свернуть комиссионные остатки (#19, crm3-migration#24)
|
||
|
||
- Команда **«Свернуть комиссионные остатки»** на форме и на вкладке комиссии.
|
||
- Алгоритм: пары «−qty без серии / +qty с серией» при равных |qty|; затем группы с net qty ≈ 0.
|
||
- Экспорт `СвернутьКомиссионныеОстатки()` в ObjectModule.
|
||
|
||
## 1.3.1.101 (2026-08-21)
|
||
|
||
### РК_ПроверкаСерий — отображение пометки удаления дублей (#15)
|
||
|
||
- В `ФормаИзмененияМастерСерии` добавлена колонка **Пометка удаления**; в списке видны и помеченные серии.
|
||
- После объединения при включённой настройке пометки — оповещение и сообщение пользователю о числе помеченных дублей; комментарий в строке группы.
|
||
- В поиске дублей не учитываются серии с пометкой удаления и без остатков.
|
||
|
||
## 1.3.1.100 (2026-08-20)
|
||
|
||
### РК_ПроверкаСерий — пометка дублей на удаление (#15)
|
||
|
||
- Добавлен сохраняемый реквизит формы `Помечать дубли серии на удаление`.
|
||
- При объединении (не в режиме теста), если настройка включена, после `ЗаменитьСсылки` не-мастер серии помечаются на удаление.
|
||
|
||
## 1.3.1.99 (2026-08-20)
|
||
|
||
### РК_ЗагрузкаЦен — актуальные цены из исходной ИБ (#18)
|
||
|
||
- Обработка `РК_ЗагрузкаЦен` в подсистеме «Обмен с внешней базой»: срез цен на дату через Transfer API (`POST /v1/prices/types`, `POST /v1/prices/slice`, нужен **ws-rhana ≥ 0.0.0.44** на исходной ИБ).
|
||
- Сопоставление и при необходимости создание видов цен; сопоставление номенклатуры (артикул → GUID → код → наименование).
|
||
- Документы `УстановкаЦенНоменклатуры` (ТЧ `Товары2_5` при ЦО 2.5, `СерияЦО` пустая — в источнике цены без серии).
|
||
- В таблице входящих цен — признаки посерийного складского учёта и ключа цен по серии в цели, текущая цена цели.
|
||
|
||
## 1.3.1.98 (2026-08-20)
|
||
|
||
### РК_ПроверкаСерий — доработка объединения дублей (#15)
|
||
|
||
- Исправлен ложный отказ «Отметьте группы для объединения»: перед проверкой завершается редактирование строки, колонка `Отметка` переведена в `EditMode=Directly`, уточнены сообщения (в т.ч. когда отмеченные группы уже объединены).
|
||
- При поиске дублей заполняется `ИдентификаторСерии` (UUID мастер-серии).
|
||
- Для таблицы `ГруппыДублей` добавлены сортировка по текущей колонке и открытие формы мастер-серии по событию `Выбор`.
|
||
- Команда **Выбрать другую мастер серию** (`Ctrl+C`) открывает `ФормаИзмененияМастерСерии` со списком серий группы; после выбора пересчитываются мастер, остатки и детали строки.
|
||
|
||
## 1.3.1.97 (2026-08-20)
|
||
|
||
### РК_ПроверкаСерий — заготовки UI объединения дублей (#15)
|
||
|
||
- Добавлены `ГруппыДублейДеталиОстатков1`, реквизит `ИдентификаторСерии`, пустая форма `ФормаИзмененияМастерСерии` (доработаны в 1.3.1.98).
|
||
|
||
## 1.3.1.96 (2026-08-20)
|
||
|
||
### РК_ПроверкаСерий — исправление события двойного клика (#17)
|
||
|
||
- Открытие формы серии привязано к событию таблицы `Выбор` (`Selection`), а не к `ОбработкаВыбора` (`ChoiceProcessing`).
|
||
- `ПроблемныеСерииПриАктивизацииСтроки` по-прежнему только обновляет UUID выбранной серии.
|
||
|
||
## 1.3.1.95 (2026-08-19)
|
||
|
||
### РК_ПроверкаСерий — открытие формы серии по событию выбора (#17)
|
||
|
||
- Открытие формы элемента серии переведено с `ПриАктивацииСтроки` на событие `Выбор` таблицы `ПроблемныеСерии`.
|
||
- Обработчик активации строки оставлен только для обновления UUID выбранной серии под таблицей.
|
||
|
||
## 1.3.1.89f (2026-08-19)
|
||
|
||
### РК_ПроверкаСерий — открытие формы серии без двойного клика (#17)
|
||
|
||
- Открытие формы элемента серии переведено на обработчик активации строки `ПроблемныеСерии`, чтобы не зависеть от повторной активации той же строки.
|
||
|
||
## 1.3.1.90 (2026-08-19, отменена)
|
||
|
||
### РК_ПроверкаСерий — критичные замечания (#17)
|
||
|
||
- В расширение добавлены зависимости на справочники `СерииНоменклатуры`, `Номенклатура`, `ВидыНоменклатуры`, чтобы в ТЧ `ПроблемныеСерии` корректно подтягивалось описание типов значений.
|
||
- Версия отменена; итоговая рабочая публикация перенесена в `1.3.1.89f`.
|
||
|
||
## 1.3.1.89 (2026-08-19)
|
||
|
||
### РК_ПроверкаСерий — UUID в форме и исправление записи (#17)
|
||
|
||
- На странице заполнения под таблицей `ПроблемныеСерии` добавлено отображение UUID выбранной серии, а `ТекстПоследнейОшибки` перенесён на отдельную страницу `Отчетность`.
|
||
- Новые строки таблицы проблем теперь создаются с `Отметка = Ложь`.
|
||
- `Исправить отмеченные` теперь определяет необходимость записи по реальному объекту `СерииНоменклатуры` из базы, а не по уже заполненной строке формы после `ЗаполнитьПоПредложениям`.
|
||
|
||
## 1.3.1.88 (2026-08-19)
|
||
|
||
### РК_ПроверкаСерий — НГ/КГ по ссылке серии (#17)
|
||
|
||
- Группировка строк `НГ` / `КГ` переведена с представления серии на саму ссылку `Серия`, чтобы разные элементы справочника с одинаковым текстом не объединялись в одну группу.
|
||
|
||
## 1.3.1.87 (2026-08-19)
|
||
|
||
### РК_ПроверкаСерий — группы строк серии и синхронизация значений (#17 / #14)
|
||
|
||
- В таблицу `ПроблемныеСерии` добавлены колонки `НГ` и `КГ`: номер группы уникальной серии и количество строк этой серии в таблице.
|
||
- После применения предложенных значений и после исправления строки значения серии (`Номер`, `ГоденДо`, `Наименование`, предложенные поля, признак исправления) синхронизируются во всех строках той же серии.
|
||
|
||
## 1.3.1.86 (2026-08-19)
|
||
|
||
### РК_ПроверкаСерий — приоритет автономера из срока (#17)
|
||
|
||
- Если `Номер` пустой и есть срок годности (включая **Срок годности по умолчанию**), то предложенный номер формируется как `a-YYMMDD` из даты срока в приоритете над разбором `Наименование`.
|
||
|
||
## 1.3.1.85 (2026-08-19)
|
||
|
||
### РК_ПроверкаСерий — номер/наименование при «Пустой срок годности» (#17 / #14)
|
||
|
||
- Для сценария, когда строка проблемы содержит только «Пустой срок годности», автономер `a-YYMMDD` и связанное `Наименование` (из даты срока) теперь применяются также на этапе «Исправить отмеченные».
|
||
|
||
## 1.3.1.84 (2026-08-19)
|
||
|
||
### РК_ПроверкаСерий — автономер при «Пустой срок годности» (#17 / #14)
|
||
|
||
- Если `Номер` пустой и по политике вида номер обязателен, то предложение номера `a-YYMMDD` формируется из даты срока (в т.ч. из **«Срок годности по умолчанию»**), даже когда строка проблемы содержит только «Пустой срок годности».
|
||
|
||
## 1.3.1.83 (2026-08-18)
|
||
|
||
### РК_ПроверкаСерий — автономер из срока годности (#17)
|
||
|
||
- Для «Пустой номер» (номер обязателен по политике вида): если из наименования не извлекли — номер `a-YYMMDD` из срока (фактического или предложенного).
|
||
- Пример: срок 01.02.2027 → номер `a-270201`, наименование `a-270201 до 01.02.2027` (если наименование пустое).
|
||
- Префикс `a-` — автоматически сгенерированный номер для исправления серии.
|
||
|
||
## 1.3.1.82 (2026-08-18)
|
||
|
||
### РК_ПроверкаСерий — сохранение срока годности по умолчанию
|
||
|
||
- Для формы включён автосохранение значений (`AutoSaveDataInSettings`).
|
||
- Реквизит `ГоденДоПоУмолчанию` на форме отмечен как сохраняемый.
|
||
|
||
## 1.3.1.81 (2026-08-18)
|
||
|
||
### РК_ПроверкаСерий — срок годности по умолчанию (#15 / #14)
|
||
|
||
- На вкладке «Заполнение реквизитов» поле **Срок годности по умолчанию**.
|
||
- Для проблемы «Пустой срок годности» (срок обязателен по политике вида): сначала дата из наименования, если не разобралась — значение поля.
|
||
- Используется при «Найти проблемы», «Сформировать предложения» и «Заполнить по предложениям».
|
||
|
||
## 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 |
|