1.3.1.133: окно серий и строки одной аналитики суммируются, страна ГТД из остатка.
Проведение склада берёт максимум строки серии (#36). Строки с одной номенклатурой, характеристикой, серией и ГТД складываются до записи (#81). Пустая карточка ГТД получает код и страну из данных загрузки (#80). Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,6 +4,15 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 1.3.1.133 (2026-10-13)
|
||||||
|
|
||||||
|
### #36: окно серий сворачивается суммой перед записью ввода остатков
|
||||||
|
|
||||||
|
- Проведение склада для статусов серий 4, 6, 8 и 10 берёт максимум количества, а не сумму повторов одной серии.
|
||||||
|
- Перед записью КБ строки окна серий с одной номенклатурой, характеристикой, назначением, серией и упаковкой складываются.
|
||||||
|
- [#81](https://git.p7net.ru/rhana/crm3-migration/issues/81): строки товаров с одной номенклатурой, характеристикой, серией и ГТД суммируются, в том числе с заполненной характеристикой. Разный ГТД остаётся разными строками.
|
||||||
|
- Загрузка остатков не создаёт элементы номеров ГТД. Если у найденной карточки пуст код, в него пишется номер из остатка. Пустая страна заполняется по коду страны из исходной базы.
|
||||||
|
|
||||||
## 1.3.1.132 (2026-10-13)
|
## 1.3.1.132 (2026-10-13)
|
||||||
|
|
||||||
### #79: сумма без НДС при выключенном «Цена включает НДС»
|
### #79: сумма без НДС при выключенном «Цена включает НДС»
|
||||||
|
|||||||
@@ -83,7 +83,7 @@
|
|||||||
<Metadata name="DataProcessor.ЗагрузкаДанныхИзФайла.Form.ЗагрузкаДанныхИзФайла" id="f47d02ff-17f2-4764-a151-627f4067a479" configVersion="247298ad849a4d46b1f412e90c0184fe64756489"/>
|
<Metadata name="DataProcessor.ЗагрузкаДанныхИзФайла.Form.ЗагрузкаДанныхИзФайла" id="f47d02ff-17f2-4764-a151-627f4067a479" configVersion="247298ad849a4d46b1f412e90c0184fe64756489"/>
|
||||||
<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="bece1f29a627db12ff29614e8e09b65e386e3272"/>
|
<Metadata name="DataProcessor.ЗагрузкаДанныхИзФайла.ManagerModule" id="b6fd11ac-f702-4d13-b328-9a78b0874483.2" configVersion="bece1f29a627db12ff29614e8e09b65e386e3272"/>
|
||||||
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков" id="5922bda8-8f69-487c-823a-8b09e343f59a" configVersion="ee131b03d569514c81758f3c969877170a39f431">
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков" id="5922bda8-8f69-487c-823a-8b09e343f59a" configVersion="9dc6e94b758c1024e246a6080a87151007a64da0">
|
||||||
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.СтоимостьРегл" id="068e3fcc-0bd5-4af0-a192-d100909a8cc1"/>
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.СтоимостьРегл" id="068e3fcc-0bd5-4af0-a192-d100909a8cc1"/>
|
||||||
<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"/>
|
||||||
@@ -161,6 +161,7 @@
|
|||||||
<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="91c330ed-7136-4788-8516-9a67b86b2189"/>
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ВидЗапасовИдентификатор" id="91c330ed-7136-4788-8516-9a67b86b2189"/>
|
||||||
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.КоличествоКОтгрузке" id="96d40d10-3374-40d1-9daf-3ddcb1cb6b7a"/>
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.КоличествоКОтгрузке" id="96d40d10-3374-40d1-9daf-3ddcb1cb6b7a"/>
|
||||||
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеКомиссионныеТовары.Attribute.ГТДСтранаКод" id="9ffc6bfd-69fe-4490-8dc4-b4d80e60580b"/>
|
||||||
<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="a1296c97-525a-457d-870e-634d893cea01"/>
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ПолитикаУчетаНоменклатуры.Attribute.ТочностьУказанияСрокаГодностиСерии" id="a1296c97-525a-457d-870e-634d893cea01"/>
|
||||||
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ВидНоменклатурыНаименование" id="a1896aca-6eaf-46df-87dc-2e9f3ea8ae64"/>
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ВходящиеСобственныеТовары.Attribute.ВидНоменклатурыНаименование" id="a1896aca-6eaf-46df-87dc-2e9f3ea8ae64"/>
|
||||||
@@ -204,6 +205,7 @@
|
|||||||
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.ЭтоТест" id="d6f1b4c7-a45c-4b6e-9b83-f8d9201a3be5"/>
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.ЭтоТест" id="d6f1b4c7-a45c-4b6e-9b83-f8d9201a3be5"/>
|
||||||
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ПолитикаУчетаНоменклатуры" id="d8059437-d963-4b1b-8930-8ed7b9fd05fe"/>
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ПолитикаУчетаНоменклатуры" id="d8059437-d963-4b1b-8930-8ed7b9fd05fe"/>
|
||||||
<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="e1699ec9-b50f-4dd1-bb23-6fa9374444ff"/>
|
||||||
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.Соглашение" id="e1a6c9d2-5f07-4619-8c3e-a3847bc5e690"/>
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.СозданныеДокументы.Attribute.Соглашение" id="e1a6c9d2-5f07-4619-8c3e-a3847bc5e690"/>
|
||||||
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.СоздаватьЗаглушкиСерий" id="e41a311b-b962-4888-ab06-c8ee29eb6351"/>
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Attribute.СоздаватьЗаглушкиСерий" id="e41a311b-b962-4888-ab06-c8ee29eb6351"/>
|
||||||
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ПолитикаУчетаНоменклатуры.Attribute.ВидНоменклатурыНаименование" id="e4d84e8b-fbd4-4967-9f84-67622403de0a"/>
|
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.TabularSection.ПолитикаУчетаНоменклатуры.Attribute.ВидНоменклатурыНаименование" id="e4d84e8b-fbd4-4967-9f84-67622403de0a"/>
|
||||||
|
|||||||
@@ -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.132</Version>
|
<Version>1.3.1.133</Version>
|
||||||
<DefaultStyle/>
|
<DefaultStyle/>
|
||||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
<BriefInformation/>
|
<BriefInformation/>
|
||||||
|
|||||||
@@ -1032,6 +1032,46 @@
|
|||||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Attribute>
|
</Attribute>
|
||||||
|
<Attribute uuid="e1699ec9-b50f-4dd1-bb23-6fa9374444ff">
|
||||||
|
<Properties>
|
||||||
|
<Name>ГТДСтранаКод</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Код страны ГТД</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>10</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillFromFillingValue>false</FillFromFillingValue>
|
||||||
|
<FillValue xsi:type="xs:string"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
<Attribute uuid="b037736f-f398-4863-8734-45f0e88ee3c9">
|
<Attribute uuid="b037736f-f398-4863-8734-45f0e88ee3c9">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Name>ГТДИдентификатор</Name>
|
<Name>ГТДИдентификатор</Name>
|
||||||
@@ -2558,6 +2598,46 @@
|
|||||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Attribute>
|
</Attribute>
|
||||||
|
<Attribute uuid="9ffc6bfd-69fe-4490-8dc4-b4d80e60580b">
|
||||||
|
<Properties>
|
||||||
|
<Name>ГТДСтранаКод</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Код страны ГТД</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>10</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillFromFillingValue>false</FillFromFillingValue>
|
||||||
|
<FillValue xsi:type="xs:string"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
<Attribute uuid="41d1148e-30d6-427c-9aa6-21feaa13873f">
|
<Attribute uuid="41d1148e-30d6-427c-9aa6-21feaa13873f">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Name>ГТДИдентификатор</Name>
|
<Name>ГТДИдентификатор</Name>
|
||||||
|
|||||||
@@ -176,7 +176,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ЗаполнитьНомерГТДСтроки(СтрТ);
|
ЗаполнитьНомерГТДСтроки(СтрТ, РежимТест);
|
||||||
|
|
||||||
СтрТ.Сопоставлено = Истина;
|
СтрТ.Сопоставлено = Истина;
|
||||||
Если ПустаяСтрока(СтрТ.КомментарийСопоставления) Тогда
|
Если ПустаяСтрока(СтрТ.КомментарийСопоставления) Тогда
|
||||||
@@ -289,7 +289,7 @@
|
|||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ЗаполнитьНомерГТДСтроки(СтрТ);
|
ЗаполнитьНомерГТДСтроки(СтрТ, РежимТест);
|
||||||
|
|
||||||
СтрТ.Сопоставлено = Истина;
|
СтрТ.Сопоставлено = Истина;
|
||||||
Если ПустаяСтрока(СтрТ.КомментарийСопоставления) Тогда
|
Если ПустаяСтрока(СтрТ.КомментарийСопоставления) Тогда
|
||||||
@@ -1170,7 +1170,7 @@
|
|||||||
Исключение
|
Исключение
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
СтрокиСклада = СвернутьСтрокиБезХарактеристики(СтрокиСклада);
|
СтрокиСклада = СвернутьСтрокиОднойАналитики(СтрокиСклада);
|
||||||
Для Каждого СтрТ Из СтрокиСклада Цикл
|
Для Каждого СтрТ Из СтрокиСклада Цикл
|
||||||
ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ);
|
ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -1187,6 +1187,7 @@
|
|||||||
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Док, ПараметрыУказанияСерий);
|
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Док, ПараметрыУказанияСерий);
|
||||||
Исключение
|
Исключение
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
СвернутьСерииДокументаВвода(Док);
|
||||||
|
|
||||||
Док.ОбменДанными.Загрузка = Ложь;
|
Док.ОбменДанными.Загрузка = Ложь;
|
||||||
Док.Записать(РежимЗаписиДокумента.Запись);
|
Док.Записать(РежимЗаписиДокумента.Запись);
|
||||||
@@ -1245,7 +1246,7 @@
|
|||||||
Исключение
|
Исключение
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
СтрокиГруппы = СвернутьСтрокиБезХарактеристики(СтрокиГруппы);
|
СтрокиГруппы = СвернутьСтрокиОднойАналитики(СтрокиГруппы);
|
||||||
Для Каждого СтрТ Из СтрокиГруппы Цикл
|
Для Каждого СтрТ Из СтрокиГруппы Цикл
|
||||||
ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ);
|
ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -1262,6 +1263,7 @@
|
|||||||
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Док, ПараметрыУказанияСерий);
|
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Док, ПараметрыУказанияСерий);
|
||||||
Исключение
|
Исключение
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
СвернутьСерииДокументаВвода(Док);
|
||||||
|
|
||||||
Док.ОбменДанными.Загрузка = Ложь;
|
Док.ОбменДанными.Загрузка = Ложь;
|
||||||
Док.Записать(РежимЗаписиДокумента.Запись);
|
Док.Записать(РежимЗаписиДокумента.Запись);
|
||||||
@@ -1269,6 +1271,56 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Проведение ТоварыНаСкладах для статусов 4, 6, 8, 10 берёт МАКСИМУМ количества
|
||||||
|
// окна серий в разрезе номенклатуры, характеристики, назначения, серии и упаковки (#36).
|
||||||
|
// Повторы одной серии из разных строк товаров схлопываются суммой до записи.
|
||||||
|
//
|
||||||
|
Процедура СвернутьСерииДокументаВвода(Док)
|
||||||
|
|
||||||
|
Если Док.Серии.Количество() < 2 Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Индекс = Новый Соответствие;
|
||||||
|
КУдалению = Новый Массив;
|
||||||
|
Для Каждого СтрСер Из Док.Серии Цикл
|
||||||
|
КлючХар = "";
|
||||||
|
Если ЗначениеЗаполнено(СтрСер.Характеристика) Тогда
|
||||||
|
КлючХар = Строка(СтрСер.Характеристика.УникальныйИдентификатор());
|
||||||
|
КонецЕсли;
|
||||||
|
КлючНазначения = "";
|
||||||
|
Если ЗначениеЗаполнено(СтрСер.Назначение) Тогда
|
||||||
|
КлючНазначения = Строка(СтрСер.Назначение.УникальныйИдентификатор());
|
||||||
|
КонецЕсли;
|
||||||
|
КлючУпаковки = "";
|
||||||
|
Если ЗначениеЗаполнено(СтрСер.Упаковка) Тогда
|
||||||
|
КлючУпаковки = Строка(СтрСер.Упаковка.УникальныйИдентификатор());
|
||||||
|
КонецЕсли;
|
||||||
|
КлючСерии = "";
|
||||||
|
Если ЗначениеЗаполнено(СтрСер.Серия) Тогда
|
||||||
|
КлючСерии = Строка(СтрСер.Серия.УникальныйИдентификатор());
|
||||||
|
КонецЕсли;
|
||||||
|
Ключ = Строка(СтрСер.Номенклатура.УникальныйИдентификатор())
|
||||||
|
+ "|" + КлючХар
|
||||||
|
+ "|" + КлючНазначения
|
||||||
|
+ "|" + КлючСерии
|
||||||
|
+ "|" + КлючУпаковки;
|
||||||
|
Уже = Индекс.Получить(Ключ);
|
||||||
|
Если Уже = Неопределено Тогда
|
||||||
|
Индекс.Вставить(Ключ, СтрСер);
|
||||||
|
Иначе
|
||||||
|
Уже.Количество = Уже.Количество + СтрСер.Количество;
|
||||||
|
Уже.КоличествоУпаковок = Уже.КоличествоУпаковок + СтрСер.КоличествоУпаковок;
|
||||||
|
КУдалению.Добавить(СтрСер);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Для Каждого СтрСер Из КУдалению Цикл
|
||||||
|
Док.Серии.Удалить(СтрСер);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ)
|
Процедура ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ)
|
||||||
|
|
||||||
КолДок = СтрТ.КоличествоОрганизации;
|
КолДок = СтрТ.КоличествоОрганизации;
|
||||||
@@ -1375,22 +1427,39 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СвернутьСтрокиБезХарактеристики(Строки)
|
// #81: одна аналитика — номенклатура, характеристика, серия и ГТД.
|
||||||
|
// Разный ГТД не схлопывается. Без серии строка остаётся отдельной:
|
||||||
|
// пустая колонка серии не отличает разные карточки окна.
|
||||||
|
//
|
||||||
|
Функция СвернутьСтрокиОднойАналитики(Строки)
|
||||||
|
|
||||||
Результат = Новый Массив;
|
Результат = Новый Массив;
|
||||||
Индекс = Новый Соответствие;
|
Индекс = Новый Соответствие;
|
||||||
Для Каждого СтрТ Из Строки Цикл
|
Для Каждого СтрТ Из Строки Цикл
|
||||||
Если ЗначениеЗаполнено(СтрТ.Характеристика) Или Не ЗначениеЗаполнено(СтрТ.СерияСсылка) Тогда
|
Если Не ЗначениеЗаполнено(СтрТ.СерияСсылка) Тогда
|
||||||
Результат.Добавить(СтрТ);
|
Результат.Добавить(СтрТ);
|
||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
КлючХар = "";
|
||||||
|
Если ЗначениеЗаполнено(СтрТ.Характеристика) Тогда
|
||||||
|
КлючХар = Строка(СтрТ.Характеристика.УникальныйИдентификатор());
|
||||||
|
КонецЕсли;
|
||||||
КлючГТД = "";
|
КлючГТД = "";
|
||||||
Если ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
|
Если ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
|
||||||
КлючГТД = Строка(СтрТ.НомерГТДСсылка.УникальныйИдентификатор());
|
КлючГТД = Строка(СтрТ.НомерГТДСсылка.УникальныйИдентификатор());
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
КлючНазначения = "";
|
||||||
|
Попытка
|
||||||
|
Если ЗначениеЗаполнено(СтрТ.НазначениеИдентификатор) Тогда
|
||||||
|
КлючНазначения = Строка(СтрТ.НазначениеИдентификатор);
|
||||||
|
КонецЕсли;
|
||||||
|
Исключение
|
||||||
|
КонецПопытки;
|
||||||
Ключ = Строка(СтрТ.Номенклатура.УникальныйИдентификатор())
|
Ключ = Строка(СтрТ.Номенклатура.УникальныйИдентификатор())
|
||||||
|
+ "|" + КлючХар
|
||||||
+ "|" + Строка(СтрТ.СерияСсылка.УникальныйИдентификатор())
|
+ "|" + Строка(СтрТ.СерияСсылка.УникальныйИдентификатор())
|
||||||
+ "|" + КлючГТД;
|
+ "|" + КлючГТД
|
||||||
|
+ "|" + КлючНазначения;
|
||||||
Уже = Индекс.Получить(Ключ);
|
Уже = Индекс.Получить(Ключ);
|
||||||
Если Уже = Неопределено Тогда
|
Если Уже = Неопределено Тогда
|
||||||
Индекс.Вставить(Ключ, СтрТ);
|
Индекс.Вставить(Ключ, СтрТ);
|
||||||
@@ -1524,6 +1593,7 @@
|
|||||||
ГТДТекст = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "gtd_number", "")));
|
ГТДТекст = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "gtd_number", "")));
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
НовСтр.ГТД = ГТДТекст;
|
НовСтр.ГТД = ГТДТекст;
|
||||||
|
НовСтр.ГТДСтранаКод = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "gtd_country_code", "")));
|
||||||
|
|
||||||
НовСтр.ОрганизацияИдентификатор = UUIDИзСтроки(ЗначениеСвойства(СтрокаAPI, "organization_guid", ""));
|
НовСтр.ОрганизацияИдентификатор = UUIDИзСтроки(ЗначениеСвойства(СтрокаAPI, "organization_guid", ""));
|
||||||
НовСтр.ОрганизацияНаименование = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "organization_name", "")));
|
НовСтр.ОрганизацияНаименование = СокрЛП(Строка(ЗначениеСвойства(СтрокаAPI, "organization_name", "")));
|
||||||
@@ -1680,28 +1750,117 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Процедура ЗаполнитьНомерГТДСтроки(СтрТ)
|
// Элементы НомераГТД обработка не создаёт. Пустой код даёт в документе «<>»:
|
||||||
|
// представление справочника — код, а в списке виден регистрационный номер.
|
||||||
|
// Из нескольких карточек одного номера берётся заполненная. Если код пуст,
|
||||||
|
// в него пишется номер из остатка. Пустая страна берётся из кода страны исходной базы.
|
||||||
|
//
|
||||||
|
Процедура ЗаполнитьНомерГТДСтроки(СтрТ, РежимТест)
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(СтрТ.ГТД) Тогда
|
Если Не ЗначениеЗаполнено(СтрТ.ГТД) Тогда
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КодГТД = СокрЛП(СтрТ.ГТД);
|
СтрТ.НомерГТДСсылка = ПодобратьКарточкуГТД(СокрЛП(СтрТ.ГТД), СтрТ.ГТДИдентификатор,
|
||||||
СтрТ.НомерГТДСсылка = Справочники.НомераГТД.НайтиПоКоду(КодГТД);
|
СтрТ.ГТДСтранаКод, РежимТест);
|
||||||
Если Не ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
|
|
||||||
СтрТ.НомерГТДСсылка = Справочники.НомераГТД.НайтиПоРеквизиту("РегистрационныйНомер", КодГТД);
|
|
||||||
КонецЕсли;
|
|
||||||
Если Не ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
|
|
||||||
СтрТ.НомерГТДСсылка = Справочники.НомераГТД.НайтиПоНаименованию(КодГТД, Истина);
|
|
||||||
КонецЕсли;
|
|
||||||
Если Не ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
|
|
||||||
СсылкаГТД = СсылкаПоUUID(Справочники.НомераГТД, СтрТ.ГТДИдентификатор);
|
|
||||||
Если ЗначениеЗаполнено(СсылкаГТД) И ОбщегоНазначения.СсылкаСуществует(СсылкаГТД) Тогда
|
|
||||||
СтрТ.НомерГТДСсылка = СсылкаГТД;
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция ПодобратьКарточкуГТД(КодГТД, Идентификатор, КодСтраныИсточника, РежимТест)
|
||||||
|
|
||||||
|
СсылкаПоГуид = СсылкаПоUUID(Справочники.НомераГТД, Идентификатор);
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
Запрос.УстановитьПараметр("Номер", КодГТД);
|
||||||
|
Запрос.УстановитьПараметр("Ссылка", СсылкаПоГуид);
|
||||||
|
Запрос.Текст =
|
||||||
|
"ВЫБРАТЬ
|
||||||
|
| ГТД.Ссылка КАК Ссылка,
|
||||||
|
| ГТД.Код КАК Код,
|
||||||
|
| ГТД.РегистрационныйНомер КАК РегНомер,
|
||||||
|
| ГТД.СтранаПроисхождения КАК Страна
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.НомераГТД КАК ГТД
|
||||||
|
|ГДЕ
|
||||||
|
| НЕ ГТД.ПометкаУдаления
|
||||||
|
| И (СОКРЛП(ГТД.Код) = &Номер
|
||||||
|
| ИЛИ ГТД.РегистрационныйНомер = &Номер
|
||||||
|
| ИЛИ ГТД.Ссылка = &Ссылка)";
|
||||||
|
|
||||||
|
Лучшая = Справочники.НомераГТД.ПустаяСсылка();
|
||||||
|
ЛучшийБалл = -1;
|
||||||
|
СтранаПолная = Справочники.СтраныМира.ПустаяСсылка();
|
||||||
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
Пока Выборка.Следующий() Цикл
|
||||||
|
НомерСовпадает = СокрЛП(Выборка.Код) = КодГТД Или СокрЛП(Выборка.РегНомер) = КодГТД;
|
||||||
|
Если Не НомерСовпадает Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
Балл = 0;
|
||||||
|
Если ЗначениеЗаполнено(СокрЛП(Выборка.Код)) Тогда
|
||||||
|
Балл = Балл + 2;
|
||||||
|
КонецЕсли;
|
||||||
|
Если ЗначениеЗаполнено(Выборка.Страна) Тогда
|
||||||
|
Балл = Балл + 1;
|
||||||
|
Если Не ЗначениеЗаполнено(СтранаПолная) Тогда
|
||||||
|
СтранаПолная = Выборка.Страна;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
Если Балл > ЛучшийБалл Тогда
|
||||||
|
ЛучшийБалл = Балл;
|
||||||
|
Лучшая = Выборка.Ссылка;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Лучшая) Тогда
|
||||||
|
Возврат Справочники.НомераГТД.ПустаяСсылка();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтранаИсточника = СтранаМираПоКоду(КодСтраныИсточника);
|
||||||
|
Если ЗначениеЗаполнено(СтранаИсточника) Тогда
|
||||||
|
СтранаПолная = СтранаИсточника;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат ДополнитьПустуюКарточкуГТД(Лучшая, КодГТД, СтранаПолная, РежимТест);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция СтранаМираПоКоду(КодСтраны)
|
||||||
|
|
||||||
|
Код = СокрЛП(КодСтраны);
|
||||||
|
Если ПустаяСтрока(Код) Тогда
|
||||||
|
Возврат Справочники.СтраныМира.ПустаяСсылка();
|
||||||
|
КонецЕсли;
|
||||||
|
Возврат Справочники.СтраныМира.НайтиПоКоду(Код);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ДополнитьПустуюКарточкуГТД(СсылкаГТД, КодГТД, СтранаПолная, РежимТест)
|
||||||
|
|
||||||
|
КодКарточки = СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаГТД, "Код"));
|
||||||
|
СтранаКарточки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаГТД, "СтранаПроисхождения");
|
||||||
|
НуженКод = Не ЗначениеЗаполнено(КодКарточки);
|
||||||
|
НужнаСтрана = Не ЗначениеЗаполнено(СтранаКарточки) И ЗначениеЗаполнено(СтранаПолная);
|
||||||
|
Если РежимТест Или (Не НуженКод И Не НужнаСтрана) Тогда
|
||||||
|
Возврат СсылкаГТД;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОбъектГТД = СсылкаГТД.ПолучитьОбъект();
|
||||||
|
Если НуженКод Тогда
|
||||||
|
ОбъектГТД.Код = КодГТД;
|
||||||
|
Если Не ЗначениеЗаполнено(ОбъектГТД.РегистрационныйНомер) Тогда
|
||||||
|
ОбъектГТД.РегистрационныйНомер = КодГТД;
|
||||||
|
КонецЕсли;
|
||||||
|
Если Не ЗначениеЗаполнено(ОбъектГТД.ТипНомераГТД) Тогда
|
||||||
|
ОбъектГТД.ТипНомераГТД = Перечисления.ТипыНомеровГТД.НомерГТД;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
Если НужнаСтрана Тогда
|
||||||
|
ОбъектГТД.СтранаПроисхождения = СтранаПолная;
|
||||||
|
КонецЕсли;
|
||||||
|
ОбъектГТД.Записать();
|
||||||
|
Возврат ОбъектГТД.Ссылка;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// A4a (#24 comment-893/897): plain dev «Основное соглашение по договорам» (продажи) →
|
// A4a (#24 comment-893/897): plain dev «Основное соглашение по договорам» (продажи) →
|
||||||
// индивидуальное соглашение комиссии Поварова в target (не типовое 1448bf7f:
|
// индивидуальное соглашение комиссии Поварова в target (не типовое 1448bf7f:
|
||||||
// ввод на основании типового соглашения в Заказ/Реализация запрещён).
|
// ввод на основании типового соглашения в Заказ/Реализация запрещён).
|
||||||
|
|||||||
Reference in New Issue
Block a user