РК_ЗагрузкаОстатков 1.3.1.60: комиссия 2.5 и вкладка документов ввода.

Собственные и комиссионные ТЧ, серии только при отсутствии (заглушки по флагу);
созданные ВводОстатковТоваров выводятся на отдельную страницу для контроля.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mihailkudravcev
2026-08-13 14:55:33 +03:00
parent 383e4a7e1e
commit 665b257714
9 changed files with 3353 additions and 270 deletions
+24
View File
@@ -4,6 +4,30 @@
--- ---
## 1.3.1.60 (2026-08-13)
### РК_ЗагрузкаОстатков — вкладка созданных документов
- ТЧ `СозданныеДокументы` и страница **«Документы ввода»**: ссылка, вид (собственные / комиссия 2.5),
склад / соглашение / партнёр, число строк и количество, комментарий, признак теста.
- Заполняется на 3-м этапе (в т.ч. в режиме теста без записи); после создания форма переключается на эту вкладку.
---
## 1.3.1.59 (2026-08-13)
### РК_ЗагрузкаОстатков — комиссия 2.5 и серии без лишних заглушек
- ТЧ `ВходящиеСобственныеТовары` (бывш. `ВходящиеДанные`) и `ВходящиеКомиссионныеТовары`.
- Загрузка: `mode=combined` + `mode=commission` (только переданные на комиссию 2.5).
- Сопоставление: серии создаются **только если не найдены** в целевой ИБ.
Заглушки `Перенос_*` — только при флаге **«Создавать заглушки серий»**.
- Документы: собственные (по складу) и `ВводОстатковТоваровПереданныхНаКомиссию2_5`
(по соглашению + партнёру, без склада). Количество, без себестоимости.
- Нужен **ws-rhana ≥ 0.0.0.36** на исходной ИБ.
---
## 1.3.1.58 (2026-08-12) ## 1.3.1.58 (2026-08-12)
### РК_ЗагрузкаОстатков — отборы и заполнение входящих данных ### РК_ЗагрузкаОстатков — отборы и заполнение входящих данных
+4 -4
View File
@@ -2,7 +2,7 @@
Расширение РАНА для целевой конфигурации **crm3-26** (ИБ `crm3`, сервер `1c-srv.rhana.local`). Расширение РАНА для целевой конфигурации **crm3-26** (ИБ `crm3`, сервер `1c-srv.rhana.local`).
Текущая версия: **1.3.1.55** — см. [`VERSION`](VERSION) и `src/Configuration.xml`. Текущая версия: **1.3.1.60** — см. [`VERSION`](VERSION) и `src/Configuration.xml`.
Префикс новых объектов расширения: **`РК_`**. Префикс новых объектов расширения: **`РК_`**.
@@ -87,7 +87,7 @@
| `РК_НастройкиПодключенияКВнешнейБазе` | адрес `/hs/transfer`, токен, логин/пароль, таймаут, `ИмяТекущейБазы`, `Активно` | | `РК_НастройкиПодключенияКВнешнейБазе` | адрес `/hs/transfer`, токен, логин/пароль, таймаут, `ИмяТекущейБазы`, `Активно` |
| Менеджер справочника | `ПроверитьСоединение(Источник)`, `СоединениеАктивно(Ссылка)`, `ИмяТекущейИнформационнойБазы()` | | Менеджер справочника | `ПроверитьСоединение(Источник)`, `СоединениеАктивно(Ссылка)`, `ИмяТекущейИнформационнойБазы()` |
| `РК_РабочееПодключениеЧерезАПИ` | константа — текущая рабочая настройка | | `РК_РабочееПодключениеЧерезАПИ` | константа — текущая рабочая настройка |
| `РК_ЗагрузкаОстатков` | подбор складов / загрузка / сопоставление остатков из исходной ИБ | | `РК_ЗагрузкаОстатков` | подбор складов/организаций, загрузка собственных и комиссии 2.5, сопоставление, ввод остатков |
**Проверка соединения** (форма элемента или любой код): **Проверка соединения** (форма элемента или любой код):
@@ -101,13 +101,13 @@
HTTP-клиент передаёт `IBSession: start` (публикация с повторным использованием сеансов) и `X-Transfer-Token`. HTTP-клиент передаёт `IBSession: start` (публикация с повторным использованием сеансов) и `X-Transfer-Token`.
Пара: расширение **`ws-rhana`** на исходной ИБ (≥ 0.0.0.30 для складов/остатков; health — с ранних версий). Пара: расширение **`ws-rhana`** на исходной ИБ (≥ 0.0.0.36 для комиссии 2.5 и `series_number`; склады/остатки — с 0.0.0.30).
### Обработки и формы ### Обработки и формы
| Объект | Назначение | | Объект | Назначение |
|--------|------------| |--------|------------|
| `РК_ЗагрузкаОстатков` | загрузка складских остатков из исходной ИБ через Transfer API | | `РК_ЗагрузкаОстатков` | загрузка собственных и комиссионных (переданные 2.5) остатков через Transfer API |
| `РК_ОбработкаПарнеровКонтрагентов` | работа с партнёрами и контрагентами | | `РК_ОбработкаПарнеровКонтрагентов` | работа с партнёрами и контрагентами |
| `РК_ФормаНастроекРана` | настройки расширения | | `РК_ФормаНастроекРана` | настройки расширения |
| `ЗагрузкаДанныхИзФайла` | доработки загрузки НСИ | | `ЗагрузкаДанныхИзФайла` | доработки загрузки НСИ |
+1 -1
View File
@@ -1 +1 @@
1.3.1.58 1.3.1.60
+91 -33
View File
@@ -54,44 +54,102 @@
<Metadata name="DataProcessor.ЗагрузкаДанныхИзФайла.Form.ЗагрузкаДанныхИзФайла.Form" id="f47d02ff-17f2-4764-a151-627f4067a479.0" configVersion="e853a6b3591994346f9ce1d3b7d5cf0daf864fb8"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзФайла.Form.ЗагрузкаДанныхИзФайла.Form" id="f47d02ff-17f2-4764-a151-627f4067a479.0" configVersion="e853a6b3591994346f9ce1d3b7d5cf0daf864fb8"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзФайла.ManagerModule" id="b6fd11ac-f702-4d13-b328-9a78b0874483.2" configVersion="4ee4da0cb69abc7872d4d374b17301a114b89c93"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзФайла.ManagerModule" id="b6fd11ac-f702-4d13-b328-9a78b0874483.2" configVersion="4ee4da0cb69abc7872d4d374b17301a114b89c93"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков" id="5922bda8-8f69-487c-823a-8b09e343f59a" configVersion="271b6b17b7604ee871e7ad72ad5b7145e52b190f"> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков" id="5922bda8-8f69-487c-823a-8b09e343f59a" configVersion="271b6b17b7604ee871e7ad72ad5b7145e52b190f">
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.СкладИдентификатор" id="086673fd-91b2-4966-8472-144da87650e6"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.СкладИдентификатор" id="086673fd-91b2-4966-8472-144da87650e6"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.КомментарийСопоставления" id="09d80a73-1aa6-4ecc-a39a-c667e99e3084"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.КомментарийСопоставления" id="09d80a73-1aa6-4ecc-a39a-c667e99e3084"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные" id="11e438df-e73c-44d2-b3ed-08c04b320d8e"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары" id="11e438df-e73c-44d2-b3ed-08c04b320d8e"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.Организация" id="12cf6acc-d041-4fd5-bc4f-1c34fa0bc654"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.Организация" id="12cf6acc-d041-4fd5-bc4f-1c34fa0bc654"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.НомерГТДСсылка" id="13c8d651-954c-444e-9e3a-bfae61c7f1b4"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.НомерГТДСсылка" id="13c8d651-954c-444e-9e3a-bfae61c7f1b4"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.КоличествоКОтгрузке" id="153af227-1988-4f97-bb00-30c138e01e11"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.КоличествоКОтгрузке" id="153af227-1988-4f97-bb00-30c138e01e11"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.Характеристика" id="25ff0379-7e93-4930-a29e-97bb9c77c235"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.Характеристика" id="25ff0379-7e93-4930-a29e-97bb9c77c235"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.ПерезаписатьДокументы" id="26959905-0b22-424b-962e-0d306a2b9b35"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.ПерезаписатьДокументы" id="26959905-0b22-424b-962e-0d306a2b9b35"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ЗагруженоВДокумент" id="3ddb1d09-f4c4-4f2c-9c48-597e0c63296b"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ЗагруженоВДокумент" id="3ddb1d09-f4c4-4f2c-9c48-597e0c63296b"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ОрганизацияИдентификатор" id="4eef5276-30ac-40dd-bc7d-19e708da43e8"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ОрганизацияИдентификатор" id="4eef5276-30ac-40dd-bc7d-19e708da43e8"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.НоменклатураНаименование" id="56d7a5f1-92e5-41eb-bf65-e77db27abfba"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.НоменклатураНаименование" id="56d7a5f1-92e5-41eb-bf65-e77db27abfba"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ПолитикаСерии" id="57232515-7ec2-46b9-9c00-5f5dfd8f799c"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ПолитикаСерии" id="57232515-7ec2-46b9-9c00-5f5dfd8f799c"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.СерияСсылка" id="5ac27167-fc94-42ea-81cb-a29ff122415d"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.СерияСсылка" id="5ac27167-fc94-42ea-81cb-a29ff122415d"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.НоменклатураКод" id="6212b2dc-a55b-48bb-9437-075e5502a1c5"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.НоменклатураКод" id="6212b2dc-a55b-48bb-9437-075e5502a1c5"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.ДатаОстатков" id="646059bd-f290-4888-aec1-991b5ea3cc79"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.ДатаОстатков" id="646059bd-f290-4888-aec1-991b5ea3cc79"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.ДатаДокументовВвода" id="69a4692c-f48e-4d6c-b8e3-a37fe4757a18"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.ДатаДокументовВвода" id="69a4692c-f48e-4d6c-b8e3-a37fe4757a18"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ОрганизацияНаименование" id="6c30b7db-dbb7-4564-8e6c-d3b17ba55bd3"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ОрганизацияНаименование" id="6c30b7db-dbb7-4564-8e6c-d3b17ba55bd3"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ЕдИзм" id="6ff9dfd3-39a1-413b-86d1-d3e5ead111da"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ЕдИзм" id="6ff9dfd3-39a1-413b-86d1-d3e5ead111da"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ЕдИзмИдентификатор" id="78602e20-5003-44ea-92ec-3c5f64d5c04d"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ЕдИзмИдентификатор" id="78602e20-5003-44ea-92ec-3c5f64d5c04d"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.Серия" id="7b2b88b1-f1d7-463f-9b69-f2a049dc6287"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.Серия" id="7b2b88b1-f1d7-463f-9b69-f2a049dc6287"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.Количество" id="7b95a661-e588-4388-ab7a-906c5dba8326"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.Количество" id="7b95a661-e588-4388-ab7a-906c5dba8326"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ДокументВвода" id="7cd14970-3b1d-46ef-87db-8c86937ea3f9"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ДокументВвода" id="7cd14970-3b1d-46ef-87db-8c86937ea3f9"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ХарактеристикаНаименование" id="8fa984e4-bbf2-4d38-a80d-33827c3645da"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ХарактеристикаНаименование" id="8fa984e4-bbf2-4d38-a80d-33827c3645da"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.СерияИдентификатор" id="a0b08c20-f11b-47bb-ab41-3c80166deab5"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.СерияИдентификатор" id="a0b08c20-f11b-47bb-ab41-3c80166deab5"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ВидНоменклатурыНаименование" id="a1896aca-6eaf-46df-87dc-2e9f3ea8ae64"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ВидНоменклатурыНаименование" id="a1896aca-6eaf-46df-87dc-2e9f3ea8ae64"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.Сопоставлено" id="a5532d88-c81a-46f9-adb0-b76a04205ccc"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.Сопоставлено" id="a5532d88-c81a-46f9-adb0-b76a04205ccc"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.НоменклатураИдентификатор" id="a649bec4-d629-42a2-aeb4-d3d0b43c3e7a"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.НоменклатураИдентификатор" id="a649bec4-d629-42a2-aeb4-d3d0b43c3e7a"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ГТД" id="ab9a4fce-0d9b-4ac5-a109-a0c29d8e76d7"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ГТД" id="ab9a4fce-0d9b-4ac5-a109-a0c29d8e76d7"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ГТДИдентификатор" id="b037736f-f398-4863-8734-45f0e88ee3c9"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ГТДИдентификатор" id="b037736f-f398-4863-8734-45f0e88ee3c9"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ХарактеристикаИдентификатор" id="bf93ecc1-fb65-4ba9-be07-78575a66384b"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ХарактеристикаИдентификатор" id="bf93ecc1-fb65-4ba9-be07-78575a66384b"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ВидНоменклатурыИдентификатор" id="c1085a20-3350-4ac3-924e-4f165c416542"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ВидНоменклатурыИдентификатор" id="c1085a20-3350-4ac3-924e-4f165c416542"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.КоличествоОрганизации" id="d290bd6f-5309-493b-ad6e-32ca05ba5757"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.КоличествоОрганизации" id="d290bd6f-5309-493b-ad6e-32ca05ba5757"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.ПодключениеКСтороннейБазе" id="d8202194-9b79-46e4-b922-34f7c3add55c"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.ПодключениеКСтороннейБазе" id="d8202194-9b79-46e4-b922-34f7c3add55c"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.Склад" id="ee5deed3-c67c-4411-9069-1ee4c51b7776"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.Склад" id="ee5deed3-c67c-4411-9069-1ee4c51b7776"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.СкладНаименование" id="f1ddafd7-debe-42fb-9313-e024b16aac31"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.СкладНаименование" id="f1ddafd7-debe-42fb-9313-e024b16aac31"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.Номенклатура" id="f8bd1e77-bfbf-4bd4-8779-3a04f7be0bea"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.Номенклатура" id="f8bd1e77-bfbf-4bd4-8779-3a04f7be0bea"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.Артикул" id="fc18b487-eee5-4116-80e7-a57f1afafa44"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.Артикул" id="fc18b487-eee5-4116-80e7-a57f1afafa44"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеДанные.Attribute.ПолитикаХарактеристик" id="fe5d2e6d-6039-46ed-9277-3ec8fd31ae16"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ПолитикаХарактеристик" id="fe5d2e6d-6039-46ed-9277-3ec8fd31ae16"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.СоздаватьЗаглушкиСерий" id="e41a311b-b962-4888-ab06-c8ee29eb6351"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.СерияНомер" id="a8571e61-cf8d-4367-9c64-5388b105d891"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары" id="0d54b226-a65b-4152-b2b1-00a46c8f44e9"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.СоглашениеНаименование" id="8012839d-00ce-4f8e-b264-c3921b711a05"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.СоглашениеИдентификатор" id="875f7583-31b2-4e50-81be-ebbfc1ce6867"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ПартнерНаименование" id="4d2b3f2c-99f0-409d-926b-f999231e2e84"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ПартнерИдентификатор" id="c983b3a7-7f77-4897-9821-1704057ded23"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.КонтрагентНаименование" id="7bde2243-4529-4068-8dcf-bdfd2b632646"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.КонтрагентИдентификатор" id="749a26e7-61b0-4702-9469-032ae76add1e"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ДоговорНаименование" id="4ece6fa6-3302-41bd-9a6a-2ef27f24d7c3"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ДоговорИдентификатор" id="a2b6598a-6111-4c64-963e-805be49dd7ec"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Соглашение" id="f4560a2f-4c7e-4ba9-a756-5c1b766cedda"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Партнер" id="20bfdcf9-a474-4f74-afcb-0b4db9265287"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Контрагент" id="fbc63627-aa75-4198-88de-254066d6f591"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Договор" id="cd4a19c9-98a7-4729-95ed-6c8a99e4a1af"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.НоменклатураИдентификатор" id="42e1d107-46f1-425c-8f96-f0840bd7b08f"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.НоменклатураНаименование" id="27c6414c-6455-4996-9570-34467e751a99"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.СкладНаименование" id="d457e5e4-d10a-4284-a56a-95fe5f1d0094"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.СкладИдентификатор" id="67f11984-0de5-4312-b0da-7b2da2e3f23b"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ЕдИзмИдентификатор" id="d048c54a-a707-4d72-83ef-879738fe8e03"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ЕдИзм" id="406ad441-aad6-4eed-bc9e-8f94bf5e784c"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Серия" id="af2e1824-82d9-40d5-820f-a2beb5bbfdcd"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ГТД" id="b810c8e6-e084-4fc3-9aee-11b28dfb0a22"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Количество" id="433a0d92-6643-4509-ac1a-8938cb7aa9d3"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.КоличествоКОтгрузке" id="96d40d10-3374-40d1-9daf-3ddcb1cb6b7a"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.КоличествоОрганизации" id="89d4f4b4-5bd5-44a2-a9c7-42da3d0e99e5"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Артикул" id="bd23b044-fa3b-454a-a323-72e56d226341"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.НоменклатураКод" id="576704e0-2fc3-4663-b250-2c2862d809c1"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ХарактеристикаНаименование" id="ae7ca2d6-07f0-4e75-a773-b492af7182c5"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ХарактеристикаИдентификатор" id="62d721ef-a32b-426a-9dd8-2124ac69ec59"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.СерияИдентификатор" id="36c090cf-5dcb-4879-a274-dc99799db798"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ГТДИдентификатор" id="41d1148e-30d6-427c-9aa6-21feaa13873f"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ВидНоменклатурыНаименование" id="301ff138-66da-4e4d-9c54-36cab8624eaf"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ВидНоменклатурыИдентификатор" id="41c373a6-6054-4baf-a62c-b57dfa22cf7f"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ПолитикаСерии" id="faa0dfb4-a8f6-450f-8485-d51051c14273"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ПолитикаХарактеристик" id="6e21bf07-e282-45cd-83a7-65e4a65ba5de"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ОрганизацияНаименование" id="e9a902eb-6327-4833-9ef9-141b72da27ed"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ОрганизацияИдентификатор" id="edcbf2ee-ffea-4f06-a4da-e8bf3fd97ec9"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Номенклатура" id="0ebb2c71-0c8c-479b-aec8-27041de7c559"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Склад" id="1b644129-2bd8-4daf-ad8d-3f06cfdd8916"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Характеристика" id="b574b890-f23a-4432-9227-9454d4e34ab0"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.СерияНомер" id="75a4b657-0198-425a-ba44-2a3c88549737"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.СерияСсылка" id="0ecc319e-eb67-4865-b355-b4c4f57caae1"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.НомерГТДСсылка" id="eed8a6af-58e1-4326-add1-fac1cda64a07"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.Сопоставлено" id="7536ff82-9462-4dbd-a99e-c0522bfe810a"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.КомментарийСопоставления" id="45b76fd3-eb95-4779-ac62-0aa185285346"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ДокументВвода" id="35290aa0-0f69-4787-92c2-75242f0ae40d"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ЗагруженоВДокумент" id="c030165b-15da-47d7-b489-123dd223030a"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы" id="c3e8a1b4-7d2f-4e91-8a56-2b0c9f4d6e18"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.Документ" id="b8d3f6a9-2c74-43e6-9f0b-70514e92b36d"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.ВидОстатков" id="c9e4a7b0-3d85-44f7-8a1c-81625fa3c47e"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.Склад" id="d0f5b8c1-4e96-4508-9b2d-92736ab4d58f"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.Соглашение" id="e1a6c9d2-5f07-4619-8c3e-a3847bc5e690"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.Партнер" id="f2b7d0e3-6018-472a-9d4f-b4958cd6f7a1"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.КоличествоСтрок" id="a3c8e1f4-7129-483b-8e50-c5a69de708b2"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.КоличествоТоваров" id="b4d9f2a5-823a-494c-9f61-d6b70ef819c3"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.Комментарий" id="c5e0a3b6-934b-4a5d-8a72-e7c81f092ad4"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.ЭтоТест" id="d6f1b4c7-a45c-4b6e-9b83-f8d9201a3be5"/>
</Metadata> </Metadata>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Form.ПодборСкладов" id="9dfcb2a8-bf22-44c3-97a7-a69f70ca4d61" configVersion="3bf7d51ed9ee398e1704b692c5cf543de885b35d"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Form.ПодборСкладов" id="9dfcb2a8-bf22-44c3-97a7-a69f70ca4d61" configVersion="3bf7d51ed9ee398e1704b692c5cf543de885b35d"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Form.ПодборСкладов.Form" id="9dfcb2a8-bf22-44c3-97a7-a69f70ca4d61.0" configVersion="8cddcd809beef075b470c32dd5564aebb81e405c"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Form.ПодборСкладов.Form" id="9dfcb2a8-bf22-44c3-97a7-a69f70ca4d61.0" configVersion="8cddcd809beef075b470c32dd5564aebb81e405c"/>
+1 -1
View File
@@ -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.1.58</Version> <Version>1.3.1.60</Version>
<DefaultStyle/> <DefaultStyle/>
<DefaultLanguage>Language.Русский</DefaultLanguage> <DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/> <BriefInformation/>
File diff suppressed because it is too large Load Diff
@@ -3,12 +3,12 @@
#Область ПрограммныйИнтерфейс #Область ПрограммныйИнтерфейс
// Заполняет ТЧ ВходящиеДанные строками остатков Transfer API (mode=combined по умолчанию). // Заполняет ТЧ ВходящиеСобственныеТовары строками остатков Transfer API (mode=combined по умолчанию).
// //
Процедура ЗаполнитьВходящиеДанныеИзОтветаОстатков(ОтветAPI, ОчищатьПередЗаполнением = Истина) Экспорт Процедура ЗаполнитьВходящиеСобственныеТоварыИзОтветаОстатков(ОтветAPI, ОчищатьПередЗаполнением = Истина) Экспорт
Если ОчищатьПередЗаполнением Тогда Если ОчищатьПередЗаполнением Тогда
ВходящиеДанные.Очистить(); ВходящиеСобственныеТовары.Очистить();
КонецЕсли; КонецЕсли;
СтрокиОтвета = Неопределено; СтрокиОтвета = Неопределено;
@@ -20,14 +20,46 @@
КонецЕсли; КонецЕсли;
Для Каждого СтрокаAPI Из СтрокиОтвета Цикл Для Каждого СтрокаAPI Из СтрокиОтвета Цикл
НовСтр = ВходящиеДанные.Добавить(); НовСтр = ВходящиеСобственныеТовары.Добавить();
ЗаполнитьСтрокуВходящихДанныхИзAPI(НовСтр, СтрокаAPI); ЗаполнитьСтрокуВходящихДанныхИзAPI(НовСтр, СтрокаAPI);
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
// Сопоставление строк ТЧ с НСИ целевой ИБ + создание серий-заглушек при необходимости. // Заполняет ТЧ ВходящиеКомиссионныеТовары остатками mode=commission (переданные 2.5).
// Алгоритм — по логике scripts/generate_balances_apply_bsl.py (артикул/GUID/код/имя; серии Перенос_*). //
Процедура ЗаполнитьВходящиеКомиссионныеТоварыИзОтветаОстатков(ОтветAPI, ОчищатьПередЗаполнением = Истина) Экспорт
Если ОчищатьПередЗаполнением Тогда
ВходящиеКомиссионныеТовары.Очистить();
КонецЕсли;
СтрокиОтвета = Неопределено;
Если ТипЗнч(ОтветAPI) = Тип("Структура") Или ТипЗнч(ОтветAPI) = Тип("Соответствие") Тогда
СтрокиОтвета = ЗначениеСвойства(ОтветAPI, "rows", Неопределено);
КонецЕсли;
Если ТипЗнч(СтрокиОтвета) <> Тип("Массив") Тогда
Возврат;
КонецЕсли;
Для Каждого СтрокаAPI Из СтрокиОтвета Цикл
НовСтр = ВходящиеКомиссионныеТовары.Добавить();
ЗаполнитьСтрокуВходящихДанныхИзAPI(НовСтр, СтрокаAPI);
НовСтр.Количество = ЧислоИзЗначения(ЗначениеСвойства(СтрокаAPI, "qty_commission",
ЗначениеСвойства(СтрокаAPI, "qty_org", НовСтр.Количество)), 0);
НовСтр.КоличествоОрганизации = НовСтр.Количество;
НовСтр.СоглашениеИдентификатор = UUIDИзСтроки(ЗначениеСвойства(СтрокаAPI, "agreement_guid", ""));
НовСтр.СоглашениеНаименование = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "agreement_name", "")));
НовСтр.ПартнерИдентификатор = UUIDИзСтроки(ЗначениеСвойства(СтрокаAPI, "partner_guid", ""));
НовСтр.ПартнерНаименование = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "partner_name", "")));
НовСтр.КонтрагентИдентификатор = UUIDИзСтроки(ЗначениеСвойства(СтрокаAPI, "contractor_guid", ""));
НовСтр.КонтрагентНаименование = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "contractor_name", "")));
КонецЦикла;
КонецПроцедуры
// Сопоставление строк ТЧ с НСИ целевой ИБ.
// Серии создаются только если не найдены; заглушки Перенос_* — только при СоздаватьЗаглушкиСерий.
// //
// Параметры: // Параметры:
// РежимТест - Булево - Истина: только поиск, без создания серий/характеристик // РежимТест - Булево - Истина: только поиск, без создания серий/характеристик
@@ -35,7 +67,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// Структура - Сопоставлено, НеСопоставлено, СозданоСерий, СозданоХарактеристик // Структура - Сопоставлено, НеСопоставлено, СозданоСерий, СозданоХарактеристик
// //
Функция СопоставитьВходящиеДанные(РежимТест = Истина) Экспорт Функция СопоставитьВходящиеСобственныеТовары(РежимТест = Истина) Экспорт
Результат = Новый Структура; Результат = Новый Структура;
Результат.Вставить("Сопоставлено", 0); Результат.Вставить("Сопоставлено", 0);
@@ -51,7 +83,7 @@
КэшТребуетсяСерия = Новый Соответствие; КэшТребуетсяСерия = Новый Соответствие;
КэшСерий = Новый Соответствие; КэшСерий = Новый Соответствие;
Для Каждого СтрТ Из ВходящиеДанные Цикл Для Каждого СтрТ Из ВходящиеСобственныеТовары Цикл
СтрТ.Сопоставлено = Ложь; СтрТ.Сопоставлено = Ложь;
СтрТ.КомментарийСопоставления = ""; СтрТ.КомментарийСопоставления = "";
@@ -83,23 +115,17 @@
Сер = НайтиИлиСоздатьСерию(СтрТ, Ном, СкладЦель, СуффиксДатыСер, РежимТест, Сер = НайтиИлиСоздатьСерию(СтрТ, Ном, СкладЦель, СуффиксДатыСер, РежимТест,
КэшТребуетсяСерия, КэшСерий, Результат); КэшТребуетсяСерия, КэшСерий, Результат);
СтрТ.СерияСсылка = Сер; СтрТ.СерияСсылка = Сер;
Если НоменклатураИспользуетСерии(Ном, КэшТребуетсяСерия) И Не ЗначениеЗаполнено(Сер) Тогда
Если ПустаяСтрока(СтрТ.КомментарийСопоставления) Или СтрТ.КомментарийСопоставления = "OK" Тогда
СтрТ.КомментарийСопоставления = "Серия не найдена"
+ ?(РежимТест, " (тест)", "")
+ ?(СоздаватьЗаглушкиСерий, "", "; заглушки выключены");
КонецЕсли;
Результат.НеСопоставлено = Результат.НеСопоставлено + 1;
Продолжить;
КонецЕсли;
Если ЗначениеЗаполнено(СтрТ.ГТД) Тогда ЗаполнитьНомерГТДСтроки(СтрТ);
КодГТД = СокрЛП(СтрТ.ГТД);
СтрТ.НомерГТДСсылка = Справочники.НомераГТД.НайтиПоКоду(КодГТД);
Если Не ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
СтрТ.НомерГТДСсылка = Справочники.НомераГТД.НайтиПоРеквизиту("РегистрационныйНомер", КодГТД);
КонецЕсли;
Если Не ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
СтрТ.НомерГТДСсылка = Справочники.НомераГТД.НайтиПоНаименованию(КодГТД, Истина);
КонецЕсли;
Если Не ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
СсылкаГТД = СсылкаПоUUID(Справочники.НомераГТД, СтрТ.ГТДИдентификатор);
Если ЗначениеЗаполнено(СсылкаГТД) И ОбщегоНазначения.СсылкаСуществует(СсылкаГТД) Тогда
СтрТ.НомерГТДСсылка = СсылкаГТД;
КонецЕсли;
КонецЕсли;
КонецЕсли;
СтрТ.Сопоставлено = Истина; СтрТ.Сопоставлено = Истина;
Если ПустаяСтрока(СтрТ.КомментарийСопоставления) Тогда Если ПустаяСтрока(СтрТ.КомментарийСопоставления) Тогда
@@ -113,21 +139,116 @@
КонецФункции КонецФункции
// Создание документов ВводОстатковТоваров по сопоставленным строкам (1 документ на склад). // Сопоставление комиссионных строк (переданные 2.5): соглашение, партнёр, контрагент, договор.
// Склад не обязателен. Серии — только существующие или созданные из исходных данных.
//
Функция СопоставитьВходящиеКомиссионныеТовары(РежимТест = Истина) Экспорт
Результат = Новый Структура;
Результат.Вставить("Сопоставлено", 0);
Результат.Вставить("НеСопоставлено", 0);
Результат.Вставить("СозданоСерий", 0);
Результат.Вставить("СозданоХарактеристик", 0);
СуффиксДатыСер = Формат(?(ЗначениеЗаполнено(ДатаДокументовВвода), ДатаДокументовВвода, ДатаОстатков), "ДФ=yyyyMMdd");
Если ПустаяСтрока(СуффиксДатыСер) Тогда
СуффиксДатыСер = Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMdd");
КонецЕсли;
КэшТребуетсяСерия = Новый Соответствие;
КэшСерий = Новый Соответствие;
Для Каждого СтрТ Из ВходящиеКомиссионныеТовары Цикл
СтрТ.Сопоставлено = Ложь;
СтрТ.КомментарийСопоставления = "";
СтрТ.Номенклатура = Справочники.Номенклатура.ПустаяСсылка();
СтрТ.Склад = Справочники.Склады.ПустаяСсылка();
СтрТ.Характеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
СтрТ.СерияСсылка = Справочники.СерииНоменклатуры.ПустаяСсылка();
СтрТ.НомерГТДСсылка = Справочники.НомераГТД.ПустаяСсылка();
СтрТ.Соглашение = Справочники.СоглашенияСКлиентами.ПустаяСсылка();
СтрТ.Партнер = Справочники.Партнеры.ПустаяСсылка();
СтрТ.Контрагент = Справочники.Контрагенты.ПустаяСсылка();
СтрТ.Договор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
Ном = НайтиНоменклатуруСтроки(СтрТ);
Если Не ЗначениеЗаполнено(Ном) Тогда
СтрТ.КомментарийСопоставления = "Номенклатура не найдена";
Результат.НеСопоставлено = Результат.НеСопоставлено + 1;
Продолжить;
КонецЕсли;
СтрТ.Номенклатура = Ном;
СкладЦель = НайтиСкладСтроки(СтрТ);
Если ЗначениеЗаполнено(СкладЦель) Тогда
СтрТ.Склад = СкладЦель;
КонецЕсли;
Согл = НайтиСоглашениеСтроки(СтрТ);
Если Не ЗначениеЗаполнено(Согл) Тогда
СтрТ.КомментарийСопоставления = "Соглашение не найдено";
Результат.НеСопоставлено = Результат.НеСопоставлено + 1;
Продолжить;
КонецЕсли;
СтрТ.Соглашение = Согл;
ЗаполнитьПартнераКонтрагентаДоговорСтроки(СтрТ, Согл);
Если Не ЗначениеЗаполнено(СтрТ.Партнер) Тогда
СтрТ.КомментарийСопоставления = "Партнер / комиссионер не найден";
Результат.НеСопоставлено = Результат.НеСопоставлено + 1;
Продолжить;
КонецЕсли;
Хар = НайтиИлиСоздатьХарактеристику(СтрТ, Ном, РежимТест, Результат);
СтрТ.Характеристика = Хар;
Сер = НайтиИлиСоздатьСерию(СтрТ, Ном, СтрТ.Склад, СуффиксДатыСер, РежимТест,
КэшТребуетсяСерия, КэшСерий, Результат);
СтрТ.СерияСсылка = Сер;
Если НоменклатураИспользуетСерии(Ном, КэшТребуетсяСерия) И Не ЗначениеЗаполнено(Сер) Тогда
Если ПустаяСтрока(СтрТ.КомментарийСопоставления) Или СтрТ.КомментарийСопоставления = "OK" Тогда
СтрТ.КомментарийСопоставления = "Серия не найдена"
+ ?(РежимТест, " (тест)", "")
+ ?(СоздаватьЗаглушкиСерий, "", "; заглушки выключены");
КонецЕсли;
Результат.НеСопоставлено = Результат.НеСопоставлено + 1;
Продолжить;
КонецЕсли;
ЗаполнитьНомерГТДСтроки(СтрТ);
СтрТ.Сопоставлено = Истина;
Если ПустаяСтрока(СтрТ.КомментарийСопоставления) Тогда
СтрТ.КомментарийСопоставления = "OK";
КонецЕсли;
Результат.Сопоставлено = Результат.Сопоставлено + 1;
КонецЦикла;
Возврат Результат;
КонецФункции
// Создание документов ВводОстатковТоваров по сопоставленным строкам.
// Собственные — 1 документ на склад; комиссия 2.5 — 1 документ на соглашение+партнёра (без склада).
// Себестоимость не заполняется (нет данных в API) — только оперативный учёт количества. // Себестоимость не заполняется (нет данных в API) — только оперативный учёт количества.
// //
// Параметры: // Параметры:
// РежимТест - Булево - только подсчёт без записи // РежимТест - Булево - только подсчёт без записи
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - СозданоДокументов, УдаленоДокументов, СтрокВДокументах, Пропущено, Ошибок, ТекстТега // Структура - СозданоДокументов, СозданоДокументовКомиссии, УдаленоДокументов,
// СтрокВДокументах, СтрокКомиссии, Пропущено, Ошибок, ТекстТега
// //
Функция СоздатьДокументыВводаОстатков(РежимТест = Истина) Экспорт Функция СоздатьДокументыВводаОстатков(РежимТест = Истина) Экспорт
Результат = Новый Структура; Результат = Новый Структура;
Результат.Вставить("СозданоДокументов", 0); Результат.Вставить("СозданоДокументов", 0);
Результат.Вставить("СозданоДокументовКомиссии", 0);
Результат.Вставить("УдаленоДокументов", 0); Результат.Вставить("УдаленоДокументов", 0);
Результат.Вставить("СтрокВДокументах", 0); Результат.Вставить("СтрокВДокументах", 0);
Результат.Вставить("СтрокКомиссии", 0);
Результат.Вставить("Пропущено", 0); Результат.Вставить("Пропущено", 0);
Результат.Вставить("Ошибок", 0); Результат.Вставить("Ошибок", 0);
Результат.Вставить("ТекстТега", ""); Результат.Вставить("ТекстТега", "");
@@ -142,12 +263,13 @@
ТекстТега = ТегКомментарияДокументов(); ТекстТега = ТегКомментарияДокументов();
Результат.ТекстТега = ТекстТега; Результат.ТекстТега = ТекстТега;
СтрокиПоСкладу = СгруппироватьСопоставленныеСтрокиПоСкладу(); СозданныеДокументы.Очистить();
Если СтрокиПоСкладу.Количество() = 0 Тогда
Возврат Результат;
КонецЕсли;
Если ПерезаписатьДокументы И Не РежимТест Тогда СтрокиПоСкладу = СгруппироватьСопоставленныеСтрокиПоСкладу();
СтрокиКомиссии = СгруппироватьСопоставленныеСтрокиКомиссии();
Если ПерезаписатьДокументы И Не РежимТест
И (СтрокиПоСкладу.Количество() > 0 Или СтрокиКомиссии.Количество() > 0) Тогда
Результат.УдаленоДокументов = УдалитьПрежниеДокументыВолны(ТекстТега); Результат.УдаленоДокументов = УдалитьПрежниеДокументыВолны(ТекстТега);
КонецЕсли; КонецЕсли;
@@ -163,6 +285,8 @@
Если РежимТест Тогда Если РежимТест Тогда
Результат.СозданоДокументов = Результат.СозданоДокументов + 1; Результат.СозданоДокументов = Результат.СозданоДокументов + 1;
Результат.СтрокВДокументах = Результат.СтрокВДокументах + СтрокиСклада.Количество(); Результат.СтрокВДокументах = Результат.СтрокВДокументах + СтрокиСклада.Количество();
ДобавитьВСозданныеДокументы(Неопределено, "Собственные", СкладДок,
Неопределено, Неопределено, СтрокиСклада, ТекстТега + ", склад " + СокрЛП(Строка(СкладДок)), Истина);
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -174,6 +298,43 @@
СтрТ.ДокументВвода = Док.Ссылка; СтрТ.ДокументВвода = Док.Ссылка;
СтрТ.ЗагруженоВДокумент = Истина; СтрТ.ЗагруженоВДокумент = Истина;
КонецЦикла; КонецЦикла;
ДобавитьВСозданныеДокументы(Док.Ссылка, "Собственные", СкладДок,
Неопределено, Неопределено, СтрокиСклада, Док.Комментарий, Ложь);
КонецЕсли;
Исключение
Результат.Ошибок = Результат.Ошибок + 1;
КонецПопытки;
КонецЦикла;
Для Каждого ЭлементГруппы Из СтрокиКомиссии Цикл
СтрокиГруппы = ЭлементГруппы.Значение;
Если СтрокиГруппы.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
Попытка
Если РежимТест Тогда
Результат.СозданоДокументовКомиссии = Результат.СозданоДокументовКомиссии + 1;
Результат.СтрокКомиссии = Результат.СтрокКомиссии + СтрокиГруппы.Количество();
Первая = СтрокиГруппы[0];
ДобавитьВСозданныеДокументы(Неопределено, "Комиссия 2.5", Неопределено,
Первая.Соглашение, Первая.Партнер, СтрокиГруппы,
ТекстТега + ", комиссия 2.5, " + СокрЛП(Строка(Первая.Партнер)), Истина);
Продолжить;
КонецЕсли;
Док = СоздатьДокументКомиссии(СтрокиГруппы, ТекстТега);
Если ЗначениеЗаполнено(Док) Тогда
Результат.СозданоДокументовКомиссии = Результат.СозданоДокументовКомиссии + 1;
Результат.СтрокКомиссии = Результат.СтрокКомиссии + Док.Товары.Количество();
Для Каждого СтрТ Из СтрокиГруппы Цикл
СтрТ.ДокументВвода = Док.Ссылка;
СтрТ.ЗагруженоВДокумент = Истина;
КонецЦикла;
ДобавитьВСозданныеДокументы(Док.Ссылка, "Комиссия 2.5", Неопределено,
Док.СоглашениеСКомиссионером, Док.Партнер, СтрокиГруппы, Док.Комментарий, Ложь);
КонецЕсли; КонецЕсли;
Исключение Исключение
Результат.Ошибок = Результат.Ошибок + 1; Результат.Ошибок = Результат.Ошибок + 1;
@@ -189,6 +350,33 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Процедура ДобавитьВСозданныеДокументы(ДокументСсылка, ВидОстатков, Склад, Соглашение, Партнер, СтрокиТоваров, Комментарий, ЭтоТест)
НовСтр = СозданныеДокументы.Добавить();
Если ЗначениеЗаполнено(ДокументСсылка) Тогда
НовСтр.Документ = ДокументСсылка;
КонецЕсли;
НовСтр.ВидОстатков = ВидОстатков;
Если ЗначениеЗаполнено(Склад) Тогда
НовСтр.Склад = Склад;
КонецЕсли;
Если ЗначениеЗаполнено(Соглашение) Тогда
НовСтр.Соглашение = Соглашение;
КонецЕсли;
Если ЗначениеЗаполнено(Партнер) Тогда
НовСтр.Партнер = Партнер;
КонецЕсли;
НовСтр.КоличествоСтрок = СтрокиТоваров.Количество();
Колво = 0;
Для Каждого СтрТ Из СтрокиТоваров Цикл
Колво = Колво + СтрТ.Количество;
КонецЦикла;
НовСтр.КоличествоТоваров = Колво;
НовСтр.Комментарий = Комментарий;
НовСтр.ЭтоТест = ЭтоТест;
КонецПроцедуры
Функция ТегКомментарияДокументов() Функция ТегКомментарияДокументов()
Суффикс = Формат(ДатаДокументовВвода, "ДФ=yyyyMMdd"); Суффикс = Формат(ДатаДокументовВвода, "ДФ=yyyyMMdd");
@@ -202,7 +390,7 @@
Функция СгруппироватьСопоставленныеСтрокиПоСкладу() Функция СгруппироватьСопоставленныеСтрокиПоСкладу()
Группы = Новый Соответствие; Группы = Новый Соответствие;
Для Каждого СтрТ Из ВходящиеДанные Цикл Для Каждого СтрТ Из ВходящиеСобственныеТовары Цикл
Если Не СтрТ.Сопоставлено Тогда Если Не СтрТ.Сопоставлено Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -223,7 +411,7 @@
// Переключить ключи на ссылки складов для удобства обхода. // Переключить ключи на ссылки складов для удобства обхода.
Результат = Новый Соответствие; Результат = Новый Соответствие;
Для Каждого СтрТ Из ВходящиеДанные Цикл Для Каждого СтрТ Из ВходящиеСобственныеТовары Цикл
Если Не СтрТ.Сопоставлено Или Не ЗначениеЗаполнено(СтрТ.Склад) Тогда Если Не СтрТ.Сопоставлено Или Не ЗначениеЗаполнено(СтрТ.Склад) Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -237,6 +425,33 @@
КонецФункции КонецФункции
Функция СгруппироватьСопоставленныеСтрокиКомиссии()
Группы = Новый Соответствие;
Для Каждого СтрТ Из ВходящиеКомиссионныеТовары Цикл
Если Не СтрТ.Сопоставлено Тогда
Продолжить;
КонецЕсли;
Если Не ЗначениеЗаполнено(СтрТ.Соглашение) Или Не ЗначениеЗаполнено(СтрТ.Номенклатура) Тогда
Продолжить;
КонецЕсли;
Если СтрТ.Количество <= 0 Тогда
Продолжить;
КонецЕсли;
КлючГруппы = Строка(СтрТ.Соглашение.УникальныйИдентификатор())
+ "|" + Строка(СтрТ.Партнер.УникальныйИдентификатор())
+ "|" + Строка(СтрТ.Договор.УникальныйИдентификатор());
СтрокиГруппы = Группы.Получить(КлючГруппы);
Если СтрокиГруппы = Неопределено Тогда
СтрокиГруппы = Новый Массив;
Группы.Вставить(КлючГруппы, СтрокиГруппы);
КонецЕсли;
СтрокиГруппы.Добавить(СтрТ);
КонецЦикла;
Возврат Группы;
КонецФункции
Функция УдалитьПрежниеДокументыВолны(ТекстТега) Функция УдалитьПрежниеДокументыВолны(ТекстТега)
Удалено = 0; Удалено = 0;
@@ -251,7 +466,9 @@
| И НЕ Ввод.Проведен | И НЕ Ввод.Проведен
| И Ввод.Организация = &Организация | И Ввод.Организация = &Организация
| И Ввод.Комментарий ПОДОБНО &Тег | И Ввод.Комментарий ПОДОБНО &Тег
| И Ввод.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров)"; | И Ввод.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию2_5))";
Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Тег", "%" + ТекстТега + "%"); Запрос.УстановитьПараметр("Тег", "%" + ТекстТега + "%");
@@ -301,6 +518,80 @@
КонецПопытки; КонецПопытки;
Для Каждого СтрТ Из СтрокиСклада Цикл Для Каждого СтрТ Из СтрокиСклада Цикл
ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ);
КонецЦикла;
Если Док.Товары.Количество() = 0 Тогда
Возврат Документы.ВводОстатковТоваров.ПустаяСсылка();
КонецЕсли;
ОбщегоНазначенияУТ.ЗаполнитьИдентификаторыДокумента(Док, "Товары");
Попытка
ПараметрыУказанияСерий = НоменклатураСервер.ПараметрыУказанияСерий(Док, Документы.ВводОстатковТоваров);
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Док, ПараметрыУказанияСерий);
Исключение
КонецПопытки;
Док.ОбменДанными.Загрузка = Ложь;
Док.Записать(РежимЗаписиДокумента.Запись);
Возврат Док;
КонецФункции
Функция СоздатьДокументКомиссии(СтрокиГруппы, ТекстТега)
Первая = СтрокиГруппы[0];
Док = Документы.ВводОстатковТоваров.СоздатьДокумент();
Док.Дата = ДатаДокументовВвода;
Док.Организация = Организация;
Док.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию2_5;
Док.СоглашениеСКомиссионером = Первая.Соглашение;
Док.Партнер = Первая.Партнер;
Док.Контрагент = Первая.Контрагент;
Док.Договор = Первая.Договор;
Док.Комментарий = ТекстТега + ", комиссия 2.5, " + СокрЛП(Строка(Первая.Партнер));
Док.ОтражатьВОперативномУчете = Истина;
Док.ОтражатьСебестоимость = Ложь;
Док.ЦенаВключаетНДС = Ложь;
Попытка
Док.Валюта = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Организация);
Исключение
Док.Валюта = Константы.ВалютаРегламентированногоУчета.Получить();
КонецПопытки;
Если Не ЗначениеЗаполнено(Док.НалогообложениеНДС) Тогда
Док.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС;
КонецЕсли;
Попытка
ПараметрыНДС = Документы.ВводОстатковТоваров.ИнициализироватьПараметрыВидовДеятельностиНДС(Док);
УчетНДСУП.ЗаполнитьВидДеятельностиНДС(Док.ВидДеятельностиНДС, ПараметрыНДС);
Исключение
КонецПопытки;
Для Каждого СтрТ Из СтрокиГруппы Цикл
ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ);
КонецЦикла;
Если Док.Товары.Количество() = 0 Тогда
Возврат Документы.ВводОстатковТоваров.ПустаяСсылка();
КонецЕсли;
ОбщегоНазначенияУТ.ЗаполнитьИдентификаторыДокумента(Док, "Товары");
Попытка
ПараметрыУказанияСерий = НоменклатураСервер.ПараметрыУказанияСерий(Док, Документы.ВводОстатковТоваров);
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Док, ПараметрыУказанияСерий);
Исключение
КонецПопытки;
Док.ОбменДанными.Загрузка = Ложь;
Док.Записать(РежимЗаписиДокумента.Запись);
Возврат Док;
КонецФункции
Процедура ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ)
НовСтр = Док.Товары.Добавить(); НовСтр = Док.Товары.Добавить();
НовСтр.Номенклатура = СтрТ.Номенклатура; НовСтр.Номенклатура = СтрТ.Номенклатура;
НовСтр.Характеристика = СтрТ.Характеристика; НовСтр.Характеристика = СтрТ.Характеристика;
@@ -324,24 +615,8 @@
СтрСер.Количество = НовСтр.Количество; СтрСер.Количество = НовСтр.Количество;
СтрСер.КоличествоУпаковок = НовСтр.Количество; СтрСер.КоличествоУпаковок = НовСтр.Количество;
КонецЕсли; КонецЕсли;
КонецЦикла;
Если Док.Товары.Количество() = 0 Тогда КонецПроцедуры
Возврат Документы.ВводОстатковТоваров.ПустаяСсылка();
КонецЕсли;
ОбщегоНазначенияУТ.ЗаполнитьИдентификаторыДокумента(Док, "Товары");
Попытка
ПараметрыУказанияСерий = НоменклатураСервер.ПараметрыУказанияСерий(Док, Документы.ВводОстатковТоваров);
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Док, ПараметрыУказанияСерий);
Исключение
КонецПопытки;
Док.ОбменДанными.Загрузка = Ложь;
Док.Записать(РежимЗаписиДокумента.Запись);
Возврат Док;
КонецФункции
Процедура ЗаполнитьСтрокуВходящихДанныхИзAPI(НовСтр, СтрокаAPI) Процедура ЗаполнитьСтрокуВходящихДанныхИзAPI(НовСтр, СтрокаAPI)
@@ -364,6 +639,10 @@
НовСтр.СерияИдентификатор = UUIDИзСтроки(ЗначениеСвойства(СтрокаAPI, "series_guid", "")); НовСтр.СерияИдентификатор = UUIDИзСтроки(ЗначениеСвойства(СтрокаAPI, "series_guid", ""));
НовСтр.Серия = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "series_name", ""))); НовСтр.Серия = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "series_name", "")));
НовСтр.СерияНомер = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "series_number", "")));
Если ПустаяСтрока(НовСтр.Серия) И Не ПустаяСтрока(НовСтр.СерияНомер) Тогда
НовСтр.Серия = НовСтр.СерияНомер;
КонецЕсли;
НовСтр.ГТДИдентификатор = UUIDИзСтроки(ЗначениеСвойства(СтрокаAPI, "gtd_guid", "")); НовСтр.ГТДИдентификатор = UUIDИзСтроки(ЗначениеСвойства(СтрокаAPI, "gtd_guid", ""));
НовСтр.ГТД = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "gtd_name", ""))); НовСтр.ГТД = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "gtd_name", "")));
@@ -492,30 +771,157 @@
КонецФункции КонецФункции
Функция НайтиИлиСоздатьСерию(СтрТ, Ном, СкладЦель, СуффиксДатыСер, РежимТест, Функция НоменклатураИспользуетСерии(Ном, КэшТребуетсяСерия)
КэшТребуетсяСерия, КэшСерий, Результат)
Сер = Справочники.СерииНоменклатуры.ПустаяСсылка();
ВидНом = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ном, "ВидНоменклатуры");
КлючТребСер = Строка(Ном.УникальныйИдентификатор()); КлючТребСер = Строка(Ном.УникальныйИдентификатор());
ТребуетсяСерия = КэшТребуетсяСерия.Получить(КлючТребСер); ТребуетсяСерия = КэшТребуетсяСерия.Получить(КлючТребСер);
Если ТребуетсяСерия = Неопределено Тогда Если ТребуетсяСерия <> Неопределено Тогда
Возврат ТребуетсяСерия;
КонецЕсли;
ТребуетсяСерия = Ложь; ТребуетсяСерия = Ложь;
Попытка Попытка
ТребуетсяСерия = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ном, "ВидНоменклатуры.ИспользоватьСерии") = Истина; ТребуетсяСерия = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ном, "ВидНоменклатуры.ИспользоватьСерии") = Истина;
Исключение Исключение
Попытка Попытка
ТребуетсяСерия = ВидНом.ИспользоватьСерии; ТребуетсяСерия = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ном, "ВидНоменклатуры").ИспользоватьСерии;
Исключение Исключение
КонецПопытки; КонецПопытки;
КонецПопытки; КонецПопытки;
КэшТребуетсяСерия.Вставить(КлючТребСер, ТребуетсяСерия); КэшТребуетсяСерия.Вставить(КлючТребСер, ТребуетсяСерия);
Возврат ТребуетсяСерия;
КонецФункции
Процедура ЗаполнитьНомерГТДСтроки(СтрТ)
Если Не ЗначениеЗаполнено(СтрТ.ГТД) Тогда
Возврат;
КонецЕсли;
КодГТД = СокрЛП(СтрТ.ГТД);
СтрТ.НомерГТДСсылка = Справочники.НомераГТД.НайтиПоКоду(КодГТД);
Если Не ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
СтрТ.НомерГТДСсылка = Справочники.НомераГТД.НайтиПоРеквизиту("РегистрационныйНомер", КодГТД);
КонецЕсли;
Если Не ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
СтрТ.НомерГТДСсылка = Справочники.НомераГТД.НайтиПоНаименованию(КодГТД, Истина);
КонецЕсли;
Если Не ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
СсылкаГТД = СсылкаПоUUID(Справочники.НомераГТД, СтрТ.ГТДИдентификатор);
Если ЗначениеЗаполнено(СсылкаГТД) И ОбщегоНазначения.СсылкаСуществует(СсылкаГТД) Тогда
СтрТ.НомерГТДСсылка = СсылкаГТД;
КонецЕсли;
КонецЕсли; КонецЕсли;
КонецПроцедуры
Функция НайтиСоглашениеСтроки(СтрТ)
Согл = СсылкаПоUUID(Справочники.СоглашенияСКлиентами, СтрТ.СоглашениеИдентификатор);
Если ЗначениеЗаполнено(Согл) И ОбщегоНазначения.СсылкаСуществует(Согл) Тогда
Возврат Согл;
КонецЕсли;
ИмяСогл = СокрЛП(СтрТ.СоглашениеНаименование);
Если ЗначениеЗаполнено(ИмяСогл) Тогда
Возврат Справочники.СоглашенияСКлиентами.НайтиПоНаименованию(ИмяСогл, Истина);
КонецЕсли;
Возврат Справочники.СоглашенияСКлиентами.ПустаяСсылка();
КонецФункции
Процедура ЗаполнитьПартнераКонтрагентаДоговорСтроки(СтрТ, Соглашение)
Партнер = СсылкаПоUUID(Справочники.Партнеры, СтрТ.ПартнерИдентификатор);
Если Не (ЗначениеЗаполнено(Партнер) И ОбщегоНазначения.СсылкаСуществует(Партнер)) Тогда
Партнер = Справочники.Партнеры.ПустаяСсылка();
ИмяПарт = СокрЛП(СтрТ.ПартнерНаименование);
Если ЗначениеЗаполнено(ИмяПарт) Тогда
Партнер = Справочники.Партнеры.НайтиПоНаименованию(ИмяПарт, Истина);
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(Партнер) И ЗначениеЗаполнено(Соглашение) Тогда
Попытка
Партнер = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Соглашение, "Партнер");
Исключение
КонецПопытки;
КонецЕсли;
СтрТ.Партнер = Партнер;
Контр = СсылкаПоUUID(Справочники.Контрагенты, СтрТ.КонтрагентИдентификатор);
Если Не (ЗначениеЗаполнено(Контр) И ОбщегоНазначения.СсылкаСуществует(Контр)) Тогда
Контр = Справочники.Контрагенты.ПустаяСсылка();
ИмяКонтр = СокрЛП(СтрТ.КонтрагентНаименование);
Если ЗначениеЗаполнено(ИмяКонтр) Тогда
Контр = Справочники.Контрагенты.НайтиПоНаименованию(ИмяКонтр, Истина);
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(Контр) И ЗначениеЗаполнено(Соглашение) Тогда
Попытка
Контр = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Соглашение, "Контрагент");
Исключение
КонецПопытки;
КонецЕсли;
Если Не ЗначениеЗаполнено(Контр) И ЗначениеЗаполнено(Партнер) Тогда
Попытка
Контр = ПартнерыИКонтрагенты.ПолучитьКонтрагентаПартнераПоУмолчанию(Партнер);
Исключение
КонецПопытки;
КонецЕсли;
Если Не ЗначениеЗаполнено(Контр) И ЗначениеЗаполнено(Партнер) Тогда
ЗапросК = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| К.Ссылка КАК Ссылка
|ИЗ
| Справочник.Контрагенты КАК К
|ГДЕ
| К.Партнер = &Партнер
| И НЕ К.ПометкаУдаления");
ЗапросК.УстановитьПараметр("Партнер", Партнер);
ВыбК = ЗапросК.Выполнить().Выбрать();
Если ВыбК.Следующий() Тогда
Контр = ВыбК.Ссылка;
КонецЕсли;
КонецЕсли;
СтрТ.Контрагент = Контр;
Договор = СсылкаПоUUID(Справочники.ДоговорыКонтрагентов, СтрТ.ДоговорИдентификатор);
Если Не (ЗначениеЗаполнено(Договор) И ОбщегоНазначения.СсылкаСуществует(Договор)) Тогда
Договор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
ИмяДог = СокрЛП(СтрТ.ДоговорНаименование);
Если ЗначениеЗаполнено(ИмяДог) Тогда
Договор = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(ИмяДог, Истина);
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(Договор) И ЗначениеЗаполнено(Соглашение) Тогда
Попытка
Договор = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Соглашение, "Договор");
Исключение
КонецПопытки;
КонецЕсли;
СтрТ.Договор = Договор;
КонецПроцедуры
Функция НайтиИлиСоздатьСерию(СтрТ, Ном, СкладЦель, СуффиксДатыСер, РежимТест,
КэшТребуетсяСерия, КэшСерий, Результат)
Сер = Справочники.СерииНоменклатуры.ПустаяСсылка();
ВидНом = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ном, "ВидНоменклатуры");
ТребуетсяСерия = НоменклатураИспользуетСерии(Ном, КэшТребуетсяСерия);
ИмяСерии = СокрЛП(СтрТ.Серия); ИмяСерии = СокрЛП(СтрТ.Серия);
Если Не ЗначениеЗаполнено(ИмяСерии) И ТребуетсяСерия Тогда НомерСерии = СокрЛП(СтрТ.СерияНомер);
КодСклЗагл = ""; ЭтоЗаглушка = Ложь;
Если Не ЗначениеЗаполнено(ИмяСерии) И Не ЗначениеЗаполнено(НомерСерии) Тогда
Если Не ТребуетсяСерия Тогда
Возврат Сер;
КонецЕсли;
Если Не СоздаватьЗаглушкиСерий Тогда
СтрТ.КомментарийСопоставления = "Серия обязательна, в источнике пустая (заглушки выключены)";
Возврат Сер;
КонецЕсли;
КодСклЗагл = "КОМ";
Если ЗначениеЗаполнено(СкладЦель) Тогда
Попытка Попытка
КодСклЗагл = СокрЛП(Строка(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СкладЦель, "Код"))); КодСклЗагл = СокрЛП(Строка(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СкладЦель, "Код")));
Исключение Исключение
@@ -524,12 +930,10 @@
Если ПустаяСтрока(КодСклЗагл) Тогда Если ПустаяСтрока(КодСклЗагл) Тогда
КодСклЗагл = Лев(СтрЗаменить(Строка(СкладЦель.УникальныйИдентификатор()), "-", ""), 8); КодСклЗагл = Лев(СтрЗаменить(Строка(СкладЦель.УникальныйИдентификатор()), "-", ""), 8);
КонецЕсли; КонецЕсли;
КонецЕсли;
ИмяСерии = "Перенос_" + КодСклЗагл + "_" + СуффиксДатыСер; ИмяСерии = "Перенос_" + КодСклЗагл + "_" + СуффиксДатыСер;
СтрТ.Серия = ИмяСерии; СтрТ.Серия = ИмяСерии;
КонецЕсли; ЭтоЗаглушка = Истина;
Если Не ТребуетсяСерия И Не ЗначениеЗаполнено(ИмяСерии) Тогда
Возврат Сер;
КонецЕсли; КонецЕсли;
СсылкаПоГуид = СсылкаПоUUID(Справочники.СерииНоменклатуры, СтрТ.СерияИдентификатор); СсылкаПоГуид = СсылкаПоUUID(Справочники.СерииНоменклатуры, СтрТ.СерияИдентификатор);
@@ -550,25 +954,34 @@
ВидСер = ВидНом; ВидСер = ВидНом;
КонецЕсли; КонецЕсли;
КлючКэшСер = Строка(ВидСер.УникальныйИдентификатор()) + "|" + ИмяСерии; КлючПоискаНомера = ?(ЗначениеЗаполнено(НомерСерии), НомерСерии, ИмяСерии);
КлючКэшСер = Строка(ВидСер.УникальныйИдентификатор()) + "|" + ИмяСерии + "|" + КлючПоискаНомера;
СерИзКэш = КэшСерий.Получить(КлючКэшСер); СерИзКэш = КэшСерий.Получить(КлючКэшСер);
Если СерИзКэш <> Неопределено Тогда Если СерИзКэш <> Неопределено Тогда
Возврат СерИзКэш; Возврат СерИзКэш;
КонецЕсли; КонецЕсли;
Если ИспНомерСерии Тогда Если ИспНомерСерии И ЗначениеЗаполнено(КлючПоискаНомера) Тогда
Сер = Справочники.СерииНоменклатуры.НайтиПоРеквизиту("Номер", ИмяСерии, , ВидСер); Сер = Справочники.СерииНоменклатуры.НайтиПоРеквизиту("Номер", КлючПоискаНомера, , ВидСер);
КонецЕсли; КонецЕсли;
Если Не ЗначениеЗаполнено(Сер) Тогда Если Не ЗначениеЗаполнено(Сер) И ЗначениеЗаполнено(ИмяСерии) Тогда
Сер = Справочники.СерииНоменклатуры.НайтиПоНаименованию(ИмяСерии, Истина, , ВидСер); Сер = Справочники.СерииНоменклатуры.НайтиПоНаименованию(ИмяСерии, Истина, , ВидСер);
КонецЕсли; КонецЕсли;
Если Не ЗначениеЗаполнено(Сер) И ЗначениеЗаполнено(НомерСерии) И НомерСерии <> ИмяСерии Тогда
Сер = Справочники.СерииНоменклатуры.НайтиПоНаименованию(НомерСерии, Истина, , ВидСер);
КонецЕсли;
Если Не ЗначениеЗаполнено(Сер) И Не РежимТест И (ТребуетсяСерия Или ЗначениеЗаполнено(ИмяСерии)) Тогда МожноСоздать = Не РежимТест И ЗначениеЗаполнено(ИмяСерии);
Если ЭтоЗаглушка Тогда
МожноСоздать = МожноСоздать И СоздаватьЗаглушкиСерий;
КонецЕсли;
Если Не ЗначениеЗаполнено(Сер) И МожноСоздать Тогда
Попытка Попытка
ОбСер = Справочники.СерииНоменклатуры.ПустойОбъект(ВидСер); ОбСер = Справочники.СерииНоменклатуры.ПустойОбъект(ВидСер);
Если ИспНомерСерии Тогда Если ИспНомерСерии Тогда
НомерСер = ИмяСерии; НомерСер = КлючПоискаНомера;
Если СтрНачинаетсяС(ИмяСерии, "Перенос_") Тогда Если ЭтоЗаглушка И СтрНачинаетсяС(ИмяСерии, "Перенос_") Тогда
НомерСер = Сред(ИмяСерии, СтрДлина("Перенос_") + 1); НомерСер = Сред(ИмяСерии, СтрДлина("Перенос_") + 1);
КонецЕсли; КонецЕсли;
ОбСер.Номер = НомерСер; ОбСер.Номер = НомерСер;
@@ -70,6 +70,19 @@
<ContextMenu name="ПерезаписатьДокументыКонтекстноеМеню" id="121"/> <ContextMenu name="ПерезаписатьДокументыКонтекстноеМеню" id="121"/>
<ExtendedTooltip name="ПерезаписатьДокументыРасширеннаяПодсказка" id="122"/> <ExtendedTooltip name="ПерезаписатьДокументыРасширеннаяПодсказка" id="122"/>
</CheckBoxField> </CheckBoxField>
<CheckBoxField name="СоздаватьЗаглушкиСерий" id="177">
<DataPath>Объект.СоздаватьЗаглушкиСерий</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Создавать серии Перенос_* только если в источнике нет серии, а в целевой учёт по сериям обязателен</v8:content>
</v8:item>
</ToolTip>
<ToolTipRepresentation>ShowRight</ToolTipRepresentation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="СоздаватьЗаглушкиСерийКонтекстноеМеню" id="178"/>
<ExtendedTooltip name="СоздаватьЗаглушкиСерийРасширеннаяПодсказка" id="179"/>
</CheckBoxField>
<Pages name="ГруппаСтраницы" id="1"> <Pages name="ГруппаСтраницы" id="1">
<Title> <Title>
<v8:item> <v8:item>
@@ -85,195 +98,559 @@
</ToolTip> </ToolTip>
<ExtendedTooltip name="ГруппаСтраницыРасширеннаяПодсказка" id="2"/> <ExtendedTooltip name="ГруппаСтраницыРасширеннаяПодсказка" id="2"/>
<ChildItems> <ChildItems>
<Page name="ГруппаВходящиеДанные" id="3"> <Page name="ГруппаСобственныеТовары" id="3">
<Title> <Title>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Входящие данные</v8:content> <v8:content>Собственные товары</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip> <ToolTip>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Группа входящие данные</v8:content> <v8:content>Собственные товары</v8:content>
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<ExtendedTooltip name="ГруппаВходящиеДанныеРасширеннаяПодсказка" id="4"/> <ExtendedTooltip name="ГруппаСобственныеТоварыРасширеннаяПодсказка" id="4"/>
<ChildItems> <ChildItems>
<Table name="ВходящиеДанные" id="5"> <Table name="ВходящиеСобственныеТовары" id="5">
<AutoInsertNewRow>true</AutoInsertNewRow> <AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag> <EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag> <EnableDrag>true</EnableDrag>
<DataPath>Объект.ВходящиеДанные</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары</DataPath>
<RowFilter xsi:nil="true"/> <RowFilter xsi:nil="true"/>
<ContextMenu name="ВходящиеДанныеКонтекстноеМеню" id="6"/> <ContextMenu name="ВходящиеСобственныеТоварыКонтекстноеМеню" id="6"/>
<AutoCommandBar name="ВходящиеДанныеКоманднаяПанель" id="7"> <AutoCommandBar name="ВходящиеСобственныеТоварыКоманднаяПанель" id="7">
<ChildItems> <ChildItems>
<Button name="ВходящиеДанныеЗагрузитьОстатки" id="161"> <Button name="ВходящиеСобственныеТоварыЗагрузитьОстатки" id="161">
<Type>CommandBarButton</Type> <Type>CommandBarButton</Type>
<CommandName>Form.Command.ЗагрузитьОстатки</CommandName> <CommandName>Form.Command.ЗагрузитьОстатки</CommandName>
<ExtendedTooltip name="ВходящиеДанныеЗагрузитьОстаткиРасширеннаяПодсказка" id="162"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыЗагрузитьОстаткиРасширеннаяПодсказка" id="162"/>
</Button> </Button>
</ChildItems> </ChildItems>
</AutoCommandBar> </AutoCommandBar>
<ExtendedTooltip name="ВходящиеДанныеРасширеннаяПодсказка" id="8"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыРасширеннаяПодсказка" id="8"/>
<SearchStringAddition name="ВходящиеДанныеСтрокаПоиска" id="9"> <SearchStringAddition name="ВходящиеСобственныеТоварыСтрокаПоиска" id="9">
<AdditionSource> <AdditionSource>
<Item>ВходящиеДанные</Item> <Item>ВходящиеСобственныеТовары</Item>
<Type>SearchStringRepresentation</Type> <Type>SearchStringRepresentation</Type>
</AdditionSource> </AdditionSource>
<ContextMenu name="ВходящиеДанныеСтрокаПоискаКонтекстноеМеню" id="10"/> <ContextMenu name="ВходящиеСобственныеТоварыСтрокаПоискаКонтекстноеМеню" id="10"/>
<ExtendedTooltip name="ВходящиеДанныеСтрокаПоискаРасширеннаяПодсказка" id="11"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыСтрокаПоискаРасширеннаяПодсказка" id="11"/>
</SearchStringAddition> </SearchStringAddition>
<ViewStatusAddition name="ВходящиеДанныеСостояниеПросмотра" id="12"> <ViewStatusAddition name="ВходящиеСобственныеТоварыСостояниеПросмотра" id="12">
<AdditionSource> <AdditionSource>
<Item>ВходящиеДанные</Item> <Item>ВходящиеСобственныеТовары</Item>
<Type>ViewStatusRepresentation</Type> <Type>ViewStatusRepresentation</Type>
</AdditionSource> </AdditionSource>
<ContextMenu name="ВходящиеДанныеСостояниеПросмотраКонтекстноеМеню" id="13"/> <ContextMenu name="ВходящиеСобственныеТоварыСостояниеПросмотраКонтекстноеМеню" id="13"/>
<ExtendedTooltip name="ВходящиеДанныеСостояниеПросмотраРасширеннаяПодсказка" id="14"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыСостояниеПросмотраРасширеннаяПодсказка" id="14"/>
</ViewStatusAddition> </ViewStatusAddition>
<SearchControlAddition name="ВходящиеДанныеУправлениеПоиском" id="15"> <SearchControlAddition name="ВходящиеСобственныеТоварыУправлениеПоиском" id="15">
<AdditionSource> <AdditionSource>
<Item>ВходящиеДанные</Item> <Item>ВходящиеСобственныеТовары</Item>
<Type>SearchControl</Type> <Type>SearchControl</Type>
</AdditionSource> </AdditionSource>
<ContextMenu name="ВходящиеДанныеУправлениеПоискомКонтекстноеМеню" id="16"/> <ContextMenu name="ВходящиеСобственныеТоварыУправлениеПоискомКонтекстноеМеню" id="16"/>
<ExtendedTooltip name="ВходящиеДанныеУправлениеПоискомРасширеннаяПодсказка" id="17"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыУправлениеПоискомРасширеннаяПодсказка" id="17"/>
</SearchControlAddition> </SearchControlAddition>
<ChildItems> <ChildItems>
<LabelField name="ВходящиеДанныеНомерСтроки" id="18"> <LabelField name="ВходящиеСобственныеТоварыНомерСтроки" id="18">
<DataPath>Объект.ВходящиеДанные.LineNumber</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.LineNumber</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеНомерСтрокиКонтекстноеМеню" id="19"/> <ContextMenu name="ВходящиеСобственныеТоварыНомерСтрокиКонтекстноеМеню" id="19"/>
<ExtendedTooltip name="ВходящиеДанныеНомерСтрокиРасширеннаяПодсказка" id="20"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыНомерСтрокиРасширеннаяПодсказка" id="20"/>
</LabelField> </LabelField>
<InputField name="ВходящиеДанныеНоменклатураНаименование" id="21"> <InputField name="ВходящиеСобственныеТоварыНоменклатураНаименование" id="21">
<DataPath>Объект.ВходящиеДанные.НоменклатураНаименование</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.НоменклатураНаименование</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues> <ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеДанныеНоменклатураНаименованиеКонтекстноеМеню" id="22"/> <ContextMenu name="ВходящиеСобственныеТоварыНоменклатураНаименованиеКонтекстноеМеню" id="22"/>
<ExtendedTooltip name="ВходящиеДанныеНоменклатураНаименованиеРасширеннаяПодсказка" id="23"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыНоменклатураНаименованиеРасширеннаяПодсказка" id="23"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеЕдИзм" id="27"> <InputField name="ВходящиеСобственныеТоварыЕдИзм" id="27">
<DataPath>Объект.ВходящиеДанные.ЕдИзм</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.ЕдИзм</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues> <ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеДанныеЕдИзмКонтекстноеМеню" id="28"/> <ContextMenu name="ВходящиеСобственныеТоварыЕдИзмКонтекстноеМеню" id="28"/>
<ExtendedTooltip name="ВходящиеДанныеЕдИзмРасширеннаяПодсказка" id="29"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыЕдИзмРасширеннаяПодсказка" id="29"/>
</InputField> </InputField>
<LabelField name="ВходящиеДанныеЕдИзмИдентификатор" id="76"> <LabelField name="ВходящиеСобственныеТоварыЕдИзмИдентификатор" id="76">
<DataPath>Объект.ВходящиеДанные.ЕдИзмИдентификатор</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.ЕдИзмИдентификатор</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеЕдИзмИдентификаторКонтекстноеМеню" id="77"/> <ContextMenu name="ВходящиеСобственныеТоварыЕдИзмИдентификаторКонтекстноеМеню" id="77"/>
<ExtendedTooltip name="ВходящиеДанныеЕдИзмИдентификаторРасширеннаяПодсказка" id="78"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыЕдИзмИдентификаторРасширеннаяПодсказка" id="78"/>
</LabelField> </LabelField>
<InputField name="ВходящиеДанныеСкладНаименование" id="24"> <InputField name="ВходящиеСобственныеТоварыСкладНаименование" id="24">
<DataPath>Объект.ВходящиеДанные.СкладНаименование</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.СкладНаименование</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues> <ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеДанныеСкладНаименованиеКонтекстноеМеню" id="25"/> <ContextMenu name="ВходящиеСобственныеТоварыСкладНаименованиеКонтекстноеМеню" id="25"/>
<ExtendedTooltip name="ВходящиеДанныеСкладНаименованиеРасширеннаяПодсказка" id="26"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыСкладНаименованиеРасширеннаяПодсказка" id="26"/>
</InputField> </InputField>
<LabelField name="ВходящиеДанныеСкладИдентификатор" id="73"> <LabelField name="ВходящиеСобственныеТоварыСкладИдентификатор" id="73">
<DataPath>Объект.ВходящиеДанные.СкладИдентификатор</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.СкладИдентификатор</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеСкладИдентификаторКонтекстноеМеню" id="74"/> <ContextMenu name="ВходящиеСобственныеТоварыСкладИдентификаторКонтекстноеМеню" id="74"/>
<ExtendedTooltip name="ВходящиеДанныеСкладИдентификаторРасширеннаяПодсказка" id="75"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыСкладИдентификаторРасширеннаяПодсказка" id="75"/>
</LabelField> </LabelField>
<InputField name="ВходящиеДанныеГТД" id="70"> <InputField name="ВходящиеСобственныеТоварыГТД" id="70">
<DataPath>Объект.ВходящиеДанные.ГТД</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.ГТД</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues> <ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеДанныеГТДКонтекстноеМеню" id="71"/> <ContextMenu name="ВходящиеСобственныеТоварыГТДКонтекстноеМеню" id="71"/>
<ExtendedTooltip name="ВходящиеДанныеГТДРасширеннаяПодсказка" id="72"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыГТДРасширеннаяПодсказка" id="72"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеСерия" id="67"> <InputField name="ВходящиеСобственныеТоварыСерия" id="67">
<DataPath>Объект.ВходящиеДанные.Серия</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.Серия</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues> <ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеДанныеСерияКонтекстноеМеню" id="68"/> <ContextMenu name="ВходящиеСобственныеТоварыСерияКонтекстноеМеню" id="68"/>
<ExtendedTooltip name="ВходящиеДанныеСерияРасширеннаяПодсказка" id="69"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыСерияРасширеннаяПодсказка" id="69"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеКоличество" id="80"> <InputField name="ВходящиеСобственныеТоварыСерияНомер" id="1200">
<DataPath>Объект.ВходящиеДанные.Количество</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.СерияНомер</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеКоличествоКонтекстноеМеню" id="81"/> <ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ExtendedTooltip name="ВходящиеДанныеКоличествоРасширеннаяПодсказка" id="82"/> <ContextMenu name="ВходящиеСобственныеТоварыСерияНомерКонтекстноеМеню" id="1201"/>
<ExtendedTooltip name="ВходящиеСобственныеТоварыСерияНомерРасширеннаяПодсказка" id="1202"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеАртикул" id="83"> <InputField name="ВходящиеСобственныеТоварыКоличество" id="80">
<DataPath>Объект.ВходящиеДанные.Артикул</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.Количество</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеАртикулКонтекстноеМеню" id="84"/> <ContextMenu name="ВходящиеСобственныеТоварыКоличествоКонтекстноеМеню" id="81"/>
<ExtendedTooltip name="ВходящиеДанныеАртикулРасширеннаяПодсказка" id="85"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыКоличествоРасширеннаяПодсказка" id="82"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеНоменклатураКод" id="86"> <InputField name="ВходящиеСобственныеТоварыАртикул" id="83">
<DataPath>Объект.ВходящиеДанные.НоменклатураКод</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.Артикул</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеНоменклатураКодКонтекстноеМеню" id="87"/> <ContextMenu name="ВходящиеСобственныеТоварыАртикулКонтекстноеМеню" id="84"/>
<ExtendedTooltip name="ВходящиеДанныеНоменклатураКодРасширеннаяПодсказка" id="88"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыАртикулРасширеннаяПодсказка" id="85"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеХарактеристикаНаименование" id="89"> <InputField name="ВходящиеСобственныеТоварыНоменклатураКод" id="86">
<DataPath>Объект.ВходящиеДанные.ХарактеристикаНаименование</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.НоменклатураКод</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеХарактеристикаНаименованиеКонтекстноеМеню" id="90"/> <ContextMenu name="ВходящиеСобственныеТоварыНоменклатураКодКонтекстноеМеню" id="87"/>
<ExtendedTooltip name="ВходящиеДанныеХарактеристикаНаименованиеРасширеннаяПодсказка" id="91"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыНоменклатураКодРасширеннаяПодсказка" id="88"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеВидНоменклатурыНаименование" id="92"> <InputField name="ВходящиеСобственныеТоварыХарактеристикаНаименование" id="89">
<DataPath>Объект.ВходящиеДанные.ВидНоменклатурыНаименование</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.ХарактеристикаНаименование</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеВидНоменклатурыНаименованиеКонтекстноеМеню" id="93"/> <ContextMenu name="ВходящиеСобственныеТоварыХарактеристикаНаименованиеКонтекстноеМеню" id="90"/>
<ExtendedTooltip name="ВходящиеДанныеВидНоменклатурыНаименованиеРасширеннаяПодсказка" id="94"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыХарактеристикаНаименованиеРасширеннаяПодсказка" id="91"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеОрганизацияНаименование" id="95"> <InputField name="ВходящиеСобственныеТоварыВидНоменклатурыНаименование" id="92">
<DataPath>Объект.ВходящиеДанные.ОрганизацияНаименование</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.ВидНоменклатурыНаименование</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеОрганизацияНаименованиеКонтекстноеМеню" id="96"/> <ContextMenu name="ВходящиеСобственныеТоварыВидНоменклатурыНаименованиеКонтекстноеМеню" id="93"/>
<ExtendedTooltip name="ВходящиеДанныеОрганизацияНаименованиеРасширеннаяПодсказка" id="97"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыВидНоменклатурыНаименованиеРасширеннаяПодсказка" id="94"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеНоменклатура" id="98"> <InputField name="ВходящиеСобственныеТоварыОрганизацияНаименование" id="95">
<DataPath>Объект.ВходящиеДанные.Номенклатура</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.ОрганизацияНаименование</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеНоменклатураКонтекстноеМеню" id="99"/> <ContextMenu name="ВходящиеСобственныеТоварыОрганизацияНаименованиеКонтекстноеМеню" id="96"/>
<ExtendedTooltip name="ВходящиеДанныеНоменклатураРасширеннаяПодсказка" id="100"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыОрганизацияНаименованиеРасширеннаяПодсказка" id="97"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеСклад" id="101"> <InputField name="ВходящиеСобственныеТоварыНоменклатура" id="98">
<DataPath>Объект.ВходящиеДанные.Склад</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.Номенклатура</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеСкладКонтекстноеМеню" id="102"/> <ContextMenu name="ВходящиеСобственныеТоварыНоменклатураКонтекстноеМеню" id="99"/>
<ExtendedTooltip name="ВходящиеДанныеСкладРасширеннаяПодсказка" id="103"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыНоменклатураРасширеннаяПодсказка" id="100"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеСерияСсылка" id="104"> <InputField name="ВходящиеСобственныеТоварыСклад" id="101">
<DataPath>Объект.ВходящиеДанные.СерияСсылка</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.Склад</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеСерияСсылкаКонтекстноеМеню" id="105"/> <ContextMenu name="ВходящиеСобственныеТоварыСкладКонтекстноеМеню" id="102"/>
<ExtendedTooltip name="ВходящиеДанныеСерияСсылкаРасширеннаяПодсказка" id="106"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыСкладРасширеннаяПодсказка" id="103"/>
</InputField> </InputField>
<CheckBoxField name="ВходящиеДанныеСопоставлено" id="107"> <InputField name="ВходящиеСобственныеТоварыСерияСсылка" id="104">
<DataPath>Объект.ВходящиеДанные.Сопоставлено</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.СерияСсылка</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеСобственныеТоварыСерияСсылкаКонтекстноеМеню" id="105"/>
<ExtendedTooltip name="ВходящиеСобственныеТоварыСерияСсылкаРасширеннаяПодсказка" id="106"/>
</InputField>
<CheckBoxField name="ВходящиеСобственныеТоварыСопоставлено" id="107">
<DataPath>Объект.ВходящиеСобственныеТовары.Сопоставлено</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<CheckBoxType>Auto</CheckBoxType> <CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ВходящиеДанныеСопоставленоКонтекстноеМеню" id="108"/> <ContextMenu name="ВходящиеСобственныеТоварыСопоставленоКонтекстноеМеню" id="108"/>
<ExtendedTooltip name="ВходящиеДанныеСопоставленоРасширеннаяПодсказка" id="109"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыСопоставленоРасширеннаяПодсказка" id="109"/>
</CheckBoxField> </CheckBoxField>
<InputField name="ВходящиеДанныеКомментарийСопоставления" id="110"> <InputField name="ВходящиеСобственныеТоварыКомментарийСопоставления" id="110">
<DataPath>Объект.ВходящиеДанные.КомментарийСопоставления</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.КомментарийСопоставления</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеКомментарийСопоставленияКонтекстноеМеню" id="111"/> <ContextMenu name="ВходящиеСобственныеТоварыКомментарийСопоставленияКонтекстноеМеню" id="111"/>
<ExtendedTooltip name="ВходящиеДанныеКомментарийСопоставленияРасширеннаяПодсказка" id="112"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыКомментарийСопоставленияРасширеннаяПодсказка" id="112"/>
</InputField> </InputField>
<InputField name="ВходящиеДанныеДокументВвода" id="125"> <InputField name="ВходящиеСобственныеТоварыДокументВвода" id="125">
<DataPath>Объект.ВходящиеДанные.ДокументВвода</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.ДокументВвода</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеДанныеДокументВводаКонтекстноеМеню" id="126"/> <ContextMenu name="ВходящиеСобственныеТоварыДокументВводаКонтекстноеМеню" id="126"/>
<ExtendedTooltip name="ВходящиеДанныеДокументВводаРасширеннаяПодсказка" id="127"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыДокументВводаРасширеннаяПодсказка" id="127"/>
</InputField> </InputField>
<CheckBoxField name="ВходящиеДанныеЗагруженоВДокумент" id="128"> <CheckBoxField name="ВходящиеСобственныеТоварыЗагруженоВДокумент" id="128">
<DataPath>Объект.ВходящиеДанные.ЗагруженоВДокумент</DataPath> <DataPath>Объект.ВходящиеСобственныеТовары.ЗагруженоВДокумент</DataPath>
<EditMode>EnterOnInput</EditMode> <EditMode>EnterOnInput</EditMode>
<CheckBoxType>Auto</CheckBoxType> <CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ВходящиеДанныеЗагруженоВДокументКонтекстноеМеню" id="129"/> <ContextMenu name="ВходящиеСобственныеТоварыЗагруженоВДокументКонтекстноеМеню" id="129"/>
<ExtendedTooltip name="ВходящиеДанныеЗагруженоВДокументРасширеннаяПодсказка" id="130"/> <ExtendedTooltip name="ВходящиеСобственныеТоварыЗагруженоВДокументРасширеннаяПодсказка" id="130"/>
</CheckBoxField>
</ChildItems>
</Table>
</ChildItems>
</Page>
<Page name="ГруппаКомиссионныеТовары" id="180">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Комиссионные товары</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Комиссионные товары</v8:content>
</v8:item>
</ToolTip>
<ExtendedTooltip name="ГруппаКомиссионныеТоварыРасширеннаяПодсказка" id="1004"/>
<ChildItems>
<Table name="ВходящиеКомиссионныеТовары" id="1005">
<AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<DataPath>Объект.ВходящиеКомиссионныеТовары</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="ВходящиеКомиссионныеТоварыКонтекстноеМеню" id="1006"/>
<AutoCommandBar name="ВходящиеКомиссионныеТоварыКоманднаяПанель" id="1007">
<ChildItems>
<Button name="ВходящиеКомиссионныеТоварыЗагрузитьОстатки" id="1161">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ЗагрузитьОстатки</CommandName>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыЗагрузитьОстаткиРасширеннаяПодсказка" id="1162"/>
</Button>
</ChildItems>
</AutoCommandBar>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыРасширеннаяПодсказка" id="1008"/>
<SearchStringAddition name="ВходящиеКомиссионныеТоварыСтрокаПоиска" id="1009">
<AdditionSource>
<Item>ВходящиеКомиссионныеТовары</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="ВходящиеКомиссионныеТоварыСтрокаПоискаКонтекстноеМеню" id="1010"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСтрокаПоискаРасширеннаяПодсказка" id="1011"/>
</SearchStringAddition>
<ViewStatusAddition name="ВходящиеКомиссионныеТоварыСостояниеПросмотра" id="1012">
<AdditionSource>
<Item>ВходящиеКомиссионныеТовары</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="ВходящиеКомиссионныеТоварыСостояниеПросмотраКонтекстноеМеню" id="1013"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСостояниеПросмотраРасширеннаяПодсказка" id="1014"/>
</ViewStatusAddition>
<SearchControlAddition name="ВходящиеКомиссионныеТоварыУправлениеПоиском" id="1015">
<AdditionSource>
<Item>ВходящиеКомиссионныеТовары</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="ВходящиеКомиссионныеТоварыУправлениеПоискомКонтекстноеМеню" id="1016"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыУправлениеПоискомРасширеннаяПодсказка" id="1017"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="ВходящиеКомиссионныеТоварыНомерСтроки" id="1018">
<DataPath>Объект.ВходящиеКомиссионныеТовары.LineNumber</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыНомерСтрокиКонтекстноеМеню" id="1019"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыНомерСтрокиРасширеннаяПодсказка" id="1020"/>
</LabelField>
<InputField name="ВходящиеКомиссионныеТоварыНоменклатураНаименование" id="1021">
<DataPath>Объект.ВходящиеКомиссионныеТовары.НоменклатураНаименование</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеКомиссионныеТоварыНоменклатураНаименованиеКонтекстноеМеню" id="1022"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыНоменклатураНаименованиеРасширеннаяПодсказка" id="1023"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыЕдИзм" id="1027">
<DataPath>Объект.ВходящиеКомиссионныеТовары.ЕдИзм</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеКомиссионныеТоварыЕдИзмКонтекстноеМеню" id="1028"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыЕдИзмРасширеннаяПодсказка" id="1029"/>
</InputField>
<LabelField name="ВходящиеКомиссионныеТоварыЕдИзмИдентификатор" id="1076">
<DataPath>Объект.ВходящиеКомиссионныеТовары.ЕдИзмИдентификатор</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыЕдИзмИдентификаторКонтекстноеМеню" id="1077"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыЕдИзмИдентификаторРасширеннаяПодсказка" id="1078"/>
</LabelField>
<InputField name="ВходящиеКомиссионныеТоварыСкладНаименование" id="1024">
<DataPath>Объект.ВходящиеКомиссионныеТовары.СкладНаименование</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеКомиссионныеТоварыСкладНаименованиеКонтекстноеМеню" id="1025"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСкладНаименованиеРасширеннаяПодсказка" id="1026"/>
</InputField>
<LabelField name="ВходящиеКомиссионныеТоварыСкладИдентификатор" id="1073">
<DataPath>Объект.ВходящиеКомиссионныеТовары.СкладИдентификатор</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыСкладИдентификаторКонтекстноеМеню" id="1074"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСкладИдентификаторРасширеннаяПодсказка" id="1075"/>
</LabelField>
<InputField name="ВходящиеКомиссионныеТоварыГТД" id="1070">
<DataPath>Объект.ВходящиеКомиссионныеТовары.ГТД</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеКомиссионныеТоварыГТДКонтекстноеМеню" id="1071"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыГТДРасширеннаяПодсказка" id="1072"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыСерия" id="1067">
<DataPath>Объект.ВходящиеКомиссионныеТовары.Серия</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеКомиссионныеТоварыСерияКонтекстноеМеню" id="1068"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСерияРасширеннаяПодсказка" id="1069"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыСерияНомер" id="1203">
<DataPath>Объект.ВходящиеКомиссионныеТовары.СерияНомер</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеКомиссионныеТоварыСерияНомерКонтекстноеМеню" id="1204"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСерияНомерРасширеннаяПодсказка" id="1205"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыКоличество" id="1080">
<DataPath>Объект.ВходящиеКомиссионныеТовары.Количество</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыКоличествоКонтекстноеМеню" id="1081"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыКоличествоРасширеннаяПодсказка" id="1082"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыАртикул" id="1083">
<DataPath>Объект.ВходящиеКомиссионныеТовары.Артикул</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыАртикулКонтекстноеМеню" id="1084"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыАртикулРасширеннаяПодсказка" id="1085"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыНоменклатураКод" id="1086">
<DataPath>Объект.ВходящиеКомиссионныеТовары.НоменклатураКод</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыНоменклатураКодКонтекстноеМеню" id="1087"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыНоменклатураКодРасширеннаяПодсказка" id="1088"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыХарактеристикаНаименование" id="1089">
<DataPath>Объект.ВходящиеКомиссионныеТовары.ХарактеристикаНаименование</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыХарактеристикаНаименованиеКонтекстноеМеню" id="1090"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыХарактеристикаНаименованиеРасширеннаяПодсказка" id="1091"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыВидНоменклатурыНаименование" id="1092">
<DataPath>Объект.ВходящиеКомиссионныеТовары.ВидНоменклатурыНаименование</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыВидНоменклатурыНаименованиеКонтекстноеМеню" id="1093"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыВидНоменклатурыНаименованиеРасширеннаяПодсказка" id="1094"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыОрганизацияНаименование" id="1095">
<DataPath>Объект.ВходящиеКомиссионныеТовары.ОрганизацияНаименование</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыОрганизацияНаименованиеКонтекстноеМеню" id="1096"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыОрганизацияНаименованиеРасширеннаяПодсказка" id="1097"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыНоменклатура" id="1098">
<DataPath>Объект.ВходящиеКомиссионныеТовары.Номенклатура</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыНоменклатураКонтекстноеМеню" id="1099"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыНоменклатураРасширеннаяПодсказка" id="1100"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыСклад" id="1101">
<DataPath>Объект.ВходящиеКомиссионныеТовары.Склад</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыСкладКонтекстноеМеню" id="1102"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСкладРасширеннаяПодсказка" id="1103"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыСерияСсылка" id="1104">
<DataPath>Объект.ВходящиеКомиссионныеТовары.СерияСсылка</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыСерияСсылкаКонтекстноеМеню" id="1105"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСерияСсылкаРасширеннаяПодсказка" id="1106"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыСоглашениеНаименование" id="1181">
<DataPath>Объект.ВходящиеКомиссионныеТовары.СоглашениеНаименование</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеКомиссионныеТоварыСоглашениеНаименованиеКонтекстноеМеню" id="1182"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСоглашениеНаименованиеРасширеннаяПодсказка" id="1183"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыПартнерНаименование" id="1184">
<DataPath>Объект.ВходящиеКомиссионныеТовары.ПартнерНаименование</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеКомиссионныеТоварыПартнерНаименованиеКонтекстноеМеню" id="1185"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыПартнерНаименованиеРасширеннаяПодсказка" id="1186"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыКонтрагентНаименование" id="1187">
<DataPath>Объект.ВходящиеКомиссионныеТовары.КонтрагентНаименование</DataPath>
<EditMode>EnterOnInput</EditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ВходящиеКомиссионныеТоварыКонтрагентНаименованиеКонтекстноеМеню" id="1188"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыКонтрагентНаименованиеРасширеннаяПодсказка" id="1189"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыСоглашение" id="1190">
<DataPath>Объект.ВходящиеКомиссионныеТовары.Соглашение</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыСоглашениеКонтекстноеМеню" id="1191"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСоглашениеРасширеннаяПодсказка" id="1192"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыПартнер" id="1193">
<DataPath>Объект.ВходящиеКомиссионныеТовары.Партнер</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыПартнерКонтекстноеМеню" id="1194"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыПартнерРасширеннаяПодсказка" id="1195"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыКонтрагент" id="1196">
<DataPath>Объект.ВходящиеКомиссионныеТовары.Контрагент</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыКонтрагентКонтекстноеМеню" id="1197"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыКонтрагентРасширеннаяПодсказка" id="1198"/>
</InputField>
<CheckBoxField name="ВходящиеКомиссионныеТоварыСопоставлено" id="1107">
<DataPath>Объект.ВходящиеКомиссионныеТовары.Сопоставлено</DataPath>
<EditMode>EnterOnInput</EditMode>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ВходящиеКомиссионныеТоварыСопоставленоКонтекстноеМеню" id="1108"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыСопоставленоРасширеннаяПодсказка" id="1109"/>
</CheckBoxField>
<InputField name="ВходящиеКомиссионныеТоварыКомментарийСопоставления" id="1110">
<DataPath>Объект.ВходящиеКомиссионныеТовары.КомментарийСопоставления</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыКомментарийСопоставленияКонтекстноеМеню" id="1111"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыКомментарийСопоставленияРасширеннаяПодсказка" id="1112"/>
</InputField>
<InputField name="ВходящиеКомиссионныеТоварыДокументВвода" id="1125">
<DataPath>Объект.ВходящиеКомиссионныеТовары.ДокументВвода</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВходящиеКомиссионныеТоварыДокументВводаКонтекстноеМеню" id="1126"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыДокументВводаРасширеннаяПодсказка" id="1127"/>
</InputField>
<CheckBoxField name="ВходящиеКомиссионныеТоварыЗагруженоВДокумент" id="1128">
<DataPath>Объект.ВходящиеКомиссионныеТовары.ЗагруженоВДокумент</DataPath>
<EditMode>EnterOnInput</EditMode>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ВходящиеКомиссионныеТоварыЗагруженоВДокументКонтекстноеМеню" id="1129"/>
<ExtendedTooltip name="ВходящиеКомиссионныеТоварыЗагруженоВДокументРасширеннаяПодсказка" id="1130"/>
</CheckBoxField>
</ChildItems>
</Table>
</ChildItems>
</Page>
<Page name="ГруппаСозданныеДокументы" id="1300">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Документы ввода</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Документы, созданные на 3-м этапе</v8:content>
</v8:item>
</ToolTip>
<ExtendedTooltip name="ГруппаСозданныеДокументыРасширеннаяПодсказка" id="1301"/>
<ChildItems>
<Table name="СозданныеДокументы" id="1302">
<Representation>List</Representation>
<ChangeRowSet>false</ChangeRowSet>
<ChangeRowOrder>false</ChangeRowOrder>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<DataPath>Объект.СозданныеДокументы</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="СозданныеДокументыКонтекстноеМеню" id="1303"/>
<AutoCommandBar name="СозданныеДокументыКоманднаяПанель" id="1304"/>
<ExtendedTooltip name="СозданныеДокументыРасширеннаяПодсказка" id="1305"/>
<SearchStringAddition name="СозданныеДокументыСтрокаПоиска" id="1306">
<AdditionSource>
<Item>СозданныеДокументы</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="СозданныеДокументыСтрокаПоискаКонтекстноеМеню" id="1307"/>
<ExtendedTooltip name="СозданныеДокументыСтрокаПоискаРасширеннаяПодсказка" id="1308"/>
</SearchStringAddition>
<ViewStatusAddition name="СозданныеДокументыСостояниеПросмотра" id="1309">
<AdditionSource>
<Item>СозданныеДокументы</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="СозданныеДокументыСостояниеПросмотраКонтекстноеМеню" id="1310"/>
<ExtendedTooltip name="СозданныеДокументыСостояниеПросмотраРасширеннаяПодсказка" id="1311"/>
</ViewStatusAddition>
<SearchControlAddition name="СозданныеДокументыУправлениеПоиском" id="1312">
<AdditionSource>
<Item>СозданныеДокументы</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="СозданныеДокументыУправлениеПоискомКонтекстноеМеню" id="1313"/>
<ExtendedTooltip name="СозданныеДокументыУправлениеПоискомРасширеннаяПодсказка" id="1314"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="СозданныеДокументыНомерСтроки" id="1315">
<DataPath>Объект.СозданныеДокументы.LineNumber</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СозданныеДокументыНомерСтрокиКонтекстноеМеню" id="1316"/>
<ExtendedTooltip name="СозданныеДокументыНомерСтрокиРасширеннаяПодсказка" id="1317"/>
</LabelField>
<InputField name="СозданныеДокументыДокумент" id="1318">
<DataPath>Объект.СозданныеДокументы.Документ</DataPath>
<EditMode>EnterOnInput</EditMode>
<OpenButton>true</OpenButton>
<ContextMenu name="СозданныеДокументыДокументКонтекстноеМеню" id="1319"/>
<ExtendedTooltip name="СозданныеДокументыДокументРасширеннаяПодсказка" id="1320"/>
</InputField>
<InputField name="СозданныеДокументыВидОстатков" id="1321">
<DataPath>Объект.СозданныеДокументы.ВидОстатков</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СозданныеДокументыВидОстатковКонтекстноеМеню" id="1322"/>
<ExtendedTooltip name="СозданныеДокументыВидОстатковРасширеннаяПодсказка" id="1323"/>
</InputField>
<InputField name="СозданныеДокументыСклад" id="1324">
<DataPath>Объект.СозданныеДокументы.Склад</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СозданныеДокументыСкладКонтекстноеМеню" id="1325"/>
<ExtendedTooltip name="СозданныеДокументыСкладРасширеннаяПодсказка" id="1326"/>
</InputField>
<InputField name="СозданныеДокументыСоглашение" id="1327">
<DataPath>Объект.СозданныеДокументы.Соглашение</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СозданныеДокументыСоглашениеКонтекстноеМеню" id="1328"/>
<ExtendedTooltip name="СозданныеДокументыСоглашениеРасширеннаяПодсказка" id="1329"/>
</InputField>
<InputField name="СозданныеДокументыПартнер" id="1330">
<DataPath>Объект.СозданныеДокументы.Партнер</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СозданныеДокументыПартнерКонтекстноеМеню" id="1331"/>
<ExtendedTooltip name="СозданныеДокументыПартнерРасширеннаяПодсказка" id="1332"/>
</InputField>
<InputField name="СозданныеДокументыКоличествоСтрок" id="1333">
<DataPath>Объект.СозданныеДокументы.КоличествоСтрок</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СозданныеДокументыКоличествоСтрокКонтекстноеМеню" id="1334"/>
<ExtendedTooltip name="СозданныеДокументыКоличествоСтрокРасширеннаяПодсказка" id="1335"/>
</InputField>
<InputField name="СозданныеДокументыКоличествоТоваров" id="1336">
<DataPath>Объект.СозданныеДокументы.КоличествоТоваров</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СозданныеДокументыКоличествоТоваровКонтекстноеМеню" id="1337"/>
<ExtendedTooltip name="СозданныеДокументыКоличествоТоваровРасширеннаяПодсказка" id="1338"/>
</InputField>
<InputField name="СозданныеДокументыКомментарий" id="1339">
<DataPath>Объект.СозданныеДокументы.Комментарий</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СозданныеДокументыКомментарийКонтекстноеМеню" id="1340"/>
<ExtendedTooltip name="СозданныеДокументыКомментарийРасширеннаяПодсказка" id="1341"/>
</InputField>
<CheckBoxField name="СозданныеДокументыЭтоТест" id="1342">
<DataPath>Объект.СозданныеДокументы.ЭтоТест</DataPath>
<EditMode>EnterOnInput</EditMode>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="СозданныеДокументыЭтоТестКонтекстноеМеню" id="1343"/>
<ExtendedTooltip name="СозданныеДокументыЭтоТестРасширеннаяПодсказка" id="1344"/>
</CheckBoxField> </CheckBoxField>
</ChildItems> </ChildItems>
</Table> </Table>
@@ -679,7 +1056,7 @@
<ToolTip> <ToolTip>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Заполнить таблицу «Входящие данные» остатками из выбранного подключения (первичный анализ)</v8:content> <v8:content>Заполнить таблицы собственных и комиссионных (2.5) товаров остатками из выбранного подключения</v8:content>
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<Action>ЗагрузитьОстатки</Action> <Action>ЗагрузитьОстатки</Action>
@@ -709,7 +1086,7 @@
<ToolTip> <ToolTip>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Создать ВводОстатковТоваров по сопоставленным строкам</v8:content> <v8:content>Создать ВводОстатковТоваров: собственные и комиссия 2.5</v8:content>
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<Action>СоздатьДокументы</Action> <Action>СоздатьДокументы</Action>
@@ -33,14 +33,15 @@
Если ОтборСкладовВнешнейБазы.Количество() = 0 Если ОтборСкладовВнешнейБазы.Количество() = 0
И ОтборОрганизацийВнешнейБазы.Количество() = 0 И ОтборОрганизацийВнешнейБазы.Количество() = 0
И Объект.ВходящиеДанные.Количество() = 0 Тогда И Объект.ВходящиеСобственныеТовары.Количество() = 0
И Объект.ВходящиеКомиссионныеТовары.Количество() = 0 Тогда
ПодключениеКСтороннейБазеПредыдущее = Объект.ПодключениеКСтороннейБазе; ПодключениеКСтороннейБазеПредыдущее = Объект.ПодключениеКСтороннейБазе;
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Описание = Новый ОписаниеОповещения("ПодключениеКСтороннейБазеПослеВопроса", ЭтотОбъект); Описание = Новый ОписаниеОповещения("ПодключениеКСтороннейБазеПослеВопроса", ЭтотОбъект);
ПоказатьВопрос(Описание, ПоказатьВопрос(Описание,
"Смена подключения очистит отборы складов/организаций и входящие данные." + Символы.ПС "Смена подключения очистит отборы складов/организаций, входящие данные и список созданных документов." + Символы.ПС
+ "Продолжить?", + "Продолжить?",
РежимДиалогаВопрос.ДаНет); РежимДиалогаВопрос.ДаНет);
@@ -136,15 +137,18 @@
ПоказатьПредупреждение(, КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); ПоказатьПредупреждение(, КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
Возврат; Возврат;
КонецПопытки; КонецПопытки;
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаВходящиеДанные; Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаСобственныеТовары;
ПоказатьОповещениеПользователя("Входящие данные", , "Заполнено строк: " + Формат(Количество, "ЧГ=0")); ПоказатьОповещениеПользователя("Входящие данные", ,
"Собственные: " + Формат(Количество.Собственные, "ЧН=0; ЧГ=0")
+ "; комиссия 2.5: " + Формат(Количество.Комиссия, "ЧН=0; ЧГ=0"));
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура Сопоставить(Команда) Процедура Сопоставить(Команда)
Если Объект.ВходящиеДанные.Количество() = 0 Тогда Если Объект.ВходящиеСобственныеТовары.Количество() = 0
И Объект.ВходящиеКомиссионныеТовары.Количество() = 0 Тогда
ПоказатьПредупреждение(, "Сначала заполните входящие данные"); ПоказатьПредупреждение(, "Сначала заполните входящие данные");
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -152,7 +156,8 @@
ДопПараметры = Новый Структура("РежимТест", Истина); ДопПараметры = Новый Структура("РежимТест", Истина);
Описание = Новый ОписаниеОповещения("СопоставитьПослеВопроса", ЭтотОбъект, ДопПараметры); Описание = Новый ОписаниеОповещения("СопоставитьПослеВопроса", ЭтотОбъект, ДопПараметры);
ПоказатьВопрос(Описание, ПоказатьВопрос(Описание,
"Создавать отсутствующие серии и характеристики?" + Символы.ПС "Создавать отсутствующие серии и характеристики из исходных данных?" + Символы.ПС
+ "Серии Перенос_* — только если включено «Создавать заглушки серий»." + Символы.ПС
+ "Да — запись; Нет — только поиск (тест); Отмена — прервать.", + "Да — запись; Нет — только поиск (тест); Отмена — прервать.",
РежимДиалогаВопрос.ДаНетОтмена); РежимДиалогаВопрос.ДаНетОтмена);
@@ -189,7 +194,7 @@
Описание = Новый ОписаниеОповещения("СоздатьДокументыПослеВопроса", ЭтотОбъект); Описание = Новый ОписаниеОповещения("СоздатьДокументыПослеВопроса", ЭтотОбъект);
ПоказатьВопрос(Описание, ПоказатьВопрос(Описание,
"Создать документы ВводОстатковТоваров?" + Символы.ПС "Создать документы ввода остатков (собственные и комиссия 2.5)?" + Символы.ПС
+ "Да — запись; Нет — только подсчёт (тест); Отмена — прервать.", + "Да — запись; Нет — только подсчёт (тест); Отмена — прервать.",
РежимДиалогаВопрос.ДаНетОтмена); РежимДиалогаВопрос.ДаНетОтмена);
@@ -208,6 +213,7 @@
ПоказатьПредупреждение(, КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); ПоказатьПредупреждение(, КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
Возврат; Возврат;
КонецПопытки; КонецПопытки;
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаСозданныеДокументы;
ПоказатьОповещениеПользователя("Документы ввода", , Текст); ПоказатьОповещениеПользователя("Документы ввода", , Текст);
КонецПроцедуры КонецПроцедуры
@@ -241,7 +247,9 @@
ОтборСкладовВнешнейБазы.Очистить(); ОтборСкладовВнешнейБазы.Очистить();
ОтборОрганизацийВнешнейБазы.Очистить(); ОтборОрганизацийВнешнейБазы.Очистить();
Объект.ВходящиеДанные.Очистить(); Объект.ВходящиеСобственныеТовары.Очистить();
Объект.ВходящиеКомиссионныеТовары.Очистить();
Объект.СозданныеДокументы.Очистить();
КонецПроцедуры КонецПроцедуры
@@ -317,14 +325,41 @@
ВызватьИсключение "Отметьте хотя бы один склад или организацию на закладке «Отбор»"; ВызватьИсключение "Отметьте хотя бы один склад или организацию на закладке «Отбор»";
КонецЕсли; КонецЕсли;
Фильтры = Новый Структура; ФильтрыСобственные = Новый Структура;
Если СкладыGUID.Количество() > 0 Тогда Если СкладыGUID.Количество() > 0 Тогда
Фильтры.Вставить("warehouses", СкладыGUID); ФильтрыСобственные.Вставить("warehouses", СкладыGUID);
КонецЕсли; КонецЕсли;
Если ОрганизацииGUID.Количество() > 0 Тогда Если ОрганизацииGUID.Количество() > 0 Тогда
Фильтры.Вставить("organizations", ОрганизацииGUID); ФильтрыСобственные.Вставить("organizations", ОрганизацииGUID);
КонецЕсли; КонецЕсли;
Фильтры.Вставить("only_nonzero", Истина); ФильтрыСобственные.Вставить("only_nonzero", Истина);
ФильтрыКомиссия = Новый Структура;
Если ОрганизацииGUID.Количество() > 0 Тогда
ФильтрыКомиссия.Вставить("organizations", ОрганизацииGUID);
КонецЕсли;
ФильтрыКомиссия.Вставить("only_nonzero", Истина);
ПолныйОбходКомиссии = (ОрганизацииGUID.Количество() = 0);
СтрокиСобственные = ЗагрузитьСтраницыОстатков("combined", ФильтрыСобственные, Ложь);
СтрокиКомиссия = ЗагрузитьСтраницыОстатков("commission", ФильтрыКомиссия, ПолныйОбходКомиссии);
ОбъектОбработки = РеквизитФормыВЗначение("Объект");
ОбъектОбработки.ЗаполнитьВходящиеСобственныеТоварыИзОтветаОстатков(
Новый Структура("rows", СтрокиСобственные), Истина);
ОбъектОбработки.ЗаполнитьВходящиеКомиссионныеТоварыИзОтветаОстатков(
Новый Структура("rows", СтрокиКомиссия), Истина);
ЗначениеВРеквизитФормы(ОбъектОбработки, "Объект");
Результат = Новый Структура;
Результат.Вставить("Собственные", Объект.ВходящиеСобственныеТовары.Количество());
Результат.Вставить("Комиссия", Объект.ВходящиеКомиссионныеТовары.Количество());
Возврат Результат;
КонецФункции
&НаСервере
Функция ЗагрузитьСтраницыОстатков(Режим, Фильтры, ПолныйОбход)
ВсеСтроки = Новый Массив; ВсеСтроки = Новый Массив;
Курсор = ""; Курсор = "";
@@ -334,11 +369,14 @@
Для НомерСтраницы = 1 По МаксСтраниц Цикл Для НомерСтраницы = 1 По МаксСтраниц Цикл
ПараметрыЗапроса = Новый Структура; ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("mode", "combined"); ПараметрыЗапроса.Вставить("mode", Режим);
ПараметрыЗапроса.Вставить("as_of", Формат(Объект.ДатаОстатков, "ДФ=yyyy-MM-ddTHH:mm:ss")); ПараметрыЗапроса.Вставить("as_of", Формат(Объект.ДатаОстатков, "ДФ=yyyy-MM-ddTHH:mm:ss"));
ПараметрыЗапроса.Вставить("limit", Лимит); ПараметрыЗапроса.Вставить("limit", Лимит);
ПараметрыЗапроса.Вставить("include_policy", Истина); ПараметрыЗапроса.Вставить("include_policy", Истина);
ПараметрыЗапроса.Вставить("filters", Фильтры); ПараметрыЗапроса.Вставить("filters", Фильтры);
Если ПолныйОбход Тогда
ПараметрыЗапроса.Вставить("allow_full_scan", Истина);
КонецЕсли;
Если Не ПустаяСтрока(Курсор) Тогда Если Не ПустаяСтрока(Курсор) Тогда
ПараметрыЗапроса.Вставить("cursor", Курсор); ПараметрыЗапроса.Вставить("cursor", Курсор);
КонецЕсли; КонецЕсли;
@@ -346,7 +384,7 @@
Ответ = РК_ОбменСВнешнейБазой.ОстаткиВнешнейБазы(Объект.ПодключениеКСтороннейБазе, ПараметрыЗапроса); Ответ = РК_ОбменСВнешнейБазой.ОстаткиВнешнейБазы(Объект.ПодключениеКСтороннейБазе, ПараметрыЗапроса);
Строки = ЗначениеСвойстваОтвета(Ответ, "rows"); Строки = ЗначениеСвойстваОтвета(Ответ, "rows");
Если ТипЗнч(Строки) <> Тип("Массив") Тогда Если ТипЗнч(Строки) <> Тип("Массив") Тогда
ВызватьИсключение "Некорректный ответ /v1/stock/balances"; ВызватьИсключение "Некорректный ответ /v1/stock/balances (mode=" + Режим + ")";
КонецЕсли; КонецЕсли;
Для Каждого СтрAPI Из Строки Цикл Для Каждого СтрAPI Из Строки Цикл
ВсеСтроки.Добавить(СтрAPI); ВсеСтроки.Добавить(СтрAPI);
@@ -369,12 +407,7 @@
КонецЦикла; КонецЦикла;
Пакет = Новый Структура("rows", ВсеСтроки); Возврат ВсеСтроки;
ОбъектОбработки = РеквизитФормыВЗначение("Объект");
ОбъектОбработки.ЗаполнитьВходящиеДанныеИзОтветаОстатков(Пакет, Истина);
ЗначениеВРеквизитФормы(ОбъектОбработки, "Объект");
Возврат Объект.ВходящиеДанные.Количество();
КонецФункции КонецФункции
@@ -382,15 +415,18 @@
Функция СопоставитьНаСервере(РежимТест) Функция СопоставитьНаСервере(РежимТест)
ОбъектОбработки = РеквизитФормыВЗначение("Объект"); ОбъектОбработки = РеквизитФормыВЗначение("Объект");
Результат = ОбъектОбработки.СопоставитьВходящиеДанные(РежимТест); РезСоб = ОбъектОбработки.СопоставитьВходящиеСобственныеТовары(РежимТест);
РезКом = ОбъектОбработки.СопоставитьВходящиеКомиссионныеТовары(РежимТест);
ЗначениеВРеквизитФормы(ОбъектОбработки, "Объект"); ЗначениеВРеквизитФормы(ОбъектОбработки, "Объект");
Возврат СтрШаблон( Возврат СтрШаблон(
"Сопоставлено: %1; не сопоставлено: %2; создано серий: %3; создано характеристик: %4%5", "Собственные: %1 / не %2; комиссия: %3 / не %4; серий: %5; характеристик: %6%7",
Формат(Результат.Сопоставлено, "ЧН=0; ЧГ=0"), Формат(РезСоб.Сопоставлено, "ЧН=0; ЧГ=0"),
Формат(Результат.НеСопоставлено, "ЧН=0; ЧГ=0"), Формат(РезСоб.НеСопоставлено, "ЧН=0; ЧГ=0"),
Формат(Результат.СозданоСерий, "ЧН=0; ЧГ=0"), Формат(РезКом.Сопоставлено, "ЧН=0; ЧГ=0"),
Формат(Результат.СозданоХарактеристик, "ЧН=0; ЧГ=0"), Формат(РезКом.НеСопоставлено, "ЧН=0; ЧГ=0"),
Формат(РезСоб.СозданоСерий + РезКом.СозданоСерий, "ЧН=0; ЧГ=0"),
Формат(РезСоб.СозданоХарактеристик + РезКом.СозданоХарактеристик, "ЧН=0; ЧГ=0"),
?(РежимТест, " (тест)", "")); ?(РежимТест, " (тест)", ""));
КонецФункции КонецФункции
@@ -403,9 +439,11 @@
ЗначениеВРеквизитФормы(ОбъектОбработки, "Объект"); ЗначениеВРеквизитФормы(ОбъектОбработки, "Объект");
Возврат СтрШаблон( Возврат СтрШаблон(
"Документов: %1; строк: %2; удалено прежних: %3; ошибок: %4; тег: %5%6", "Собственные док.: %1 (%2 стр.); комиссия 2.5: %3 (%4 стр.); удалено: %5; ошибок: %6; тег: %7%8",
Формат(Результат.СозданоДокументов, "ЧН=0; ЧГ=0"), Формат(Результат.СозданоДокументов, "ЧН=0; ЧГ=0"),
Формат(Результат.СтрокВДокументах, "ЧН=0; ЧГ=0"), Формат(Результат.СтрокВДокументах, "ЧН=0; ЧГ=0"),
Формат(Результат.СозданоДокументовКомиссии, "ЧН=0; ЧГ=0"),
Формат(Результат.СтрокКомиссии, "ЧН=0; ЧГ=0"),
Формат(Результат.УдаленоДокументов, "ЧН=0; ЧГ=0"), Формат(Результат.УдаленоДокументов, "ЧН=0; ЧГ=0"),
Формат(Результат.Ошибок, "ЧН=0; ЧГ=0"), Формат(Результат.Ошибок, "ЧН=0; ЧГ=0"),
Результат.ТекстТега, Результат.ТекстТега,