Типовая загрузка из внешнего файла отчета комиссионера не умеет заполнять поля Цена продажи и Сумма вознаграждения, а также отрицательное количество.
Пришлось доработать, т.к. клиент загружает например отчеты Вайлдберис. Тестировалась на конфигурации 1С:Комплексная автоматизация 2 (2.4.13.123), платформа 8.3.17.1851.
Способ установки:
1. Скачать файл обработки и добавить в Конфигурацию или в свое Расширение
2. В модуле формы документа Отчета комиссионера заменить процедуры
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
Если ИсточникВыбора.ИмяФормы = "ОбщаяФорма.ПодборПоТоварамПереданнымНаКомиссию" Тогда
ПолучитьТоварыИзХранилища(ВыбранноеЗначение);
ИначеЕсли УчетНДСУПКлиент.ЗаконченоРедактированиеСчетовФактурКомиссионеру(ВыбранноеЗначение, ИсточникВыбора) Тогда
ОбновитьТекстСчетаФактурыКомиссионеру();
ИначеЕсли УчетНДСУПКлиент.ЗаконченоРедактированиеСчетаФактурыПолученного(ВыбранноеЗначение, ИсточникВыбора) Тогда
ОбновитьТекстСчетаФактурыПолученные();
ИначеЕсли ИсточникВыбора.ИмяФормы = "Справочник.ВидыЗапасов.Форма.ФормаВводаВидовЗапасов" Тогда
ПолучитьВидыЗапасовИзХранилища(ВыбранноеЗначение);
//>>
//ИначеЕсли ИсточникВыбора.ИмяФормы = "Обработка.ЗагрузкаДанныхИзВнешнихФайлов.Форма.Форма" Тогда
// ПолучитьЗагруженныеТоварыИзХранилища(ВыбранноеЗначение.АдресТоваровВХранилище);
ИначеЕсли ИсточникВыбора.ИмяФормы = "Обработка.ххЗагрузкаДанныхИзВнешнихФайловОтчетКомиссионера.Форма.Форма" Тогда
ПолучитьЗагруженныеТоварыИзХранилища(ВыбранноеЗначение.АдресТоваровВХранилище);
//<<
КонецЕсли;
Если Окно <> Неопределено Тогда
Окно.Активизировать();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзВнешнегоФайла(Команда)
ПараметрыФормы = Новый Структура();
МассивТиповНоменклатуры = Новый Массив();
ПараметрыФормы.Вставить("ОтборПоТипуНоменклатуры", Новый ФиксированныйМассив(НоменклатураКлиентСервер.ОтборПоТоваруМногооборотнойТаре(Ложь)));
ПараметрыФормы.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
ПараметрыФормы.Вставить("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС);
ПараметрыФормы.Вставить("ЗагружатьЦены", Истина);
//>>
//ОткрытьФорму(
// "Обработка.ЗагрузкаДанныхИзВнешнихФайлов.Форма.Форма",
// ПараметрыФормы,
// ЭтаФорма,
// УникальныйИдентификатор);
ОткрытьФорму(
"Обработка.ххЗагрузкаДанныхИзВнешнихФайловОтчетКомиссионера.Форма.Форма",
ПараметрыФормы,
ЭтаФорма,
УникальныйИдентификатор);
КонецПроцедуры
&НаСервере
Процедура ПолучитьЗагруженныеТоварыИзХранилища(АдресТоваровВХранилище)
СтруктураДействий = Новый Структура;
//СтруктураДействий.Вставить("ПересчитатьСуммуПродажиПоСуммеСНДС");
//СтруктураДействий.Вставить("ПересчитатьЦенуПродажиПоСуммеПродажи");
СтруктураДействий.Вставить("ПересчитатьСуммуПродажи");
СтруктураДействий.Вставить("ПересчитатьСуммуПродажиНДС");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", ОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект));
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", Новый Структура("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС));
СамообслуживаниеКлиентСервер.ДобавитьВСтруктуруДействияПриИзмененииКоличестваУпаковокОтчетКомиссионера(СтруктураДействий, Объект);
ТоварыИзХранилища = ПолучитьИзВременногоХранилища(АдресТоваровВХранилище);
Для Каждого СтрокаТоваров Из ТоварыИзХранилища Цикл
СтрокаТЧТовары = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТЧТовары, СтрокаТоваров);
ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(СтрокаТЧТовары, СтруктураДействий, Неопределено);
СтрокаТЧТовары.СуммаВознаграждения =СтрокаТоваров.СуммаВознаграждения;
СтрокаТЧТовары.СуммаНДСВознаграждения = Окр(СтрокаТЧТовары.СуммаВознаграждения * ПроцентНДС / (100 + ПроцентНДС), 2, РежимОкругления.Окр15как20);
КонецЦикла;
РассчитатьИтоговыеПоказателиОтчетаКомиссионера(ЭтаФорма);
КонецПроцедуры
3. В отчете комиссионера на закладке Товары нажимаем Заполнить - Загрузить из внешнего файла.
update 16.09.2023
Добавлена обработка для версии КА 2.5 , тестировалась на платформе 8.3.22.2143 и версии КА 2.5.13.98
Проверено на следующих конфигурациях и релизах:
- 1С:Комплексная автоматизация 2, релизы 2.5.16.107, 2.4.14.181