Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0ebd01d0ba | |||
| 997b7fe110 | |||
| a83f23d16c | |||
| eb097a8078 | |||
| 8a1624a47a | |||
| 2dfa49b2cf | |||
| 6a61479ba2 | |||
| 7a313f254c | |||
| 45b7af871a | |||
| 6b3696417e | |||
| 93ef9e904f | |||
| e00eab1028 | |||
| e6082bbcf9 | |||
| 15d8020064 | |||
| 3eb3c023e1 |
@@ -0,0 +1,19 @@
|
|||||||
|
# Единые правила редактора для репозиториев выгрузки 1С.
|
||||||
|
# Согласовано с tools/git_1c/.gitattributes (LF в репозитории).
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.{bsl,os}]
|
||||||
|
indent_style = tab
|
||||||
|
|
||||||
|
[*.xml]
|
||||||
|
indent_style = tab
|
||||||
|
|
||||||
|
[VERSION]
|
||||||
|
insert_final_newline = true
|
||||||
+16
-13
@@ -1,31 +1,34 @@
|
|||||||
# €¢â®®¯à¥¤¥«¥¨¥ ¤«ï ⥪á⮢ëå ä ©«®¢
|
# Единые правила для репозиториев выгрузки 1С (Configurator / EDT).
|
||||||
|
# Канонический формат в git: UTF-8, LF. См. tools/git_1c/README.md
|
||||||
|
|
||||||
* text=auto
|
* text=auto
|
||||||
|
|
||||||
# ” ©«ë 1‘ - ¢á¥£¤ LF ¤«ï ᮢ¬¥á⨬®á⨠á Linux
|
# Текстовые файлы выгрузки 1С
|
||||||
*.bsl text eol=lf
|
*.bsl text eol=lf
|
||||||
*.os text eol=lf
|
*.os text eol=lf
|
||||||
*.txt text eol=lf
|
|
||||||
*.md text eol=lf
|
|
||||||
*.json text eol=lf
|
|
||||||
*.xml text eol=lf
|
*.xml text eol=lf
|
||||||
|
*.txt text eol=lf
|
||||||
|
*.md text eol=lf
|
||||||
|
*.json text eol=lf
|
||||||
|
*.ini text eol=lf
|
||||||
|
*.conf text eol=lf
|
||||||
|
VERSION text eol=lf
|
||||||
|
|
||||||
# �¨ àë¥ ä ©«ë 1‘ - ¥ âண âì
|
# Бинарные артефакты 1С
|
||||||
*.cf binary
|
*.cf binary
|
||||||
*.cfe binary
|
*.cfe binary
|
||||||
|
*.epf binary
|
||||||
|
*.erf binary
|
||||||
*.ef binary
|
*.ef binary
|
||||||
*.bin binary
|
*.bin binary
|
||||||
*.cf.binary binary
|
*.cf.binary binary
|
||||||
|
*.mxl binary
|
||||||
|
|
||||||
# ” ©«ë á¯à ¢ª¨ 1‘ - ¡¨ àë¥
|
# Справка и графика
|
||||||
*.html binary
|
*.html binary
|
||||||
*.htm binary
|
*.htm binary
|
||||||
|
|
||||||
# ƒà ä¨ç¥áª¨¥ ä ©«ë - ¡¨ àë¥
|
|
||||||
*.png binary
|
*.png binary
|
||||||
*.jpg binary
|
*.jpg binary
|
||||||
*.jpeg binary
|
*.jpeg binary
|
||||||
*.gif binary
|
*.gif binary
|
||||||
*.ico binary
|
*.ico binary
|
||||||
|
|
||||||
# ” ©«ë ä®à¬ ¨ ¬ ª¥â®¢ 1‘
|
|
||||||
*.bin binary
|
|
||||||
|
|||||||
+179
@@ -0,0 +1,179 @@
|
|||||||
|
# История изменений crm3-26.rhana
|
||||||
|
|
||||||
|
Формат версии: `1.3.0.NNN` (синхронизируется с `VERSION` и `Configuration.xml`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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 |
|
||||||
@@ -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 сохраняется) |
|
||||||
|
| **Склады** (существует) | пропуск перезаписи реквизитов |
|
||||||
|
| **Серии номенклатуры** | проверка владельца + подбор по `Номер/ГоденДо` в рамках владельца вида (v1.3.0.43+) |
|
||||||
|
| **Ставки НДС** | ПКПД: `НДС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`** |
|
||||||
@@ -33,4 +33,4 @@
|
|||||||
<Form>ФормаВыбора</Form>
|
<Form>ФормаВыбора</Form>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Catalog>
|
</Catalog>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -15,4 +15,4 @@
|
|||||||
<FormType>Managed</FormType>
|
<FormType>Managed</FormType>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Form>
|
</Form>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -594,4 +594,4 @@
|
|||||||
</ChildItems>
|
</ChildItems>
|
||||||
<Attributes/>
|
<Attributes/>
|
||||||
</BaseForm>
|
</BaseForm>
|
||||||
</Form>
|
</Form>
|
||||||
|
|||||||
@@ -35,4 +35,4 @@
|
|||||||
</Properties>
|
</Properties>
|
||||||
<ChildObjects/>
|
<ChildObjects/>
|
||||||
</ChartOfCharacteristicTypes>
|
</ChartOfCharacteristicTypes>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -21,4 +21,4 @@
|
|||||||
<Explanation/>
|
<Explanation/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonForm>
|
</CommonForm>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -20,4 +20,4 @@
|
|||||||
<SavedData>true</SavedData>
|
<SavedData>true</SavedData>
|
||||||
</Attribute>
|
</Attribute>
|
||||||
</Attributes>
|
</Attributes>
|
||||||
</Form>
|
</Form>
|
||||||
|
|||||||
@@ -20,4 +20,4 @@
|
|||||||
<ServerCall>false</ServerCall>
|
<ServerCall>false</ServerCall>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonModule>
|
</CommonModule>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
#Область ПКПД
|
#Область ПКПД
|
||||||
// Заполняет таблицу правил конвертации предопределенных данных.
|
// &После ЗаполнитьПравилаКонвертацииПредопределенныхДанных.
|
||||||
|
// Дополняет правило ПКПД «Перечисление_СтавкиНДС» значениями НДС22 и НДС22_122
|
||||||
|
// для обмена crm3-dev → crm3-26 (EnterpriseData 1.8+).
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// НаправлениеОбмена - Строка - "Отправка" либо "Получение".
|
// НаправлениеОбмена - Строка - "Отправка" либо "Получение".
|
||||||
// ПравилаКонвертации - ТаблицаЗначений - таблица значений, в которую будут добавлены правила.
|
// ПравилаКонвертации - ТаблицаЗначений - таблица правил конвертации предопределённых данных.
|
||||||
|
//
|
||||||
&После("ЗаполнитьПравилаКонвертацииПредопределенныхДанных")
|
&После("ЗаполнитьПравилаКонвертацииПредопределенныхДанных")
|
||||||
Процедура РК_ЗаполнитьПравилаКонвертацииПредопределенныхДанных(НаправлениеОбмена, ПравилаКонвертации)
|
Процедура РК_ЗаполнитьПравилаКонвертацииПредопределенныхДанных(НаправлениеОбмена, ПравилаКонвертации)
|
||||||
ПоискПравилКонвертации = ПравилаКонвертации.НайтиСтроки(
|
ПоискПравилКонвертации = ПравилаКонвертации.НайтиСтроки(
|
||||||
@@ -35,4 +38,937 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область Синхронизация_crm3_dev_crm3_26
|
||||||
|
|
||||||
|
// Ограничения обмена номенклатурой и видами номенклатуры (crm3-dev → crm3-26).
|
||||||
|
// Существующие элементы: не перезаписывать складской/финансовый учёт из источника.
|
||||||
|
// Новые элементы: применить настройки учёта вида номенклатуры целевой ИБ.
|
||||||
|
// См. docs/transfer/Анализ_синхронизации_crm3-dev_crm3-26.md, §3.2.
|
||||||
|
// Доработки применяются только к узлу «Рабочая CRM3» (исходная ИБ), не к Бухгалтерии.
|
||||||
|
|
||||||
|
// GUID узла плана обмена «Рабочая CRM3» в целевой ИБ (crm3).
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Строка - GUID узла корреспондента в нижнем регистре.
|
||||||
|
//
|
||||||
|
Функция РК_УзелCrm3Dev_GUID()
|
||||||
|
Возврат "97cd20ee-bb06-11f0-8dac-0cc47a7d055f";
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Истина, если текущая сессия обмена — с исходной CRM (crm3_placentapharm), а не с Бухгалтерией.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// КомпонентыОбмена - Структура - контекст текущей сессии обмена.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Булево - Истина для обмена crm3-dev ↔ crm3-26.
|
||||||
|
//
|
||||||
|
Функция РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена)
|
||||||
|
|
||||||
|
Если КомпонентыОбмена = Неопределено Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Узел = Неопределено;
|
||||||
|
Если КомпонентыОбмена.Свойство("УзелКорреспондента") Тогда
|
||||||
|
Узел = КомпонентыОбмена.УзелКорреспондента;
|
||||||
|
ИначеЕсли КомпонентыОбмена.Свойство("УзелОбмена") Тогда
|
||||||
|
Узел = КомпонентыОбмена.УзелОбмена;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Узел) Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат НРег(XMLСтрока(Узел.УникальныйИдентификатор())) = РК_УзелCrm3Dev_GUID();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает список реквизитов номенклатуры, подлежащих защите от перезаписи при обмене.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Строка - имена реквизитов через запятую для конструктора Структура.
|
||||||
|
//
|
||||||
|
Функция РК_УчетныеРеквизитыНоменклатурыДляЗащиты()
|
||||||
|
Возврат "ВидНоменклатуры, ОсобенностьУчета, ТипНоменклатуры, ИспользованиеХарактеристик,"
|
||||||
|
+ "ВладелецСерий, ВладелецХарактеристик, ГруппаФинансовогоУчета, СкладскаяГруппа";
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Создаёт в параметрах конвертации соответствие для хранения снимков учётных реквизитов номенклатуры.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// КомпонентыОбмена - Структура - контекст текущей сессии обмена (ПараметрыКонвертации).
|
||||||
|
//
|
||||||
|
Процедура РК_ИнициализироватьСнимкиУчетаНоменклатуры(КомпонентыОбмена)
|
||||||
|
Если Не КомпонентыОбмена.ПараметрыКонвертации.Свойство("РК_СнимкиУчетаНоменклатуры") Тогда
|
||||||
|
КомпонентыОбмена.ПараметрыКонвертации.Вставить("РК_СнимкиУчетаНоменклатуры", Новый Соответствие);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Сохраняет снимок учётных реквизитов номенклатуры для последующего восстановления
|
||||||
|
// после типовой обработки и отложенного заполнения.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// СсылкаНоменклатуры - СправочникСсылка.Номенклатура - элемент целевой ИБ.
|
||||||
|
// СнимокУчета - Структура - значения защищаемых реквизитов.
|
||||||
|
// КомпонентыОбмена - Структура - контекст текущей сессии обмена.
|
||||||
|
//
|
||||||
|
Процедура РК_СохранитьСнимокУчетаНоменклатуры(СсылкаНоменклатуры, СнимокУчета, КомпонентыОбмена)
|
||||||
|
РК_ИнициализироватьСнимкиУчетаНоменклатуры(КомпонентыОбмена);
|
||||||
|
КомпонентыОбмена.ПараметрыКонвертации.РК_СнимкиУчетаНоменклатуры.Вставить(СсылкаНоменклатуры, СнимокУчета);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// &Перед ПКО_Справочник_Номенклатура_Получение_ПередЗаписьюПолученныхДанных.
|
||||||
|
// Для существующей в целевой ИБ номенклатуры сохраняет снимок учётных реквизитов
|
||||||
|
// до выполнения типового обработчика получения.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПолученныеДанные - СправочникОбъект.Номенклатура - данные из пакета обмена.
|
||||||
|
// ДанныеИБ - СправочникОбъект.Номенклатура - существующий объект целевой ИБ; Неопределено для нового.
|
||||||
|
// КонвертацияСвойств - ТаблицаЗначений - правила конвертации свойств ПКО.
|
||||||
|
// КомпонентыОбмена - Структура - контекст текущей сессии обмена.
|
||||||
|
//
|
||||||
|
&Перед("ПКО_Справочник_Номенклатура_Получение_ПередЗаписьюПолученныхДанных")
|
||||||
|
Процедура РК_ПКО_Справочник_Номенклатура_Получение_ПередЗаписью_СохранитьУчет(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
|
||||||
|
|
||||||
|
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ДанныеИБ = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СнимокУчета = Новый Структура(РК_УчетныеРеквизитыНоменклатурыДляЗащиты());
|
||||||
|
ЗаполнитьЗначенияСвойств(СнимокУчета, ДанныеИБ);
|
||||||
|
ПолученныеДанные.ДополнительныеСвойства.Вставить("РК_СнимокУчетаНоменклатуры", СнимокУчета);
|
||||||
|
РК_СохранитьСнимокУчетаНоменклатуры(ДанныеИБ.Ссылка, СнимокУчета, КомпонентыОбмена);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// &После ПКО_Справочник_Номенклатура_Получение_ПередЗаписьюПолученныхДанных.
|
||||||
|
// Для существующей номенклатуры восстанавливает учётные реквизиты целевой ИБ из снимка.
|
||||||
|
// Для новой номенклатуры заполняет складской и финансовый учёт по виду номенклатуры целевой ИБ.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПолученныеДанные - СправочникОбъект.Номенклатура - данные из пакета обмена.
|
||||||
|
// ДанныеИБ - СправочникОбъект.Номенклатура - существующий объект целевой ИБ; Неопределено для нового.
|
||||||
|
// КонвертацияСвойств - ТаблицаЗначений - правила конвертации свойств ПКО.
|
||||||
|
// КомпонентыОбмена - Структура - контекст текущей сессии обмена.
|
||||||
|
//
|
||||||
|
&После("ПКО_Справочник_Номенклатура_Получение_ПередЗаписьюПолученныхДанных")
|
||||||
|
Процедура РК_ПКО_Справочник_Номенклатура_Получение_ПередЗаписью_УчетПослеБазы(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
|
||||||
|
|
||||||
|
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ДанныеИБ = Неопределено Тогда
|
||||||
|
// Новая номенклатура: настройки складского и финансового учёта — из вида целевой ИБ.
|
||||||
|
Если ЗначениеЗаполнено(ПолученныеДанные.ВидНоменклатуры) Тогда
|
||||||
|
Справочники.Номенклатура.ЗаполнитьРеквизитыПоВидуНоменклатуры(ПолученныеДанные);
|
||||||
|
КонецЕсли;
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ПолученныеДанные.ДополнительныеСвойства.Свойство("РК_СнимокУчетаНоменклатуры") Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЗаполнитьЗначенияСвойств(ДанныеИБ, ПолученныеДанные.ДополнительныеСвойства.РК_СнимокУчетаНоменклатуры);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// &ИзменениеИКонтроль ПКО_Справочник_ВидыНоменклатуры_ПередЗаписьюПолученныхДанных.
|
||||||
|
// Пропускает обновление видов номенклатуры, уже существующих в целевой ИБ
|
||||||
|
// (сопоставление по GUID сохраняется, учётные настройки целевой ИБ не меняются).
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПолученныеДанные - СправочникОбъект.ВидыНоменклатуры - данные из пакета обмена.
|
||||||
|
// ДанныеИБ - СправочникОбъект.ВидыНоменклатуры - существующий объект целевой ИБ; Неопределено для нового.
|
||||||
|
// КонвертацияСвойств - ТаблицаЗначений - правила конвертации свойств ПКО.
|
||||||
|
// КомпонентыОбмена - Структура - контекст текущей сессии обмена.
|
||||||
|
//
|
||||||
|
&ИзменениеИКонтроль("ПКО_Справочник_ВидыНоменклатуры_ПередЗаписьюПолученныхДанных")
|
||||||
|
Процедура РК_ПКО_Справочник_ВидыНоменклатуры_ПередЗаписьюПолученныхДанных(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
|
||||||
|
|
||||||
|
#Вставка
|
||||||
|
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
Если ДанныеИБ <> Неопределено Тогда
|
||||||
|
ПолученныеДанные = Неопределено;
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
#КонецВставки
|
||||||
|
|
||||||
|
ДанныеДляЗаписиВИБ = ?(ДанныеИБ = Неопределено, ПолученныеДанные, ДанныеИБ);
|
||||||
|
|
||||||
|
Если НЕ ЗначениеЗаполнено(ДанныеДляЗаписиВИБ.ВариантОформленияПродажи) Тогда
|
||||||
|
ДанныеДляЗаписиВИБ.ВариантОформленияПродажи = Перечисления.ВариантыОформленияПродажи.РеализацияТоваровУслуг;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если НЕ ЗначениеЗаполнено(ДанныеДляЗаписиВИБ.ИспользованиеХарактеристик) Тогда
|
||||||
|
ДанныеДляЗаписиВИБ.ИспользованиеХарактеристик = Перечисления.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ДанныеДляЗаписиВИБ.НастройкиКлючаЦенПоНоменклатуре) Тогда
|
||||||
|
ДанныеДляЗаписиВИБ.НастройкиКлючаЦенПоНоменклатуре = Перечисления.ВариантОтбораДляКлючаЦен.Использовать;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ДанныеДляЗаписиВИБ.НастройкиКлючаЦенПоХарактеристике) Тогда
|
||||||
|
ДанныеДляЗаписиВИБ.НастройкиКлючаЦенПоХарактеристике = Перечисления.ВариантОтбораДляКлючаЦен.НеИспользовать;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ДанныеДляЗаписиВИБ.НастройкиКлючаЦенПоСерии) Тогда
|
||||||
|
ДанныеДляЗаписиВИБ.НастройкиКлючаЦенПоСерии = Перечисления.ВариантОтбораДляКлючаЦен.НеИспользовать;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ДанныеДляЗаписиВИБ.НастройкиКлючаЦенПоУпаковке) Тогда
|
||||||
|
ДанныеДляЗаписиВИБ.НастройкиКлючаЦенПоУпаковке = Перечисления.ВариантОтбораДляКлючаЦен.НеИспользовать;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ПолученныеДанные.ИспользоватьСерии = Истина Тогда
|
||||||
|
ПолученныеДанные.ИспользоватьСерии = ДанныеДляЗаписиВИБ.ИспользоватьСерии;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// &ИзменениеИКонтроль ПКО_Справочник_Склады_Получение_ПередЗаписьюПолученныхДанных.
|
||||||
|
// Пропускает обновление складов, уже существующих в целевой ИБ
|
||||||
|
// (сопоставление по GUID сохраняется, реквизиты целевого склада не меняются).
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПолученныеДанные - СправочникОбъект.Склады - данные из пакета обмена.
|
||||||
|
// ДанныеИБ - СправочникОбъект.Склады - существующий объект целевой ИБ; Неопределено для нового.
|
||||||
|
// КонвертацияСвойств - ТаблицаЗначений - правила конвертации свойств ПКО.
|
||||||
|
// КомпонентыОбмена - Структура - контекст текущей сессии обмена.
|
||||||
|
//
|
||||||
|
&ИзменениеИКонтроль("ПКО_Справочник_Склады_Получение_ПередЗаписьюПолученныхДанных")
|
||||||
|
Процедура РК_ПКО_Справочник_Склады_Получение_ПередЗаписьюПолученныхДанных(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
|
||||||
|
|
||||||
|
#Вставка
|
||||||
|
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
Если ДанныеИБ <> Неопределено Тогда
|
||||||
|
ПолученныеДанные = Неопределено;
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
#КонецВставки
|
||||||
|
|
||||||
|
ЗагрузитьДополнительныеСведения(?(ДанныеИБ = Неопределено, ПолученныеДанные.ПолучитьСсылкуНового(), ДанныеИБ.Ссылка),
|
||||||
|
ПолученныеДанные.ДополнительныеСвойства, КомпонентыОбмена);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// &После ОтложеннаяОбработка_ЗаполнитьНоменклатуру.
|
||||||
|
// Восстанавливает учётные реквизиты номенклатуры из снимков после типовой отложенной обработки,
|
||||||
|
// которая перезаписывает ИспользованиеХарактеристик значением из вида номенклатуры.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// КомпонентыОбмена - Структура - контекст текущей сессии обмена (ПараметрыКонвертации.РК_СнимкиУчетаНоменклатуры).
|
||||||
|
//
|
||||||
|
&После("ОтложеннаяОбработка_ЗаполнитьНоменклатуру")
|
||||||
|
Процедура РК_ОтложеннаяОбработка_ВосстановитьУчетНоменклатуры(КомпонентыОбмена)
|
||||||
|
|
||||||
|
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не КомпонентыОбмена.ПараметрыКонвертации.Свойство("РК_СнимкиУчетаНоменклатуры") Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Снимки = КомпонентыОбмена.ПараметрыКонвертации.РК_СнимкиУчетаНоменклатуры;
|
||||||
|
Если Снимки.Количество() = 0 Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для Каждого КлючИЗначение Из Снимки Цикл
|
||||||
|
НоменклатураСсылка = КлючИЗначение.Ключ;
|
||||||
|
СнимокУчета = КлючИЗначение.Значение;
|
||||||
|
Если Не ОбщегоНазначения.СсылкаСуществует(НоменклатураСсылка) Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
НоменклатураОбъект = НоменклатураСсылка.ПолучитьОбъект();
|
||||||
|
ЗаполнитьЗначенияСвойств(НоменклатураОбъект, СнимокУчета);
|
||||||
|
НоменклатураОбъект.ОбменДанными.Загрузка = Истина;
|
||||||
|
Попытка
|
||||||
|
НоменклатураОбъект.Записать();
|
||||||
|
Исключение
|
||||||
|
ЗаписатьОшибкуВЖурналРегистрации(НоменклатураСсылка,
|
||||||
|
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), КомпонентыОбмена);
|
||||||
|
КонецПопытки;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Возвращает владельца серий для вида номенклатуры в целевой ИБ
|
||||||
|
// (с учётом НастройкиСерийБерутсяИзДругогоВидаНоменклатуры).
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ВидНоменклатуры - СправочникСсылка.ВидыНоменклатуры - вид из пакета обмена или номенклатуры.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СправочникСсылка.ВидыНоменклатуры - вид-владелец для справочника СерииНоменклатуры.
|
||||||
|
//
|
||||||
|
Функция РК_ВладелецСерийДляВидаНоменклатуры(ВидНоменклатуры)
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ВидНоменклатуры) Тогда
|
||||||
|
Возврат Справочники.ВидыНоменклатуры.ПустаяСсылка();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НастройкиСерий = Справочники.ВидыНоменклатуры.НастройкиИспользованияСерий(ВидНоменклатуры);
|
||||||
|
ВладелецСерий = НастройкиСерий.ВладелецСерий;
|
||||||
|
Если Не ЗначениеЗаполнено(ВладелецСерий) Тогда
|
||||||
|
ВладелецСерий = ВидНоменклатуры;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат ВладелецСерий;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Подбор существующей серии в целевой ИБ по владельцу вида номенклатуры.
|
||||||
|
// Приоритет:
|
||||||
|
// 1) Вид + Номер + СрокГодности (если номер и срок заполнены)
|
||||||
|
// 2) Вид + Номер (если номер заполнен)
|
||||||
|
// 3) Вид + СрокГодности (если номер пустой и срок заполнен)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ВладелецСерий - СправочникСсылка.ВидыНоменклатуры
|
||||||
|
// НомерСерии - Строка
|
||||||
|
// СрокГодности - Дата, Неопределено
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СправочникСсылка.СерииНоменклатуры, Неопределено
|
||||||
|
//
|
||||||
|
Функция РК_НайтиСериюПоВладельцуНомерСроку(ВладелецСерий, НомерСерии, СрокГодности)
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ВладелецСерий) Тогда
|
||||||
|
Возврат Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НомерСерии = СокрЛП(Строка(НомерСерии));
|
||||||
|
СрокЗаполнен = ЗначениеЗаполнено(СрокГодности) И СрокГодности <> '00010101';
|
||||||
|
|
||||||
|
Если Не ПустаяСтрока(НомерСерии) Тогда
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
Если СрокЗаполнен Тогда
|
||||||
|
Запрос.Текст =
|
||||||
|
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||||
|
| Серии.Ссылка КАК Ссылка
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.СерииНоменклатуры КАК Серии
|
||||||
|
|ГДЕ
|
||||||
|
| Серии.ВидНоменклатуры = &Владелец
|
||||||
|
| И НЕ Серии.ПометкаУдаления
|
||||||
|
| И Серии.Номер = &Номер
|
||||||
|
| И Серии.ГоденДо = &Срок";
|
||||||
|
Запрос.УстановитьПараметр("Срок", СрокГодности);
|
||||||
|
Иначе
|
||||||
|
Запрос.Текст =
|
||||||
|
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||||
|
| Серии.Ссылка КАК Ссылка
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.СерииНоменклатуры КАК Серии
|
||||||
|
|ГДЕ
|
||||||
|
| Серии.ВидНоменклатуры = &Владелец
|
||||||
|
| И НЕ Серии.ПометкаУдаления
|
||||||
|
| И Серии.Номер = &Номер";
|
||||||
|
КонецЕсли;
|
||||||
|
Запрос.УстановитьПараметр("Владелец", ВладелецСерий);
|
||||||
|
Запрос.УстановитьПараметр("Номер", НомерСерии);
|
||||||
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
Если Выборка.Следующий() Тогда
|
||||||
|
Возврат Выборка.Ссылка;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если СрокЗаполнен Тогда
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
Запрос.Текст =
|
||||||
|
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||||
|
| Серии.Ссылка КАК Ссылка
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.СерииНоменклатуры КАК Серии
|
||||||
|
|ГДЕ
|
||||||
|
| Серии.ВидНоменклатуры = &Владелец
|
||||||
|
| И НЕ Серии.ПометкаУдаления
|
||||||
|
| И Серии.ГоденДо = &Срок";
|
||||||
|
Запрос.УстановитьПараметр("Владелец", ВладелецСерий);
|
||||||
|
Запрос.УстановитьПараметр("Срок", СрокГодности);
|
||||||
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
Если Выборка.Следующий() Тогда
|
||||||
|
Возврат Выборка.Ссылка;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Неопределено;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// &После ДобавитьПКО_Справочник_СерииНоменклатуры.
|
||||||
|
// Подключает обработчик проверки владельца серии при получении из пакета обмена.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПравилаКонвертации - ТаблицаЗначений - таблица правил конвертации объектов.
|
||||||
|
//
|
||||||
|
&После("ДобавитьПКО_Справочник_СерииНоменклатуры")
|
||||||
|
Процедура РК_ДобавитьПКО_Справочник_СерииНоменклатуры_УстановитьПередЗаписью(ПравилаКонвертации)
|
||||||
|
|
||||||
|
СтрокиПКО = ПравилаКонвертации.НайтиСтроки(Новый Структура("ИмяПКО", "Справочник_СерииНоменклатуры"));
|
||||||
|
Если СтрокиПКО.Количество() = 0 Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтрокиПКО[0].ПередЗаписьюПолученныхДанных = "РК_ПКО_Справочник_СерииНоменклатуры_ПередЗаписьюПолученныхДанных";
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// ПКО Справочник_СерииНоменклатуры — ПередЗаписьюПолученныхДанных.
|
||||||
|
// Проверяет и нормализует привязку серии к виду-владельцу в целевой ИБ.
|
||||||
|
// При несовпадении владельца у сопоставленной по полям поиска серии — пропуск записи.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПолученныеДанные - СправочникОбъект.СерииНоменклатуры - данные из пакета обмена.
|
||||||
|
// ДанныеИБ - СправочникОбъект.СерииНоменклатуры - существующий объект; Неопределено для нового.
|
||||||
|
// КонвертацияСвойств - ТаблицаЗначений - правила конвертации свойств ПКО.
|
||||||
|
// КомпонентыОбмена - Структура - контекст текущей сессии обмена.
|
||||||
|
//
|
||||||
|
Процедура РК_ПКО_Справочник_СерииНоменклатуры_ПередЗаписьюПолученныхДанных(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
|
||||||
|
|
||||||
|
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПолученныеДанные = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ПолученныеДанные.ВидНоменклатуры) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КорректныйВладелец = РК_ВладелецСерийДляВидаНоменклатуры(ПолученныеДанные.ВидНоменклатуры);
|
||||||
|
Если Не ЗначениеЗаполнено(КорректныйВладелец) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СсылкаДляЖурнала = ?(ДанныеИБ = Неопределено, ПолученныеДанные.ПолучитьСсылкуНового(), ДанныеИБ.Ссылка);
|
||||||
|
НомерСерии = СокрЛП(Строка(ПолученныеДанные.Номер));
|
||||||
|
СрокГодности = ПолученныеДанные.ГоденДо;
|
||||||
|
|
||||||
|
Если ДанныеИБ <> Неопределено Тогда
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ДанныеИБ.ВидНоменклатуры)
|
||||||
|
И ДанныеИБ.ВидНоменклатуры <> КорректныйВладелец
|
||||||
|
И ПолученныеДанные.ВидНоменклатуры <> ДанныеИБ.ВидНоменклатуры Тогда
|
||||||
|
|
||||||
|
ТекстОшибки = СтрШаблон(
|
||||||
|
"Неверная привязка серии по владельцу: в ИБ %1, из пакета (норм.) %2, наименование ""%3"", номер ""%4"".",
|
||||||
|
ДанныеИБ.ВидНоменклатуры,
|
||||||
|
КорректныйВладелец,
|
||||||
|
ПолученныеДанные.Наименование,
|
||||||
|
ПолученныеДанные.Номер);
|
||||||
|
ЗаписатьОшибкуВЖурналРегистрации(СсылкаДляЖурнала, ТекстОшибки, КомпонентыОбмена,
|
||||||
|
НСтр("ru = 'записать серию номенклатуры'"), УровеньЖурналаРегистрации.Предупреждение);
|
||||||
|
ПолученныеДанные = Неопределено;
|
||||||
|
Возврат;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ДанныеИБ.ВидНоменклатуры) Тогда
|
||||||
|
ПолученныеДанные.ВидНоменклатуры = ДанныеИБ.ВидНоменклатуры;
|
||||||
|
Иначе
|
||||||
|
ПолученныеДанные.ВидНоменклатуры = КорректныйВладелец;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
ПолученныеДанные.ВидНоменклатуры = КорректныйВладелец;
|
||||||
|
СуществующаяСерия = РК_НайтиСериюПоВладельцуНомерСроку(КорректныйВладелец, НомерСерии, СрокГодности);
|
||||||
|
Если ЗначениеЗаполнено(СуществующаяСерия)
|
||||||
|
И СуществующаяСерия <> СсылкаДляЖурнала Тогда
|
||||||
|
|
||||||
|
ТекстОшибки = СтрШаблон(
|
||||||
|
"Серия уже существует у владельца %1 (%2), GUID отличается от пакета. Номер=""%3"", годен до=""%4"".",
|
||||||
|
КорректныйВладелец,
|
||||||
|
СуществующаяСерия,
|
||||||
|
НомерСерии,
|
||||||
|
?(ЗначениеЗаполнено(СрокГодности), Формат(СрокГодности, "ДФ=yyyy-MM-dd"), ""));
|
||||||
|
ЗаписатьОшибкуВЖурналРегистрации(СсылкаДляЖурнала, ТекстОшибки, КомпонентыОбмена,
|
||||||
|
НСтр("ru = 'создать серию номенклатуры'"), УровеньЖурналаРегистрации.Предупреждение);
|
||||||
|
ПолученныеДанные = Неопределено;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// --- Объекты расчётов (crm3-dev → crm3-26) ---
|
||||||
|
// В UT 11.5 ОбъектыРасчетов — отдельный справочник; в XDTO 1.8 не передаётся.
|
||||||
|
// Типовой ВзаиморасчетыСервер.ПередЗаписью может не создать ОР (СоздатьПоКлючу, пустой партнёр).
|
||||||
|
// См. docs/transfer/План_синхронизации_2026-07-06_Учет.md (У1.1), Код_создания_объектов_расчетов_договоров.bsl.
|
||||||
|
|
||||||
|
// Возвращает партнёра и контрагента для договора: из договора, подсказок или последнего заказа.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ДоговорСсылка - СправочникСсылка.ДоговорыКонтрагентов.
|
||||||
|
// ПартнерПодсказка - СправочникСсылка.Партнеры, Неопределено.
|
||||||
|
// КонтрагентПодсказка - СправочникСсылка.Контрагенты, Неопределено.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - Партнер, Контрагент (могут остаться пустыми).
|
||||||
|
//
|
||||||
|
Функция РК_ПартнерКонтрагентДляДоговора(ДоговорСсылка, ПартнерПодсказка = Неопределено, КонтрагентПодсказка = Неопределено)
|
||||||
|
|
||||||
|
Результат = Новый Структура("Партнер, Контрагент");
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ДоговорСсылка) Тогда
|
||||||
|
Возврат Результат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
РеквизитыДоговора = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДоговорСсылка, "Партнер, Контрагент");
|
||||||
|
Партнер = РеквизитыДоговора.Партнер;
|
||||||
|
Контрагент = РеквизитыДоговора.Контрагент;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ПартнерПодсказка) Тогда
|
||||||
|
Партнер = ПартнерПодсказка;
|
||||||
|
КонецЕсли;
|
||||||
|
Если ЗначениеЗаполнено(КонтрагентПодсказка) Тогда
|
||||||
|
Контрагент = КонтрагентПодсказка;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Контрагент) И ЗначениеЗаполнено(Партнер) Тогда
|
||||||
|
Контрагент = ПартнерыИКонтрагенты.ПолучитьКонтрагентаПартнераПоУмолчанию(Партнер);
|
||||||
|
КонецЕсли;
|
||||||
|
Если Не ЗначениеЗаполнено(Партнер) И ЗначениеЗаполнено(Контрагент) Тогда
|
||||||
|
Партнер = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Контрагент, "Партнер");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Партнер) ИЛИ Не ЗначениеЗаполнено(Контрагент) Тогда
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
Запрос.Текст =
|
||||||
|
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||||
|
| Зак.Партнер КАК Партнер,
|
||||||
|
| Зак.Контрагент КАК Контрагент
|
||||||
|
|ИЗ
|
||||||
|
| Документ.ЗаказКлиента КАК Зак
|
||||||
|
|ГДЕ
|
||||||
|
| Зак.Договор = &Договор
|
||||||
|
| И НЕ Зак.ПометкаУдаления
|
||||||
|
|УПОРЯДОЧИТЬ ПО
|
||||||
|
| Зак.Дата УБЫВ";
|
||||||
|
Запрос.УстановитьПараметр("Договор", ДоговорСсылка);
|
||||||
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
Если Выборка.Следующий() Тогда
|
||||||
|
Если Не ЗначениеЗаполнено(Партнер) Тогда
|
||||||
|
Партнер = Выборка.Партнер;
|
||||||
|
КонецЕсли;
|
||||||
|
Если Не ЗначениеЗаполнено(Контрагент) Тогда
|
||||||
|
Контрагент = Выборка.Контрагент;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Контрагент) И ЗначениеЗаполнено(Партнер) Тогда
|
||||||
|
Контрагент = ПартнерыИКонтрагенты.ПолучитьКонтрагентаПартнераПоУмолчанию(Партнер);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Результат.Партнер = Партнер;
|
||||||
|
Результат.Контрагент = Контрагент;
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Создаёт элемент справочника ОбъектыРасчетов для договора, если его ещё нет.
|
||||||
|
// Использует СоздатьЭлемент (не СоздатьПоКлючу — падает на договорах из обмена).
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ДоговорСсылка - СправочникСсылка.ДоговорыКонтрагентов.
|
||||||
|
// Партнер - СправочникСсылка.Партнеры.
|
||||||
|
// Контрагент - СправочникСсылка.Контрагенты.
|
||||||
|
// КомпонентыОбмена - Структура - контекст обмена (для журнала).
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СправочникСсылка.ОбъектыРасчетов - созданный или найденный ОР; пустая ссылка при ошибке.
|
||||||
|
//
|
||||||
|
Функция РК_ОбеспечитьОбъектРасчетовПоДоговору(ДоговорСсылка, Партнер, Контрагент, КомпонентыОбмена)
|
||||||
|
|
||||||
|
ПустаяСсылкаОР = Справочники.ОбъектыРасчетов.ПустаяСсылка();
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ДоговорСсылка) Или Не ОбщегоНазначения.СсылкаСуществует(ДоговорСсылка) Тогда
|
||||||
|
Возврат ПустаяСсылкаОР;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Партнер) Или Не ЗначениеЗаполнено(Контрагент) Тогда
|
||||||
|
Возврат ПустаяСсылкаОР;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Организация = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДоговорСсылка, "Организация");
|
||||||
|
Если Не ЗначениеЗаполнено(Организация) Тогда
|
||||||
|
Возврат ПустаяСсылкаОР;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Валюта = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДоговорСсылка, "ВалютаВзаиморасчетов");
|
||||||
|
Если Не ЗначениеЗаполнено(Валюта) Тогда
|
||||||
|
Валюта = Константы.ВалютаРегламентированногоУчета.Получить();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КритерииОР = ОбъектыРасчетовСервер.ДополнительныеКритерииПоиска();
|
||||||
|
КритерииОР.Партнер = Партнер;
|
||||||
|
КритерииОР.Контрагент = Контрагент;
|
||||||
|
КритерииОР.ВалютаВзаиморасчетов = Валюта;
|
||||||
|
КритерииОР.ВернутьПервый = Истина;
|
||||||
|
|
||||||
|
СсылкаОР = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
|
||||||
|
ДоговорСсылка,
|
||||||
|
Организация,
|
||||||
|
Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом,
|
||||||
|
КритерииОР);
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(СсылкаОР) Тогда
|
||||||
|
Возврат СсылкаОР;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
НовыйОР = Справочники.ОбъектыРасчетов.СоздатьЭлемент();
|
||||||
|
НовыйОР.Объект = ДоговорСсылка;
|
||||||
|
НовыйОР.Организация = Организация;
|
||||||
|
НовыйОР.Контрагент = Контрагент;
|
||||||
|
НовыйОР.Партнер = Партнер;
|
||||||
|
НовыйОР.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
|
||||||
|
НовыйОР.ВалютаВзаиморасчетов = Валюта;
|
||||||
|
НовыйОР.Договор = ДоговорСсылка;
|
||||||
|
НовыйОР.Записать();
|
||||||
|
Возврат НовыйОР.Ссылка;
|
||||||
|
Исключение
|
||||||
|
ТекстОшибки = СтрШаблон(
|
||||||
|
"Не удалось создать объект расчётов для договора %1: %2",
|
||||||
|
ДоговорСсылка,
|
||||||
|
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
|
ЗаписатьОшибкуВЖурналРегистрации(ДоговорСсылка, ТекстОшибки, КомпонентыОбмена,
|
||||||
|
НСтр("ru = 'создать объект расчётов по договору'"), УровеньЖурналаРегистрации.Предупреждение);
|
||||||
|
Возврат ПустаяСсылкаОР;
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// &После ПКО_Справочник_ДоговорыКонтрагентов_Получение_ПередЗаписьюПолученныхДанных.
|
||||||
|
// Дозаполняет партнёра на договоре из контрагента до записи в ИБ.
|
||||||
|
//
|
||||||
|
&После("ПКО_Справочник_ДоговорыКонтрагентов_Получение_ПередЗаписьюПолученныхДанных")
|
||||||
|
Процедура РК_ПКО_ДоговорыКонтрагентов_ДозаполнитьПартнера(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
|
||||||
|
|
||||||
|
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПолученныеДанные = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ПолученныеДанные.Партнер) И ЗначениеЗаполнено(ПолученныеДанные.Контрагент) Тогда
|
||||||
|
ПолученныеДанные.Партнер = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПолученныеДанные.Контрагент, "Партнер");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ПолученныеДанные.Контрагент) И ЗначениеЗаполнено(ПолученныеДанные.Партнер) Тогда
|
||||||
|
ПолученныеДанные.Контрагент = ПартнерыИКонтрагенты.ПолучитьКонтрагентаПартнераПоУмолчанию(ПолученныеДанные.Партнер);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// &После ОтложеннаяОбработка_СоздатьОбновитьОбъектыРасчетов.
|
||||||
|
// Досоздаёт объекты расчётов по договорам из пакета обмена, если типовой механизм их пропустил.
|
||||||
|
//
|
||||||
|
&После("ОтложеннаяОбработка_СоздатьОбновитьОбъектыРасчетов")
|
||||||
|
Процедура РК_ОтложеннаяОбработка_ДосоздатьОбъектыРасчетов(КомпонентыОбмена)
|
||||||
|
|
||||||
|
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДоговорыКОбработке = Новый Соответствие;
|
||||||
|
|
||||||
|
Для Каждого ЗагруженныйОбъект Из КомпонентыОбмена.ЗагруженныеОбъекты Цикл
|
||||||
|
|
||||||
|
СсылкаНаОбъект = ЗагруженныйОбъект.СсылкаНаОбъект;
|
||||||
|
ТипСсылки = ТипЗнч(СсылкаНаОбъект);
|
||||||
|
|
||||||
|
Если ТипСсылки = Тип("СправочникСсылка.ДоговорыКонтрагентов") Тогда
|
||||||
|
ДоговорыКОбработке.Вставить(СсылкаНаОбъект, Новый Структура("Партнер, Контрагент"));
|
||||||
|
ИначеЕсли ТипСсылки = Тип("ДокументСсылка.ЗаказКлиента") Тогда
|
||||||
|
РеквизитыЗаказа = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СсылкаНаОбъект, "Договор, Партнер, Контрагент");
|
||||||
|
Если ЗначениеЗаполнено(РеквизитыЗаказа.Договор) Тогда
|
||||||
|
Подсказки = Новый Структура("Партнер, Контрагент", РеквизитыЗаказа.Партнер, РеквизитыЗаказа.Контрагент);
|
||||||
|
ДоговорыКОбработке.Вставить(РеквизитыЗаказа.Договор, Подсказки);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Для Каждого КлючИЗначение Из ДоговорыКОбработке Цикл
|
||||||
|
|
||||||
|
ДоговорСсылка = КлючИЗначение.Ключ;
|
||||||
|
Подсказки = КлючИЗначение.Значение;
|
||||||
|
|
||||||
|
Участники = РК_ПартнерКонтрагентДляДоговора(
|
||||||
|
ДоговорСсылка,
|
||||||
|
Подсказки.Партнер,
|
||||||
|
Подсказки.Контрагент);
|
||||||
|
|
||||||
|
РК_ОбеспечитьОбъектРасчетовПоДоговору(
|
||||||
|
ДоговорСсылка,
|
||||||
|
Участники.Партнер,
|
||||||
|
Участники.Контрагент,
|
||||||
|
КомпонентыОбмена);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Д1.2: этапы графика оплаты из соглашения/договора при загрузке ЗаказКлиента.
|
||||||
|
// XDTO 1.8 не передаёт ВариантОтсчета; ДатаПлатежа часто пустая.
|
||||||
|
// Типовой ОтложеннаяОбработка_ЗаказыПоставщикуКлиента вызывает
|
||||||
|
// ЭтапыОплатыСервер.ПроверитьЗаполнитьЭтапыГрафикаОплаты только при пустой ТЧ —
|
||||||
|
// при «бедных» строках из пакета пересчёт не выполняется.
|
||||||
|
//
|
||||||
|
&После("ОтложеннаяОбработка_ЗаказыПоставщикуКлиента")
|
||||||
|
Процедура РК_ОтложеннаяОбработка_ЗаказыПоставщикуКлиента_ЭтапыОплаты(Объект, КомпонентыОбмена)
|
||||||
|
|
||||||
|
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
РК_ДозаполнитьЭтапыГрафикаОплатыПоСоглашению(Объект);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Перезаполняет ТЧ ЭтапыГрафикаОплаты, если есть строки без ДатаПлатежа / ВариантОтсчета.
|
||||||
|
// Иначе вызывает типовое заполнение из соглашения / графика оплаты / договора.
|
||||||
|
//
|
||||||
|
Процедура РК_ДозаполнитьЭтапыГрафикаОплатыПоСоглашению(Объект) Экспорт
|
||||||
|
|
||||||
|
Если Объект = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
МетаОбъекта = Объект.Метаданные();
|
||||||
|
Если МетаОбъекта.ТабличныеЧасти.Найти("ЭтапыГрафикаОплаты") = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("Соглашение") = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НужноПерезаполнить = Ложь;
|
||||||
|
Если Объект.ЭтапыГрафикаОплаты.Количество() = 0 Тогда
|
||||||
|
НужноПерезаполнить = ЗначениеЗаполнено(Объект.Соглашение)
|
||||||
|
Или (МетаОбъекта.Реквизиты.Найти("ГрафикОплаты") <> Неопределено
|
||||||
|
И ЗначениеЗаполнено(Объект.ГрафикОплаты))
|
||||||
|
Или (МетаОбъекта.Реквизиты.Найти("Договор") <> Неопределено
|
||||||
|
И ЗначениеЗаполнено(Объект.Договор));
|
||||||
|
Иначе
|
||||||
|
Для Каждого СтрокаЭтапа Из Объект.ЭтапыГрафикаОплаты Цикл
|
||||||
|
Если Не ЗначениеЗаполнено(СтрокаЭтапа.ДатаПлатежа)
|
||||||
|
Или Не ЗначениеЗаполнено(СтрокаЭтапа.ВариантОтсчета) Тогда
|
||||||
|
НужноПерезаполнить = Истина;
|
||||||
|
Прервать;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не НужноПерезаполнить Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Условия из соглашения (как при перевыборе на форме): график и форма оплаты.
|
||||||
|
Если ЗначениеЗаполнено(Объект.Соглашение)
|
||||||
|
И ТипЗнч(Объект.Соглашение) = Тип("СправочникСсылка.СоглашенияСКлиентами") Тогда
|
||||||
|
|
||||||
|
РеквизитыСоглашения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.Соглашение,
|
||||||
|
"ГрафикОплаты,ФормаОплаты");
|
||||||
|
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("ГрафикОплаты") <> Неопределено
|
||||||
|
И Не ЗначениеЗаполнено(Объект.ГрафикОплаты)
|
||||||
|
И ЗначениеЗаполнено(РеквизитыСоглашения.ГрафикОплаты) Тогда
|
||||||
|
Объект.ГрафикОплаты = РеквизитыСоглашения.ГрафикОплаты;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("ФормаОплаты") <> Неопределено
|
||||||
|
И Не ЗначениеЗаполнено(Объект.ФормаОплаты)
|
||||||
|
И ЗначениеЗаполнено(РеквизитыСоглашения.ФормаОплаты) Тогда
|
||||||
|
Объект.ФормаОплаты = РеквизитыСоглашения.ФормаОплаты;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Объект.ЭтапыГрафикаОплаты.Очистить();
|
||||||
|
ЭтапыОплатыСервер.ПроверитьЗаполнитьЭтапыГрафикаОплаты(Объект);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Д1.3: ED 1.8 не передаёт ВидЦены / ВидЦеныПоставщика в строках ТЧ (XDTO не меняем).
|
||||||
|
// После типовой отложенной обработки дозаполняем вид цены из соглашения
|
||||||
|
// без пересчёта Цена/Сумма (ПоляЗаполнения только вид цены).
|
||||||
|
//
|
||||||
|
&После("ВыполнитьПроцедуруМодуляМенеджера")
|
||||||
|
Процедура РК_ВыполнитьПроцедуруМодуляМенеджера_ДозаполнитьВидЦены(ИмяПроцедуры, Параметры)
|
||||||
|
|
||||||
|
Если Не СтрНачинаетсяС(ИмяПроцедуры, "ОтложеннаяОбработка_") Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Параметры = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Объект = Неопределено;
|
||||||
|
Если Не Параметры.Свойство("Объект", Объект) Или Объект = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КомпонентыОбмена = Неопределено;
|
||||||
|
Параметры.Свойство("КомпонентыОбмена", КомпонентыОбмена);
|
||||||
|
|
||||||
|
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
РК_ДозаполнитьВидЦеныВДокументе(Объект);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Обходит все ТЧ документа; для реквизитов ВидЦены и ВидЦеныПоставщика вызывает дозаполнение.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Объект - ДокументОбъект - загружаемый документ после отложенной обработки обмена.
|
||||||
|
//
|
||||||
|
Процедура РК_ДозаполнитьВидЦеныВДокументе(Объект) Экспорт
|
||||||
|
|
||||||
|
Если Объект = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
МетаОбъекта = Объект.Метаданные();
|
||||||
|
|
||||||
|
Для Каждого МетаТЧ Из МетаОбъекта.ТабличныеЧасти Цикл
|
||||||
|
|
||||||
|
Если МетаТЧ.Реквизиты.Найти("ВидЦены") <> Неопределено Тогда
|
||||||
|
РК_ДозаполнитьВидЦеныВТабличнойЧасти(Объект, МетаТЧ.Имя, "ВидЦены");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если МетаТЧ.Реквизиты.Найти("ВидЦеныПоставщика") <> Неопределено Тогда
|
||||||
|
РК_ДозаполнитьВидЦеныВТабличнойЧасти(Объект, МетаТЧ.Имя, "ВидЦеныПоставщика");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Дозаполняет пустой вид цены в одной табличной части, если есть строки без значения.
|
||||||
|
//
|
||||||
|
Процедура РК_ДозаполнитьВидЦеныВТабличнойЧасти(Объект, ИмяТЧ, ИмяПоляВидЦены)
|
||||||
|
|
||||||
|
ТабличнаяЧасть = Объект[ИмяТЧ];
|
||||||
|
Если ТабличнаяЧасть.Количество() = 0 Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НужноЗаполнить = Ложь;
|
||||||
|
Для Каждого СтрокаТЧ Из ТабличнаяЧасть Цикл
|
||||||
|
Если Не ЗначениеЗаполнено(СтрокаТЧ[ИмяПоляВидЦены]) Тогда
|
||||||
|
НужноЗаполнить = Истина;
|
||||||
|
Прервать;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если Не НужноЗаполнить Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ИмяПоляВидЦены = "ВидЦены" Тогда
|
||||||
|
РК_ЗаполнитьВидЦеныПродажиВТЧ(Объект, ТабличнаяЧасть);
|
||||||
|
ИначеЕсли ИмяПоляВидЦены = "ВидЦеныПоставщика" Тогда
|
||||||
|
РК_ЗаполнитьВидЦеныПоставщикаВТЧ(Объект, ТабличнаяЧасть);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура РК_ЗаполнитьВидЦеныПродажиВТЧ(Объект, ТабличнаяЧасть)
|
||||||
|
|
||||||
|
МетаОбъекта = Объект.Метаданные();
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("Соглашение") = Неопределено
|
||||||
|
Или Не ЗначениеЗаполнено(Объект.Соглашение) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПараметрыЗаполнения = Новый Структура;
|
||||||
|
ПараметрыЗаполнения.Вставить("ПоляЗаполнения", "ВидЦены");
|
||||||
|
РК_ДополнитьБазовыеПараметрыЗаполненияЦен(Объект, ПараметрыЗаполнения, Истина);
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
ЦеныПредприятияЗаполнениеСервер.ЗаполнитьЦены(
|
||||||
|
ТабличнаяЧасть,, ПараметрыЗаполнения, Новый Структура);
|
||||||
|
Исключение
|
||||||
|
// Не блокируем загрузку пакета из-за вида цены.
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура РК_ЗаполнитьВидЦеныПоставщикаВТЧ(Объект, ТабличнаяЧасть)
|
||||||
|
|
||||||
|
МетаОбъекта = Объект.Метаданные();
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("Соглашение") = Неопределено
|
||||||
|
Или Не ЗначениеЗаполнено(Объект.Соглашение) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПараметрыЗаполнения = ЦеныПартнеровЗаполнениеСервер.НовыйПараметрыЗаполненияЗаполнитьЦены();
|
||||||
|
ПараметрыЗаполнения.Вставить("ПоляЗаполнения", "ВидЦеныПоставщика");
|
||||||
|
РК_ДополнитьБазовыеПараметрыЗаполненияЦен(Объект, ПараметрыЗаполнения, Ложь);
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
ЦеныПартнеровЗаполнениеСервер.ЗаполнитьЦены(
|
||||||
|
ТабличнаяЧасть, Неопределено, ПараметрыЗаполнения, Новый Структура);
|
||||||
|
Исключение
|
||||||
|
// Не блокируем загрузку пакета из-за вида цены.
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Общие параметры для ЦеныПредприятияЗаполнениеСервер / ЦеныПартнеровЗаполнениеСервер.
|
||||||
|
//
|
||||||
|
Процедура РК_ДополнитьБазовыеПараметрыЗаполненияЦен(Объект, ПараметрыЗаполнения, ЭтоПродажа)
|
||||||
|
|
||||||
|
МетаОбъекта = Объект.Метаданные();
|
||||||
|
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("Дата") <> Неопределено Тогда
|
||||||
|
ПараметрыЗаполнения.Вставить("Дата", Объект.Дата);
|
||||||
|
КонецЕсли;
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("Организация") <> Неопределено Тогда
|
||||||
|
ПараметрыЗаполнения.Вставить("Организация", Объект.Организация);
|
||||||
|
КонецЕсли;
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("Валюта") <> Неопределено Тогда
|
||||||
|
ПараметрыЗаполнения.Вставить("Валюта", Объект.Валюта);
|
||||||
|
КонецЕсли;
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("Соглашение") <> Неопределено Тогда
|
||||||
|
ПараметрыЗаполнения.Вставить("Соглашение", Объект.Соглашение);
|
||||||
|
КонецЕсли;
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("НалогообложениеНДС") <> Неопределено Тогда
|
||||||
|
ПараметрыЗаполнения.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЭтоПродажа Тогда
|
||||||
|
Если МетаОбъекта.Реквизиты.Найти("ВернутьМногооборотнуюТару") <> Неопределено Тогда
|
||||||
|
ПараметрыЗаполнения.Вставить("ВозвращатьМногооборотнуюТару", Объект.ВернутьМногооборотнуюТару);
|
||||||
|
КонецЕсли;
|
||||||
|
ПараметрыЗаполнения.Вставить("РассчитыватьНаборы", Истина);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|||||||
@@ -20,4 +20,4 @@
|
|||||||
<ServerCall>false</ServerCall>
|
<ServerCall>false</ServerCall>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonModule>
|
</CommonModule>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.20">
|
||||||
|
<CommonModule uuid="204641bf-09d1-470a-9d72-3eb46439556d">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:PropertyState>
|
||||||
|
<xr:Property>Module</xr:Property>
|
||||||
|
<xr:State>Extended</xr:State>
|
||||||
|
</xr:PropertyState>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>ПартнерыИКонтрагентыЛокализация</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>c7ca240a-541d-4f86-8e30-0e63aafcd5fa</ExtendedConfigurationObject>
|
||||||
|
<Global>false</Global>
|
||||||
|
<ClientManagedApplication>false</ClientManagedApplication>
|
||||||
|
<Server>true</Server>
|
||||||
|
<ExternalConnection>true</ExternalConnection>
|
||||||
|
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||||
|
<ServerCall>false</ServerCall>
|
||||||
|
</Properties>
|
||||||
|
</CommonModule>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
|
||||||
|
&ИзменениеИКонтроль("ИННКППУжеИспользуетсяВИнформационнойБазе")
|
||||||
|
Функция РК_ИННКППУжеИспользуетсяВИнформационнойБазе(ИНН, КПП, ИсключаяСсылку = Неопределено, ЮрФизЛицо = Неопределено) Экспорт
|
||||||
|
|
||||||
|
РезультатПоиска = Новый Структура;
|
||||||
|
РезультатПоиска.Вставить("НайденныеСовпадения", Новый Массив);
|
||||||
|
РезультатПоиска.Вставить("ДоступноСоздание", Истина);
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
#Удаление
|
||||||
|
Запрос.Текст = "
|
||||||
|
|ВЫБРАТЬ
|
||||||
|
| Контрагенты.Ссылка КАК Ссылка,
|
||||||
|
| Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо,
|
||||||
|
| Партнеры.Ссылка КАК Партнер,
|
||||||
|
| Партнеры.Код КАК Код,
|
||||||
|
| ПРЕДСТАВЛЕНИЕ(Партнеры.ОсновнойМенеджер) КАК ОсновнойМенеджер
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.Контрагенты КАК Контрагенты
|
||||||
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
|
||||||
|
| ПО Контрагенты.Партнер = Партнеры.Ссылка
|
||||||
|
|ГДЕ
|
||||||
|
| Контрагенты.ИНН = &ИНН
|
||||||
|
| И Контрагенты.КПП = &КПП
|
||||||
|
| И Контрагенты.Ссылка <> &Ссылка";
|
||||||
|
#КонецУдаления
|
||||||
|
#Вставка
|
||||||
|
// {{ [+] (фрагмент ДОБАВЛЕН), уникальность ИНН/КПП только среди непомеченных на удаление контрагентов
|
||||||
|
Запрос.Текст = "
|
||||||
|
|ВЫБРАТЬ
|
||||||
|
| Контрагенты.Ссылка КАК Ссылка,
|
||||||
|
| Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо,
|
||||||
|
| Партнеры.Ссылка КАК Партнер,
|
||||||
|
| Партнеры.Код КАК Код,
|
||||||
|
| ПРЕДСТАВЛЕНИЕ(Партнеры.ОсновнойМенеджер) КАК ОсновнойМенеджер
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.Контрагенты КАК Контрагенты
|
||||||
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
|
||||||
|
| ПО Контрагенты.Партнер = Партнеры.Ссылка
|
||||||
|
|ГДЕ
|
||||||
|
| Контрагенты.ИНН = &ИНН
|
||||||
|
| И Контрагенты.КПП = &КПП
|
||||||
|
| И Контрагенты.Ссылка <> &Ссылка
|
||||||
|
| И НЕ Контрагенты.ПометкаУдаления";
|
||||||
|
// }}
|
||||||
|
#КонецВставки
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ИНН",ИНН);
|
||||||
|
Запрос.УстановитьПараметр("КПП",КПП);
|
||||||
|
Запрос.УстановитьПараметр("Ссылка",ИсключаяСсылку);
|
||||||
|
|
||||||
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
|
||||||
|
Если Выборка.Количество() = 1 Тогда
|
||||||
|
|
||||||
|
Выборка.Следующий();
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ИсключаяСсылку)
|
||||||
|
И Выборка.Ссылка = ИсключаяСсылку Тогда
|
||||||
|
|
||||||
|
Возврат РезультатПоиска;
|
||||||
|
|
||||||
|
ИначеЕсли ЗначениеЗаполнено(ЮрФизЛицо) Тогда
|
||||||
|
|
||||||
|
Если ЮрФизЛицо = Перечисления.ЮрФизЛицо.ИндивидуальныйПредприниматель
|
||||||
|
И Выборка.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда
|
||||||
|
|
||||||
|
ДобавитьДанныеНайденногоКонтрагента(Выборка, РезультатПоиска.НайденныеСовпадения);
|
||||||
|
|
||||||
|
ИначеЕсли ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо
|
||||||
|
И Выборка.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ИндивидуальныйПредприниматель Тогда
|
||||||
|
|
||||||
|
ДобавитьДанныеНайденногоКонтрагента(Выборка, РезультатПоиска.НайденныеСовпадения);
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
ДобавитьДанныеНайденногоКонтрагента(Выборка, РезультатПоиска.НайденныеСовпадения);
|
||||||
|
РезультатПоиска.ДоступноСоздание = Ложь;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
ДобавитьДанныеНайденногоКонтрагента(Выборка, РезультатПоиска.НайденныеСовпадения);
|
||||||
|
РезультатПоиска.ДоступноСоздание = Ложь;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИначеЕсли Выборка.Количество() > 1 Тогда
|
||||||
|
|
||||||
|
РезультатПоиска.ДоступноСоздание = Ложь;
|
||||||
|
|
||||||
|
Пока Выборка.Следующий() Цикл
|
||||||
|
|
||||||
|
ДобавитьДанныеНайденногоКонтрагента(Выборка, РезультатПоиска.НайденныеСовпадения);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат РезультатПоиска;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&ИзменениеИКонтроль("ПроверитьКорректностьЗаполненияКонтрагента")
|
||||||
|
Процедура РК_ПроверитьКорректностьЗаполненияКонтрагента(Объект, Контрагент, Отказ) Экспорт
|
||||||
|
//++ Локализация
|
||||||
|
КлючДанных = ?(ТипЗнч(Объект) = Тип("ФормаКлиентскогоПриложения"), Неопределено, Объект);
|
||||||
|
Если Объект.ОбособленноеПодразделение И ЗначениеЗаполнено(Объект.ГоловнойКонтрагент) Тогда
|
||||||
|
|
||||||
|
Если Объект.ГоловнойКонтрагент <> Контрагент Тогда
|
||||||
|
|
||||||
|
СвойстваГоловногоКонтрагента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
|
||||||
|
Объект.ГоловнойКонтрагент, "Наименование, ИНН");
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(СвойстваГоловногоКонтрагента.ИНН) И СвойстваГоловногоКонтрагента.ИНН <> Объект.ИНН Тогда
|
||||||
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'ИНН контрагента не равен указанному в головном подразделении'"),
|
||||||
|
СвойстваГоловногоКонтрагента.Наименование);
|
||||||
|
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, КлючДанных, "ИНН", , Отказ);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Объект.ИНН) Тогда
|
||||||
|
|
||||||
|
#Вставка
|
||||||
|
// {{ [+] (фрагмент ДОБАВЛЕН), для помеченных на удаление уникальность ИНН/КПП не проверяется
|
||||||
|
Если НЕ Объект.ПометкаУдаления Тогда
|
||||||
|
// }}
|
||||||
|
#КонецВставки
|
||||||
|
|
||||||
|
РезультатПоиска = ИННКППУжеИспользуетсяВИнформационнойБазе(Объект.ИНН, Объект.КПП, Контрагент, Объект.ЮрФизЛицо) ;
|
||||||
|
|
||||||
|
Если Не РезультатПоиска.ДоступноСоздание Тогда
|
||||||
|
|
||||||
|
ДанныеКонтрагента = РезультатПоиска.НайденныеСовпадения[0];
|
||||||
|
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru='Данные ИНН и КПП уже указаны для другого контрагента, ответственный - %1.'"),
|
||||||
|
ДанныеКонтрагента.ОсновнойМенеджер),
|
||||||
|
КлючДанных,
|
||||||
|
"ИНН",
|
||||||
|
,
|
||||||
|
Отказ);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
#Вставка
|
||||||
|
КонецЕсли;
|
||||||
|
// }}
|
||||||
|
#КонецВставки
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
Если НЕ ПартнерыИКонтрагенты.УпрощенныйВводДоступен() Тогда
|
||||||
|
|
||||||
|
Если (Объект.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ИндивидуальныйПредприниматель
|
||||||
|
ИЛИ Объект.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо) Тогда
|
||||||
|
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
|
||||||
|
НСтр("ru = 'Не указан ИНН'"),
|
||||||
|
КлючДанных,
|
||||||
|
"ИНН",
|
||||||
|
,
|
||||||
|
Отказ);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
//-- Локализация
|
||||||
|
КонецПроцедуры
|
||||||
@@ -20,4 +20,4 @@
|
|||||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonModule>
|
</CommonModule>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -20,4 +20,4 @@
|
|||||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonModule>
|
</CommonModule>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -11,4 +11,4 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|||||||
@@ -20,4 +20,4 @@
|
|||||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonModule>
|
</CommonModule>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#Область ПрограммныйИнтерфейс
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
<ExtendedConfigurationObject>99fe42c1-707b-4674-8e22-195156242043</ExtendedConfigurationObject>
|
<ExtendedConfigurationObject>99fe42c1-707b-4674-8e22-195156242043</ExtendedConfigurationObject>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonPicture>
|
</CommonPicture>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
<ExtendedConfigurationObject>0a4b947f-6c9b-415f-8387-db3b4716250b</ExtendedConfigurationObject>
|
<ExtendedConfigurationObject>0a4b947f-6c9b-415f-8387-db3b4716250b</ExtendedConfigurationObject>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonPicture>
|
</CommonPicture>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
<ExtendedConfigurationObject>8ca13f41-3185-4ecb-91cc-5640c93d97ff</ExtendedConfigurationObject>
|
<ExtendedConfigurationObject>8ca13f41-3185-4ecb-91cc-5640c93d97ff</ExtendedConfigurationObject>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonPicture>
|
</CommonPicture>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
<ExtendedConfigurationObject>e606f8eb-952a-4abb-b1ae-4211204bed84</ExtendedConfigurationObject>
|
<ExtendedConfigurationObject>e606f8eb-952a-4abb-b1ae-4211204bed84</ExtendedConfigurationObject>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonPicture>
|
</CommonPicture>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
<ExtendedConfigurationObject>7cbf0398-2bc7-4f40-9a9e-af4135c6a2d2</ExtendedConfigurationObject>
|
<ExtendedConfigurationObject>7cbf0398-2bc7-4f40-9a9e-af4135c6a2d2</ExtendedConfigurationObject>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonPicture>
|
</CommonPicture>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
<ExtendedConfigurationObject>2997e4da-d831-48e4-96e2-c29f9d077302</ExtendedConfigurationObject>
|
<ExtendedConfigurationObject>2997e4da-d831-48e4-96e2-c29f9d077302</ExtendedConfigurationObject>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonPicture>
|
</CommonPicture>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
<ExtendedConfigurationObject>4bad7c64-131a-42cb-9be7-d61f14f456d0</ExtendedConfigurationObject>
|
<ExtendedConfigurationObject>4bad7c64-131a-42cb-9be7-d61f14f456d0</ExtendedConfigurationObject>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonPicture>
|
</CommonPicture>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
<ExtendedConfigurationObject>d46e141b-7a10-4d65-971f-3a35f2114017</ExtendedConfigurationObject>
|
<ExtendedConfigurationObject>d46e141b-7a10-4d65-971f-3a35f2114017</ExtendedConfigurationObject>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonPicture>
|
</CommonPicture>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
<ExtendedConfigurationObject>ba79bb2b-fecd-46e6-bf73-6015f7ef2fe2</ExtendedConfigurationObject>
|
<ExtendedConfigurationObject>ba79bb2b-fecd-46e6-bf73-6015f7ef2fe2</ExtendedConfigurationObject>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonPicture>
|
</CommonPicture>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
<ExtendedConfigurationObject>5bbc406f-684b-4240-b908-425b9f295077</ExtendedConfigurationObject>
|
<ExtendedConfigurationObject>5bbc406f-684b-4240-b908-425b9f295077</ExtendedConfigurationObject>
|
||||||
</Properties>
|
</Properties>
|
||||||
</CommonPicture>
|
</CommonPicture>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -7,8 +7,10 @@
|
|||||||
<Metadata name="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения" id="e8b79bd5-f8ca-47e3-bcfd-1d84a4a64ee2" configVersion="3cadb32ee44e159e252e947f116f05b8f99ae1c4"/>
|
<Metadata name="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения" id="e8b79bd5-f8ca-47e3-bcfd-1d84a4a64ee2" configVersion="3cadb32ee44e159e252e947f116f05b8f99ae1c4"/>
|
||||||
<Metadata name="CommonForm.РК_ФормаНастроекРана" id="5688e1b9-1552-45cc-b539-1f4cc3765e8a" configVersion="8ac3163937f01f9604c7a57e9dc814b6d466b5ac"/>
|
<Metadata name="CommonForm.РК_ФормаНастроекРана" id="5688e1b9-1552-45cc-b539-1f4cc3765e8a" configVersion="8ac3163937f01f9604c7a57e9dc814b6d466b5ac"/>
|
||||||
<Metadata name="CommonForm.РК_ФормаНастроекРана.Form" id="5688e1b9-1552-45cc-b539-1f4cc3765e8a.0" configVersion="ea9a4ab0f585a6af14dc4941cc5fd2e48f221b6a"/>
|
<Metadata name="CommonForm.РК_ФормаНастроекРана.Form" id="5688e1b9-1552-45cc-b539-1f4cc3765e8a.0" configVersion="ea9a4ab0f585a6af14dc4941cc5fd2e48f221b6a"/>
|
||||||
<Metadata name="CommonModule.МенеджерОбменаЧерезУниверсальныйФормат" id="46adff34-2644-4eb3-99a7-e969dbdf8496" configVersion="07b90dd15d056182292ae6260cadd6aec5c3567b"/>
|
<Metadata name="CommonModule.МенеджерОбменаЧерезУниверсальныйФормат" id="46adff34-2644-4eb3-99a7-e969dbdf8496" configVersion="0e38e0f4d63c0c4783d0c8935de492efee1e4863"/>
|
||||||
<Metadata name="CommonModule.МенеджерОбменаЧерезУниверсальныйФормат.Module" id="46adff34-2644-4eb3-99a7-e969dbdf8496.0" configVersion="edb6107ec1cdb48f26f4b589d8f53646b44e7351"/>
|
<Metadata name="CommonModule.МенеджерОбменаЧерезУниверсальныйФормат.Module" id="46adff34-2644-4eb3-99a7-e969dbdf8496.0" configVersion="89e8efb209d7477a14ca8b50b3aa0065918e53b7"/>
|
||||||
|
<Metadata name="CommonModule.ПартнерыИКонтрагентыЛокализация" id="204641bf-09d1-470a-9d72-3eb46439556d" configVersion="4d92732dfb20d7aac1e4e8e85d854a56b78cb8ae"/>
|
||||||
|
<Metadata name="CommonModule.ПартнерыИКонтрагентыЛокализация.Module" id="204641bf-09d1-470a-9d72-3eb46439556d.0" configVersion="126cf53fde7bdeb39ba2495d14b179dc815a8331"/>
|
||||||
<Metadata name="CommonModule.ОбщегоНазначенияКлиентСервер" id="1afe1653-696f-47e3-9bea-df7b84bd077c" configVersion="a3b2d57b152d8cd275a412ddf1479ac90b35402d"/>
|
<Metadata name="CommonModule.ОбщегоНазначенияКлиентСервер" id="1afe1653-696f-47e3-9bea-df7b84bd077c" configVersion="a3b2d57b152d8cd275a412ddf1479ac90b35402d"/>
|
||||||
<Metadata name="CommonModule.ОбщегоНазначенияКлиентСервер.Module" id="1afe1653-696f-47e3-9bea-df7b84bd077c.0" configVersion="74e1779aaae2e2e61a3957d284da0d61b1e34d41"/>
|
<Metadata name="CommonModule.ОбщегоНазначенияКлиентСервер.Module" id="1afe1653-696f-47e3-9bea-df7b84bd077c.0" configVersion="74e1779aaae2e2e61a3957d284da0d61b1e34d41"/>
|
||||||
<Metadata name="CommonModule.РК_ОбщегоНазначения" id="6bfc7b15-6995-43ad-96c6-a97569f2d5a4" configVersion="c11a335f853a42165758cfe7995f2ee06a9010f7"/>
|
<Metadata name="CommonModule.РК_ОбщегоНазначения" id="6bfc7b15-6995-43ad-96c6-a97569f2d5a4" configVersion="c11a335f853a42165758cfe7995f2ee06a9010f7"/>
|
||||||
@@ -26,7 +28,7 @@
|
|||||||
<Metadata name="CommonPicture.ПодписанЗашифрованСостояния" id="a0bd1007-a115-4d79-8160-d4f59cd57ffb" configVersion="08ed86b1653fc955004b703d7dce5d947956fdda"/>
|
<Metadata name="CommonPicture.ПодписанЗашифрованСостояния" id="a0bd1007-a115-4d79-8160-d4f59cd57ffb" configVersion="08ed86b1653fc955004b703d7dce5d947956fdda"/>
|
||||||
<Metadata name="CommonPicture.СерииНоменклатурыКолонкаСтатусов" id="f2badc5e-4af7-4c05-be31-b4d5b7642ab5" configVersion="d070fbc999630568abec9d83770ed805666a24d9"/>
|
<Metadata name="CommonPicture.СерииНоменклатурыКолонкаСтатусов" id="f2badc5e-4af7-4c05-be31-b4d5b7642ab5" configVersion="d070fbc999630568abec9d83770ed805666a24d9"/>
|
||||||
<Metadata name="CommonPicture.СтатусыУказанияСерий" id="cc5cab6d-e293-4890-a422-6e8cd2fb58bb" configVersion="17b11a4c6ec74254745177f7c136d38af0214bdf"/>
|
<Metadata name="CommonPicture.СтатусыУказанияСерий" id="cc5cab6d-e293-4890-a422-6e8cd2fb58bb" configVersion="17b11a4c6ec74254745177f7c136d38af0214bdf"/>
|
||||||
<Metadata name="Configuration.crm326RHANA" id="ef31d55b-3788-4972-affb-b7aefd3838aa" configVersion="1f13c87c612c4f51bf2f028c914b958f76b6121c"/>
|
<Metadata name="Configuration.crm326RHANA" id="ef31d55b-3788-4972-affb-b7aefd3838aa" configVersion="2910b5ccbb9d930f0716a494a2b44068db7db4d4"/>
|
||||||
<Metadata name="Configuration.crm326RHANA.CommandInterface" id="39a8728d-cfaf-46d0-959f-980e396b5018.a" configVersion="fdaec039eea90396e8275a4185f01ff2ce9f09af"/>
|
<Metadata name="Configuration.crm326RHANA.CommandInterface" id="39a8728d-cfaf-46d0-959f-980e396b5018.a" configVersion="fdaec039eea90396e8275a4185f01ff2ce9f09af"/>
|
||||||
<Metadata name="Configuration.crm326RHANA.MainSectionCommandInterface" id="39a8728d-cfaf-46d0-959f-980e396b5018.9" configVersion="fdaec039eea90396e8275a4185f01ff2ce9f09af"/>
|
<Metadata name="Configuration.crm326RHANA.MainSectionCommandInterface" id="39a8728d-cfaf-46d0-959f-980e396b5018.9" configVersion="fdaec039eea90396e8275a4185f01ff2ce9f09af"/>
|
||||||
<Metadata name="Constant.РК_РежимОтладкиРана" id="32d682cc-7aeb-45c8-abc6-68fef7f36011" configVersion="a12fe879a2594e605228c43059bb3a72d30fa471"/>
|
<Metadata name="Constant.РК_РежимОтладкиРана" id="32d682cc-7aeb-45c8-abc6-68fef7f36011" configVersion="a12fe879a2594e605228c43059bb3a72d30fa471"/>
|
||||||
@@ -104,4 +106,4 @@
|
|||||||
<Metadata name="XDTOPackage.EnterpriseData_1_8_7" id="0ead7002-62ff-4b0e-907b-112c906d2b48" configVersion="1ec2419c83e675661b0b72baad5e41b8b5d898b2"/>
|
<Metadata name="XDTOPackage.EnterpriseData_1_8_7" id="0ead7002-62ff-4b0e-907b-112c906d2b48" configVersion="1ec2419c83e675661b0b72baad5e41b8b5d898b2"/>
|
||||||
<Metadata name="XDTOPackage.EnterpriseData_1_8_7.Package" id="0ead7002-62ff-4b0e-907b-112c906d2b48.0" configVersion="0ba1eb0b35d568d1cafd7f6e030ea1d56e81fea3"/>
|
<Metadata name="XDTOPackage.EnterpriseData_1_8_7.Package" id="0ead7002-62ff-4b0e-907b-112c906d2b48.0" configVersion="0ba1eb0b35d568d1cafd7f6e030ea1d56e81fea3"/>
|
||||||
</ConfigVersions>
|
</ConfigVersions>
|
||||||
</ConfigDumpInfo>
|
</ConfigDumpInfo>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.20">
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.20">
|
||||||
<Configuration uuid="ef31d55b-3788-4972-affb-b7aefd3838aa">
|
<Configuration uuid="ef31d55b-3788-4972-affb-b7aefd3838aa">
|
||||||
<InternalInfo>
|
<InternalInfo>
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<xr:Item xsi:type="xr:MDObjectRef">Role.РК_ОсновнаяРоль</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Role.РК_ОсновнаяРоль</xr:Item>
|
||||||
</DefaultRoles>
|
</DefaultRoles>
|
||||||
<Vendor/>
|
<Vendor/>
|
||||||
<Version>1.3.0.35</Version>
|
<Version>1.3.0.44</Version>
|
||||||
<DefaultStyle/>
|
<DefaultStyle/>
|
||||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
<BriefInformation/>
|
<BriefInformation/>
|
||||||
@@ -97,6 +97,7 @@
|
|||||||
<CommonModule>РК_ОбщегоНазначенияВызовСервера</CommonModule>
|
<CommonModule>РК_ОбщегоНазначенияВызовСервера</CommonModule>
|
||||||
<CommonModule>ОбщегоНазначенияКлиентСервер</CommonModule>
|
<CommonModule>ОбщегоНазначенияКлиентСервер</CommonModule>
|
||||||
<CommonModule>МенеджерОбменаЧерезУниверсальныйФормат</CommonModule>
|
<CommonModule>МенеджерОбменаЧерезУниверсальныйФормат</CommonModule>
|
||||||
|
<CommonModule>ПартнерыИКонтрагентыЛокализация</CommonModule>
|
||||||
<XDTOPackage>EnterpriseData_1_8_7</XDTOPackage>
|
<XDTOPackage>EnterpriseData_1_8_7</XDTOPackage>
|
||||||
<XDTOPackage>EnterpriseData_1_8_6</XDTOPackage>
|
<XDTOPackage>EnterpriseData_1_8_6</XDTOPackage>
|
||||||
<FunctionalOption>РК_ФункциональнаяОпцияРежимаОтладки</FunctionalOption>
|
<FunctionalOption>РК_ФункциональнаяОпцияРежимаОтладки</FunctionalOption>
|
||||||
@@ -120,4 +121,4 @@
|
|||||||
<ChartOfCharacteristicTypes>ДополнительныеРеквизитыИСведения</ChartOfCharacteristicTypes>
|
<ChartOfCharacteristicTypes>ДополнительныеРеквизитыИСведения</ChartOfCharacteristicTypes>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -55,4 +55,4 @@
|
|||||||
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Constant>
|
</Constant>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -25,4 +25,4 @@
|
|||||||
<Form>ЗагрузкаДанныхИзФайла</Form>
|
<Form>ЗагрузкаДанныхИзФайла</Form>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</DataProcessor>
|
</DataProcessor>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -15,4 +15,4 @@
|
|||||||
<FormType>Managed</FormType>
|
<FormType>Managed</FormType>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Form>
|
</Form>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -2768,4 +2768,4 @@
|
|||||||
</ChildItems>
|
</ChildItems>
|
||||||
<Attributes/>
|
<Attributes/>
|
||||||
</BaseForm>
|
</BaseForm>
|
||||||
</Form>
|
</Form>
|
||||||
|
|||||||
@@ -29,4 +29,4 @@
|
|||||||
</Properties>
|
</Properties>
|
||||||
<ChildObjects/>
|
<ChildObjects/>
|
||||||
</DataProcessor>
|
</DataProcessor>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
|
|
||||||
|
|||||||
@@ -15,4 +15,4 @@
|
|||||||
<Type/>
|
<Type/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</DefinedType>
|
</DefinedType>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -32,4 +32,4 @@
|
|||||||
</Properties>
|
</Properties>
|
||||||
<ChildObjects/>
|
<ChildObjects/>
|
||||||
</Document>
|
</Document>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -66,4 +66,4 @@
|
|||||||
</TabularSection>
|
</TabularSection>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Document>
|
</Document>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -15,4 +15,4 @@
|
|||||||
<FormType>Managed</FormType>
|
<FormType>Managed</FormType>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Form>
|
</Form>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -2703,4 +2703,4 @@
|
|||||||
</ChildItems>
|
</ChildItems>
|
||||||
<Attributes/>
|
<Attributes/>
|
||||||
</BaseForm>
|
</BaseForm>
|
||||||
</Form>
|
</Form>
|
||||||
|
|||||||
@@ -34,4 +34,4 @@
|
|||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|||||||
@@ -97,4 +97,4 @@
|
|||||||
</TabularSection>
|
</TabularSection>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Document>
|
</Document>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -33,4 +33,4 @@
|
|||||||
</EnumValue>
|
</EnumValue>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Enum>
|
</Enum>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -42,4 +42,4 @@
|
|||||||
</EnumValue>
|
</EnumValue>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Enum>
|
</Enum>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -51,4 +51,4 @@
|
|||||||
</EnumValue>
|
</EnumValue>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Enum>
|
</Enum>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -42,4 +42,4 @@
|
|||||||
</EnumValue>
|
</EnumValue>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Enum>
|
</Enum>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -69,4 +69,4 @@
|
|||||||
</EnumValue>
|
</EnumValue>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Enum>
|
</Enum>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -42,4 +42,4 @@
|
|||||||
</EnumValue>
|
</EnumValue>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Enum>
|
</Enum>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -33,4 +33,4 @@
|
|||||||
</EnumValue>
|
</EnumValue>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Enum>
|
</Enum>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -33,4 +33,4 @@
|
|||||||
</EnumValue>
|
</EnumValue>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Enum>
|
</Enum>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -15,4 +15,4 @@
|
|||||||
<Content/>
|
<Content/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</FunctionalOption>
|
</FunctionalOption>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -10,4 +10,4 @@
|
|||||||
<LanguageCode>ru</LanguageCode>
|
<LanguageCode>ru</LanguageCode>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Language>
|
</Language>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -12,4 +12,4 @@
|
|||||||
<Comment/>
|
<Comment/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Role>
|
</Role>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -50,4 +50,4 @@
|
|||||||
<value>true</value>
|
<value>true</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</object>
|
||||||
</Rights>
|
</Rights>
|
||||||
|
|||||||
@@ -12,4 +12,4 @@
|
|||||||
<Comment/>
|
<Comment/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Role>
|
</Role>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
<setForNewObjects>true</setForNewObjects>
|
<setForNewObjects>true</setForNewObjects>
|
||||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||||
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
||||||
</Rights>
|
</Rights>
|
||||||
|
|||||||
@@ -12,4 +12,4 @@
|
|||||||
<Comment>При включении режима отладки информация отображается пользователя в этой роли</Comment>
|
<Comment>При включении режима отладки информация отображается пользователя в этой роли</Comment>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Role>
|
</Role>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -50,4 +50,4 @@
|
|||||||
<value>true</value>
|
<value>true</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</object>
|
||||||
</Rights>
|
</Rights>
|
||||||
|
|||||||
@@ -12,4 +12,4 @@
|
|||||||
<Comment/>
|
<Comment/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Role>
|
</Role>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -50,4 +50,4 @@
|
|||||||
<value>true</value>
|
<value>true</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</object>
|
||||||
</Rights>
|
</Rights>
|
||||||
|
|||||||
@@ -10,4 +10,4 @@
|
|||||||
<Type>Color</Type>
|
<Type>Color</Type>
|
||||||
</Properties>
|
</Properties>
|
||||||
</StyleItem>
|
</StyleItem>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -24,4 +24,4 @@
|
|||||||
<Subsystem>РК_Справочники</Subsystem>
|
<Subsystem>РК_Справочники</Subsystem>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Subsystem>
|
</Subsystem>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -21,4 +21,4 @@
|
|||||||
</Properties>
|
</Properties>
|
||||||
<ChildObjects/>
|
<ChildObjects/>
|
||||||
</Subsystem>
|
</Subsystem>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -30,4 +30,4 @@
|
|||||||
</Properties>
|
</Properties>
|
||||||
<ChildObjects/>
|
<ChildObjects/>
|
||||||
</Subsystem>
|
</Subsystem>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -10,4 +10,4 @@
|
|||||||
<Namespace>http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.8</Namespace>
|
<Namespace>http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.8</Namespace>
|
||||||
</Properties>
|
</Properties>
|
||||||
</XDTOPackage>
|
</XDTOPackage>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
@@ -13,4 +13,4 @@
|
|||||||
<Namespace>http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.8</Namespace>
|
<Namespace>http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.8</Namespace>
|
||||||
</Properties>
|
</Properties>
|
||||||
</XDTOPackage>
|
</XDTOPackage>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
|
|||||||
Reference in New Issue
Block a user