1.3.1.117: явное заполнение СозданныеДокументы и диагностика create (#40).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mihailkudravcev
2026-09-04 14:53:01 +03:00
parent 5cf6faa2cc
commit f27bb420ed
6 changed files with 146 additions and 16 deletions
+9
View File
@@ -4,6 +4,15 @@
--- ---
## 1.3.1.117 (2026-09-04)
### РК_ЗагрузкаОстатков — заполнение «Документы ввода» и диагностика create (#40)
- ТЧ `СозданныеДокументы` на форме заполняется явно из результата создания (не только через `ЗначениеВРеквизитФормы`).
- Если документов 0 — предупреждение: нужно сначала «Сопоставить».
- В лог create: диагностика ТЧ (всего / сопоставлено / готово qty>0) для own и comm.
- Проверка успешного создания документа: `ДокументОбъект` + заполненная ссылка.
## 1.3.1.116 (2026-09-04) ## 1.3.1.116 (2026-09-04)
### РК_ЗагрузкаОстатков — детальный лог и CSV созданных документов (#29, #30) ### РК_ЗагрузкаОстатков — детальный лог и CSV созданных документов (#29, #30)
+1 -1
View File
@@ -1 +1 @@
1.3.1.116 1.3.1.117
+5 -5
View File
@@ -50,14 +50,14 @@
<Metadata name="CommonPicture.ПодписанЗашифрованСостояния" id="a0bd1007-a115-4d79-8160-d4f59cd57ffb" configVersion="08ed86b1653fc955004b703d7dce5d947956fdda"/> <Metadata name="CommonPicture.ПодписанЗашифрованСостояния" id="a0bd1007-a115-4d79-8160-d4f59cd57ffb" configVersion="08ed86b1653fc955004b703d7dce5d947956fdda"/>
<Metadata name="CommonPicture.СерииНоменклатурыКолонкаСтатусов" id="f2badc5e-4af7-4c05-be31-b4d5b7642ab5" configVersion="d070fbc999630568abec9d83770ed805666a24d9"/> <Metadata name="CommonPicture.СерииНоменклатурыКолонкаСтатусов" id="f2badc5e-4af7-4c05-be31-b4d5b7642ab5" configVersion="d070fbc999630568abec9d83770ed805666a24d9"/>
<Metadata name="CommonPicture.СтатусыУказанияСерий" id="cc5cab6d-e293-4890-a422-6e8cd2fb58bb" configVersion="17b11a4c6ec74254745177f7c136d38af0214bdf"/> <Metadata name="CommonPicture.СтатусыУказанияСерий" id="cc5cab6d-e293-4890-a422-6e8cd2fb58bb" configVersion="17b11a4c6ec74254745177f7c136d38af0214bdf"/>
<Metadata name="Configuration.crm326RHANA" id="ef31d55b-3788-4972-affb-b7aefd3838aa" configVersion="9ddb0345819d297deaf5292d5f0036de40dce636"/> <Metadata name="Configuration.crm326RHANA" id="ef31d55b-3788-4972-affb-b7aefd3838aa" configVersion="7e15609c5d17010b887bacb8d78cb0f14c530f6c"/>
<Metadata name="Constant.РК_РабочееПодключениеЧерезАПИ" id="47f107f1-41f6-4f00-bb8a-aa1cf8b60191" configVersion="132678198dbf6e5b884c9ba219f5523cb63f7f8a"/> <Metadata name="Constant.РК_РабочееПодключениеЧерезАПИ" id="47f107f1-41f6-4f00-bb8a-aa1cf8b60191" configVersion="132678198dbf6e5b884c9ba219f5523cb63f7f8a"/>
<Metadata name="Constant.РК_РежимОтладкиРана" id="32d682cc-7aeb-45c8-abc6-68fef7f36011" configVersion="a12fe879a2594e605228c43059bb3a72d30fa471"/> <Metadata name="Constant.РК_РежимОтладкиРана" id="32d682cc-7aeb-45c8-abc6-68fef7f36011" configVersion="a12fe879a2594e605228c43059bb3a72d30fa471"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзФайла" id="b6fd11ac-f702-4d13-b328-9a78b0874483" configVersion="c39312c21ebce9b1bb7a4df34e3e489203b3f8a8"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзФайла" id="b6fd11ac-f702-4d13-b328-9a78b0874483" configVersion="c39312c21ebce9b1bb7a4df34e3e489203b3f8a8"/>
<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="78276e2de46cee0ce6ddd3972858ba87a64b96c0"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзФайла.ManagerModule" id="b6fd11ac-f702-4d13-b328-9a78b0874483.2" configVersion="78276e2de46cee0ce6ddd3972858ba87a64b96c0"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков" id="5922bda8-8f69-487c-823a-8b09e343f59a" configVersion="09c631828c784cf1e5601ce67f0024952f6c85e9"> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков" id="5922bda8-8f69-487c-823a-8b09e343f59a" configVersion="5f10be150ab97fd63f3bbd40829a9b8e66c49af5">
<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"/>
@@ -204,9 +204,9 @@
</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"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Form.Форма" id="dc49348d-9257-4545-9c29-70c138312177" configVersion="514d5fb78bc205cacae4221325868b4465a6b3c2"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Form.Форма" id="dc49348d-9257-4545-9c29-70c138312177" configVersion="c6255e87098d91f0869f959e24a3f9b5cca76469"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Form.Форма.Form" id="dc49348d-9257-4545-9c29-70c138312177.0" configVersion="aaf27f9c5bec1fc5373c84165074e79177042e9c"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.Form.Форма.Form" id="dc49348d-9257-4545-9c29-70c138312177.0" configVersion="841d709bfc85f348ecacdb929b9d7db19e3a6456"/>
<Metadata name="DataProcessor.РК_ЗагрузкаОстатков.ObjectModule" id="5922bda8-8f69-487c-823a-8b09e343f59a.0" configVersion="7c17502dd4beb037cddbd41a5e64611e9032133d"/> <Metadata name="DataProcessor.РК_ЗагрузкаОстатков.ObjectModule" id="5922bda8-8f69-487c-823a-8b09e343f59a.0" configVersion="8a5121f32a7abab098fc87e738baccdb44767aa7"/>
<Metadata name="DataProcessor.РК_ЗагрузкаЦен" id="a18e1801-18e0-4000-8000-000000000001" configVersion="800c7286acdc6bcc40d47f7aa70bdf0f18e2aa5d"> <Metadata name="DataProcessor.РК_ЗагрузкаЦен" id="a18e1801-18e0-4000-8000-000000000001" configVersion="800c7286acdc6bcc40d47f7aa70bdf0f18e2aa5d">
<Metadata name="DataProcessor.РК_ЗагрузкаЦен.Attribute.ПодключениеКСтороннейБазе" id="a18e1801-18e0-4000-8000-000000000101"/> <Metadata name="DataProcessor.РК_ЗагрузкаЦен.Attribute.ПодключениеКСтороннейБазе" id="a18e1801-18e0-4000-8000-000000000101"/>
<Metadata name="DataProcessor.РК_ЗагрузкаЦен.Attribute.ДатаЦен" id="a18e1801-18e0-4000-8000-000000000102"/> <Metadata name="DataProcessor.РК_ЗагрузкаЦен.Attribute.ДатаЦен" id="a18e1801-18e0-4000-8000-000000000102"/>
+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.116</Version> <Version>1.3.1.117</Version>
<DefaultStyle/> <DefaultStyle/>
<DefaultLanguage>Language.Русский</DefaultLanguage> <DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/> <BriefInformation/>
@@ -436,6 +436,8 @@
Результат.Вставить("ТекстТега", ""); Результат.Вставить("ТекстТега", "");
Результат.Вставить("Протокол", Новый Массив); Результат.Вставить("Протокол", Новый Массив);
Результат.Вставить("ТекстCSVДокументов", ""); Результат.Вставить("ТекстCSVДокументов", "");
Результат.Вставить("СтрокиСозданныхДокументов", Новый Массив);
Результат.Вставить("ДиагностикаСопоставления", "");
Если Не ЗначениеЗаполнено(Организация) Тогда Если Не ЗначениеЗаполнено(Организация) Тогда
ВызватьИсключение "Укажите организацию для документов ввода остатков"; ВызватьИсключение "Укажите организацию для документов ввода остатков";
@@ -457,6 +459,10 @@
СтрокиCSVДокументов = Новый Массив; СтрокиCSVДокументов = Новый Массив;
СтрокиCSVДокументов.Добавить(ЗаголовокCSVСозданныхДокументов()); СтрокиCSVДокументов.Добавить(ЗаголовокCSVСозданныхДокументов());
ТекстДиагностики = ТекстДиагностикиСопоставленияДляСозданияДокументов();
Результат.ДиагностикаСопоставления = ТекстДиагностики;
ДобавитьСтрокуПротокола(Результат, ТекстДиагностики);
СтрокиПоСкладу = СгруппироватьСопоставленныеСтрокиПоСкладу(); СтрокиПоСкладу = СгруппироватьСопоставленныеСтрокиПоСкладу();
СтрокиКомиссии = СгруппироватьСопоставленныеСтрокиКомиссии(); СтрокиКомиссии = СгруппироватьСопоставленныеСтрокиКомиссии();
ДобавитьСтрокуПротокола(Результат, "Групп own (складов): " + Формат(СтрокиПоСкладу.Количество(), "ЧН=0; ЧГ=0") ДобавитьСтрокуПротокола(Результат, "Групп own (складов): " + Формат(СтрокиПоСкладу.Количество(), "ЧН=0; ЧГ=0")
@@ -488,7 +494,7 @@
Результат.СозданоДокументов = Результат.СозданоДокументов + 1; Результат.СозданоДокументов = Результат.СозданоДокументов + 1;
Результат.СтрокВДокументах = Результат.СтрокВДокументах + СтрокиСклада.Количество(); Результат.СтрокВДокументах = Результат.СтрокВДокументах + СтрокиСклада.Количество();
ДобавитьВСозданныеДокументы(Неопределено, "Собственные", СкладДок, ДобавитьВСозданныеДокументы(Неопределено, "Собственные", СкладДок,
Неопределено, Неопределено, СтрокиСклада, ТекстТега + ", склад " + СокрЛП(Строка(СкладДок)), Истина); Неопределено, Неопределено, СтрокиСклада, ТекстТега + ", склад " + СокрЛП(Строка(СкладДок)), Истина, Результат);
ДобавитьСтрокуПротокола(Результат, "[TEST] " + Контекст); ДобавитьСтрокуПротокола(Результат, "[TEST] " + Контекст);
ДобавитьСтрокиCSVДокументаИзВходящих(СтрокиCSVДокументов, "own", Неопределено, СкладДок, ДобавитьСтрокиCSVДокументаИзВходящих(СтрокиCSVДокументов, "own", Неопределено, СкладДок,
Неопределено, Неопределено, Неопределено, СтрокиСклада, Истина); Неопределено, Неопределено, Неопределено, СтрокиСклада, Истина);
@@ -497,7 +503,7 @@
ДобавитьСтрокуПротокола(Результат, "[FILL] " + Контекст); ДобавитьСтрокуПротокола(Результат, "[FILL] " + Контекст);
Док = СоздатьДокументПоСкладу(СкладДок, СтрокиСклада, ТекстТега); Док = СоздатьДокументПоСкладу(СкладДок, СтрокиСклада, ТекстТега);
Если ЗначениеЗаполнено(Док) Тогда Если ДокументВводаСозданУспешно(Док) Тогда
Результат.СозданоДокументов = Результат.СозданоДокументов + 1; Результат.СозданоДокументов = Результат.СозданоДокументов + 1;
Результат.СтрокВДокументах = Результат.СтрокВДокументах + Док.Товары.Количество(); Результат.СтрокВДокументах = Результат.СтрокВДокументах + Док.Товары.Количество();
Для Каждого СтрТ Из СтрокиСклада Цикл Для Каждого СтрТ Из СтрокиСклада Цикл
@@ -505,7 +511,7 @@
СтрТ.ЗагруженоВДокумент = Истина; СтрТ.ЗагруженоВДокумент = Истина;
КонецЦикла; КонецЦикла;
ДобавитьВСозданныеДокументы(Док.Ссылка, "Собственные", СкладДок, ДобавитьВСозданныеДокументы(Док.Ссылка, "Собственные", СкладДок,
Неопределено, Неопределено, СтрокиСклада, Док.Комментарий, Ложь); Неопределено, Неопределено, СтрокиСклада, Док.Комментарий, Ложь, Результат);
ДобавитьПротоколСозданногоДокумента(Результат, Док, Контекст, "own"); ДобавитьПротоколСозданногоДокумента(Результат, Док, Контекст, "own");
ДобавитьСтрокиCSVДокументаИзОбъекта(СтрокиCSVДокументов, "own", Док, СтрокиСклада); ДобавитьСтрокиCSVДокументаИзОбъекта(СтрокиCSVДокументов, "own", Док, СтрокиСклада);
ДобавитьСтрокуПротокола(Результат, "[POST] " + ПредставлениеДокументаДляПротокола(Док) ДобавитьСтрокуПротокола(Результат, "[POST] " + ПредставлениеДокументаДляПротокола(Док)
@@ -539,7 +545,7 @@
Результат.СтрокКомиссии = Результат.СтрокКомиссии + СтрокиГруппы.Количество(); Результат.СтрокКомиссии = Результат.СтрокКомиссии + СтрокиГруппы.Количество();
ДобавитьВСозданныеДокументы(Неопределено, "Комиссия 2.5", Неопределено, ДобавитьВСозданныеДокументы(Неопределено, "Комиссия 2.5", Неопределено,
Первая.Соглашение, Первая.Партнер, СтрокиГруппы, Первая.Соглашение, Первая.Партнер, СтрокиГруппы,
ТекстТега + ", комиссия 2.5, " + СокрЛП(Строка(Первая.Партнер)), Истина); ТекстТега + ", комиссия 2.5, " + СокрЛП(Строка(Первая.Партнер)), Истина, Результат);
ДобавитьСтрокуПротокола(Результат, "[TEST] " + Контекст); ДобавитьСтрокуПротокола(Результат, "[TEST] " + Контекст);
ДобавитьСтрокиCSVДокументаИзВходящих(СтрокиCSVДокументов, "comm", Неопределено, Неопределено, ДобавитьСтрокиCSVДокументаИзВходящих(СтрокиCSVДокументов, "comm", Неопределено, Неопределено,
Первая.Партнер, Первая.Соглашение, Первая.Договор, СтрокиГруппы, Истина); Первая.Партнер, Первая.Соглашение, Первая.Договор, СтрокиГруппы, Истина);
@@ -548,7 +554,7 @@
ДобавитьСтрокуПротокола(Результат, "[FILL] " + Контекст); ДобавитьСтрокуПротокола(Результат, "[FILL] " + Контекст);
Док = СоздатьДокументКомиссии(СтрокиГруппы, ТекстТега); Док = СоздатьДокументКомиссии(СтрокиГруппы, ТекстТега);
Если ЗначениеЗаполнено(Док) Тогда Если ДокументВводаСозданУспешно(Док) Тогда
Результат.СозданоДокументовКомиссии = Результат.СозданоДокументовКомиссии + 1; Результат.СозданоДокументовКомиссии = Результат.СозданоДокументовКомиссии + 1;
Результат.СтрокКомиссии = Результат.СтрокКомиссии + Док.Товары.Количество(); Результат.СтрокКомиссии = Результат.СтрокКомиссии + Док.Товары.Количество();
Для Каждого СтрТ Из СтрокиГруппы Цикл Для Каждого СтрТ Из СтрокиГруппы Цикл
@@ -556,7 +562,7 @@
СтрТ.ЗагруженоВДокумент = Истина; СтрТ.ЗагруженоВДокумент = Истина;
КонецЦикла; КонецЦикла;
ДобавитьВСозданныеДокументы(Док.Ссылка, "Комиссия 2.5", Неопределено, ДобавитьВСозданныеДокументы(Док.Ссылка, "Комиссия 2.5", Неопределено,
Док.СоглашениеСКомиссионером, Док.Партнер, СтрокиГруппы, Док.Комментарий, Ложь); Док.СоглашениеСКомиссионером, Док.Партнер, СтрокиГруппы, Док.Комментарий, Ложь, Результат);
ДобавитьПротоколСозданногоДокумента(Результат, Док, Контекст, "comm"); ДобавитьПротоколСозданногоДокумента(Результат, Док, Контекст, "comm");
ДобавитьСтрокиCSVДокументаИзОбъекта(СтрокиCSVДокументов, "comm", Док, СтрокиГруппы); ДобавитьСтрокиCSVДокументаИзОбъекта(СтрокиCSVДокументов, "comm", Док, СтрокиГруппы);
ДобавитьСтрокуПротокола(Результат, "[POST] " + ПредставлениеДокументаДляПротокола(Док) ДобавитьСтрокуПротокола(Результат, "[POST] " + ПредставлениеДокументаДляПротокола(Док)
@@ -818,7 +824,7 @@
КонецФункции КонецФункции
Процедура ДобавитьВСозданныеДокументы(ДокументСсылка, ВидОстатков, Склад, Соглашение, Партнер, СтрокиТоваров, Комментарий, ЭтоТест) Процедура ДобавитьВСозданныеДокументы(ДокументСсылка, ВидОстатков, Склад, Соглашение, Партнер, СтрокиТоваров, Комментарий, ЭтоТест, Результат = Неопределено)
НовСтр = СозданныеДокументы.Добавить(); НовСтр = СозданныеДокументы.Добавить();
Если ЗначениеЗаполнено(ДокументСсылка) Тогда Если ЗначениеЗаполнено(ДокументСсылка) Тогда
@@ -843,8 +849,86 @@
НовСтр.Комментарий = Комментарий; НовСтр.Комментарий = Комментарий;
НовСтр.ЭтоТест = ЭтоТест; НовСтр.ЭтоТест = ЭтоТест;
Если ТипЗнч(Результат) = Тип("Структура") Тогда
Если Не Результат.Свойство("СтрокиСозданныхДокументов")
Или ТипЗнч(Результат.СтрокиСозданныхДокументов) <> Тип("Массив") Тогда
Результат.Вставить("СтрокиСозданныхДокументов", Новый Массив);
КонецЕсли;
СтрРез = Новый Структура;
СтрРез.Вставить("Документ", ?(ЗначениеЗаполнено(ДокументСсылка), ДокументСсылка, Неопределено));
СтрРез.Вставить("ВидОстатков", ВидОстатков);
СтрРез.Вставить("Склад", ?(ЗначениеЗаполнено(Склад), Склад, Неопределено));
СтрРез.Вставить("Соглашение", ?(ЗначениеЗаполнено(Соглашение), Соглашение, Неопределено));
СтрРез.Вставить("Партнер", ?(ЗначениеЗаполнено(Партнер), Партнер, Неопределено));
СтрРез.Вставить("КоличествоСтрок", НовСтр.КоличествоСтрок);
СтрРез.Вставить("КоличествоТоваров", НовСтр.КоличествоТоваров);
СтрРез.Вставить("Комментарий", Комментарий);
СтрРез.Вставить("ЭтоТест", ЭтоТест);
Результат.СтрокиСозданныхДокументов.Добавить(СтрРез);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
Функция ДокументВводаСозданУспешно(Док)
Если Док = Неопределено Или Док = Null Тогда
Возврат Ложь;
КонецЕсли;
Попытка
Возврат ТипЗнч(Док) = Тип("ДокументОбъект.ВводОстатковТоваров") И ЗначениеЗаполнено(Док.Ссылка);
Исключение
Возврат ЗначениеЗаполнено(Док);
КонецПопытки;
КонецФункции
Функция ТекстДиагностикиСопоставленияДляСозданияДокументов()
OwnВсего = ВходящиеСобственныеТовары.Количество();
OwnСоп = 0;
OwnСопСкладНом = 0;
OwnГотово = 0;
Для Каждого СтрТ Из ВходящиеСобственныеТовары Цикл
Если СтрТ.Сопоставлено Тогда
OwnСоп = OwnСоп + 1;
Если ЗначениеЗаполнено(СтрТ.Склад) И ЗначениеЗаполнено(СтрТ.Номенклатура) Тогда
OwnСопСкладНом = OwnСопСкладНом + 1;
Если СтрТ.Количество > 0 Тогда
OwnГотово = OwnГотово + 1;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
CommВсего = ВходящиеКомиссионныеТовары.Количество();
CommСоп = 0;
CommСопНСИ = 0;
CommГотово = 0;
Для Каждого СтрТ Из ВходящиеКомиссионныеТовары Цикл
Если СтрТ.Сопоставлено Тогда
CommСоп = CommСоп + 1;
Если ЗначениеЗаполнено(СтрТ.Номенклатура)
И ЗначениеЗаполнено(СтрТ.Партнер)
И ЗначениеЗаполнено(СтрТ.Соглашение) Тогда
CommСопНСИ = CommСопНСИ + 1;
Если СтрТ.Количество > 0 Тогда
CommГотово = CommГотово + 1;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат "Диагностика ТЧ: own всего=" + Формат(OwnВсего, "ЧН=0; ЧГ=0")
+ ", соп=" + Формат(OwnСоп, "ЧН=0; ЧГ=0")
+ ", соп+склад+ном=" + Формат(OwnСопСкладНом, "ЧН=0; ЧГ=0")
+ ", готово(qty>0)=" + Формат(OwnГотово, "ЧН=0; ЧГ=0")
+ "; comm всего=" + Формат(CommВсего, "ЧН=0; ЧГ=0")
+ ", соп=" + Формат(CommСоп, "ЧН=0; ЧГ=0")
+ ", соп+НСИ=" + Формат(CommСопНСИ, "ЧН=0; ЧГ=0")
+ ", готово(qty>0)=" + Формат(CommГотово, "ЧН=0; ЧГ=0");
КонецФункции
Функция ТегКомментарияДокументов() Функция ТегКомментарияДокументов()
Суффикс = Формат(ДатаДокументовВвода, "ДФ=yyyyMMdd"); Суффикс = Формат(ДатаДокументовВвода, "ДФ=yyyyMMdd");
@@ -250,12 +250,19 @@
Текст = РезультатВызова.Текст; Текст = РезультатВызова.Текст;
ТекстЛога = РезультатВызова.ТекстЛога; ТекстЛога = РезультатВызова.ТекстЛога;
ТекстCSVДокументов = РезультатВызова.ТекстCSVДокументов; ТекстCSVДокументов = РезультатВызова.ТекстCSVДокументов;
КоличествоВСписке = РезультатВызова.КоличествоВСписке;
Исключение Исключение
ПоказатьПредупреждение(, КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); ПоказатьПредупреждение(, КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
Возврат; Возврат;
КонецПопытки; КонецПопытки;
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаСозданныеДокументы; Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаСозданныеДокументы;
ПоказатьОповещениеПользователя("Документы ввода", , Текст); ПоказатьОповещениеПользователя("Документы ввода", , Текст);
Если КоличествоВСписке = 0 Тогда
ПоказатьПредупреждение(,
"Документы не созданы: нет сопоставленных строк с количеством > 0." + Символы.ПС
+ "Сначала выполните «Сопоставить» (Да — запись), затем снова «Создать документы»." + Символы.ПС
+ Символы.ПС + Текст);
КонецЕсли;
Если ПисатьЛогиВПапку Тогда Если ПисатьЛогиВПапку Тогда
ЗаписатьЛогПрогона(ТекстЛога, "create_docs"); ЗаписатьЛогПрогона(ТекстЛога, "create_docs");
Если Не ПустаяСтрока(ТекстCSVДокументов) Тогда Если Не ПустаяСтрока(ТекстCSVДокументов) Тогда
@@ -767,16 +774,45 @@
Результат = ОбъектОбработки.СоздатьДокументыВводаОстатков(РежимТест); Результат = ОбъектОбработки.СоздатьДокументыВводаОстатков(РежимТест);
ЗначениеВРеквизитФормы(ОбъектОбработки, "Объект"); ЗначениеВРеквизитФормы(ОбъектОбработки, "Объект");
// Явно переносим список созданных документов на форму (на случай сбоя копирования ТЧ).
Объект.СозданныеДокументы.Очистить();
Если ТипЗнч(Результат.СтрокиСозданныхДокументов) = Тип("Массив") Тогда
Для Каждого СтрРез Из Результат.СтрокиСозданныхДокументов Цикл
НовСтр = Объект.СозданныеДокументы.Добавить();
Если СтрРез.Свойство("Документ") И ЗначениеЗаполнено(СтрРез.Документ) Тогда
НовСтр.Документ = СтрРез.Документ;
КонецЕсли;
НовСтр.ВидОстатков = СтрРез.ВидОстатков;
Если СтрРез.Свойство("Склад") И ЗначениеЗаполнено(СтрРез.Склад) Тогда
НовСтр.Склад = СтрРез.Склад;
КонецЕсли;
Если СтрРез.Свойство("Соглашение") И ЗначениеЗаполнено(СтрРез.Соглашение) Тогда
НовСтр.Соглашение = СтрРез.Соглашение;
КонецЕсли;
Если СтрРез.Свойство("Партнер") И ЗначениеЗаполнено(СтрРез.Партнер) Тогда
НовСтр.Партнер = СтрРез.Партнер;
КонецЕсли;
НовСтр.КоличествоСтрок = СтрРез.КоличествоСтрок;
НовСтр.КоличествоТоваров = СтрРез.КоличествоТоваров;
НовСтр.Комментарий = СтрРез.Комментарий;
НовСтр.ЭтоТест = СтрРез.ЭтоТест;
КонецЦикла;
КонецЕсли;
Текст = СтрШаблон( Текст = СтрШаблон(
"Собственные док.: %1 (%2 стр.); комиссия 2.5: %3 (%4 стр.); удалено: %5; ошибок: %6; тег: %7%8", "Собственные док.: %1 (%2 стр.); комиссия 2.5: %3 (%4 стр.); удалено: %5; ошибок: %6; в списке формы: %7; тег: %8%9",
Формат(Результат.СозданоДокументов, "ЧН=0; ЧГ=0"), Формат(Результат.СозданоДокументов, "ЧН=0; ЧГ=0"),
Формат(Результат.СтрокВДокументах, "ЧН=0; ЧГ=0"), Формат(Результат.СтрокВДокументах, "ЧН=0; ЧГ=0"),
Формат(Результат.СозданоДокументовКомиссии, "ЧН=0; ЧГ=0"), Формат(Результат.СозданоДокументовКомиссии, "ЧН=0; ЧГ=0"),
Формат(Результат.СтрокКомиссии, "ЧН=0; ЧГ=0"), Формат(Результат.СтрокКомиссии, "ЧН=0; ЧГ=0"),
Формат(Результат.УдаленоДокументов, "ЧН=0; ЧГ=0"), Формат(Результат.УдаленоДокументов, "ЧН=0; ЧГ=0"),
Формат(Результат.Ошибок, "ЧН=0; ЧГ=0"), Формат(Результат.Ошибок, "ЧН=0; ЧГ=0"),
Формат(Объект.СозданныеДокументы.Количество(), "ЧН=0; ЧГ=0"),
Результат.ТекстТега, Результат.ТекстТега,
?(РежимТест, " (тест)", "")); ?(РежимТест, " (тест)", ""));
Если Не ПустаяСтрока(Результат.ДиагностикаСопоставления) Тогда
Текст = Текст + Символы.ПС + Результат.ДиагностикаСопоставления;
КонецЕсли;
ТекстЛога = ""; ТекстЛога = "";
Если ТипЗнч(Результат.Протокол) = Тип("Массив") Тогда Если ТипЗнч(Результат.Протокол) = Тип("Массив") Тогда
@@ -788,7 +824,8 @@
ТекстCSVДокументов = Результат.ТекстCSVДокументов; ТекстCSVДокументов = Результат.ТекстCSVДокументов;
КонецЕсли; КонецЕсли;
Возврат Новый Структура("Текст, ТекстЛога, ТекстCSVДокументов", Текст, ТекстЛога, ТекстCSVДокументов); Возврат Новый Структура("Текст, ТекстЛога, ТекстCSVДокументов, КоличествоВСписке",
Текст, ТекстЛога, ТекстCSVДокументов, Объект.СозданныеДокументы.Количество());
КонецФункции КонецФункции