Вот рабочая процедура правда обновления существующего документа (обработка по разбору назначения платежа уточняется сумма услуг), а не создание нового. Может просто нужно с начала создать пустой документ с необходимыми реквизитами?
Процедура УточнитьЭквайрингВыпискиНаСервере()
УточняемыеДокументы = Объект.Банк_Выписка.НайтиСтроки(Новый Структура("Флаг",Истина));
Если УточняемыеДокументы.Количество() = 0 Тогда
Сообщить("Не отмечено ни одного документа для исправления выписок!");
Возврат;
КонецЕсли;
Для Каждого Стр Из УточняемыеДокументы Цикл
// Т.к. идет уточнение (смена вида операции) то в выписке уже есть
// Организация
// СчетОрганизации
// Сумма Документа
// Валюта документа
докОбъект = стр.Ссылка.ПолучитьОбъект();
Если ТИПЗНЧ(докОбъект) <> ТИП("ДокументОбъект.ПоступлениеНаРасчетныйСчет") Тогда
Сообщить("Документ Ссылка=" + стр.Ссылка + " не является Поступлением на расчетный счет и не может быть изменен");
Продолжить;
КонецЕсли;
докОбъект.ВидОперации = ПредопределенноеЗначение("Перечисление.ВидыОперацийПоступлениеДенежныхСредств.ПоступленияОтПродажПоПлатежнымКартамИБанковскимКредитам");
докОбъект.Контрагент = Объект.БанкЭквайер;
докОбъект.СчетКонтрагента = ДокОбъект.Контрагент.ОсновнойБанковскийСчет;
докОбъект.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;
докОбъект.СубконтоКт1 = Объект.ВыпискаПрочиеДоходыРасходы;
докОбъект.СтатьяДвиженияДенежныхСредств = Объект.ВыпискаСтатьяДоходов;
докОбъект.СуммаУслуг = Стр.СуммаЭквайринга;
докОбъект.ДоговорКонтрагента = Объект.ДоговорЭквайринга;
ДокОбъект.Ответственный = ПараметрыСеанса.ТекущийПользователь;
Если докОбъект.РасшифровкаПлатежа.Количество()=0 Тогда
НовСтрока = докОбъект.РасшифровкаПлатежа.Добавить();
ИначеЕсли докОбъект.РасшифровкаПлатежа.Количество()=1 Тогда
НовСтрока = докОбъект.РасшифровкаПлатежа[0];
Иначе
Сообщить("Документ Ссылка=" + стр.Ссылка + " имеет несколько расшифровок платежа. Обработка не может работать с такими выписками");
Продолжить;
КонецЕсли;
НовСтрока.ДоговорКонтрагента = Объект.ДоговорЭквайринга;
НовСтрока.СпособПогашенияЗадолженности = Перечисления.СпособыПогашенияЗадолженности.Автоматически;
НовСтрока.КурсВзаиморасчетов = 1;
НовСтрока.СуммаВзаиморасчетов = НовСтрока.СуммаПлатежа;
НовСтрока.СтатьяДвиженияДенежныхСредств = Объект.ВыпискаСтатьяДоходов;
НовСтрока.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.ПродажиПоПлатежнымКартам; //Объект.ВыпискаСчетУчетаРасчетовСКонтрагентом;
НовСтрока.СчетУчетаРасчетовПоАвансам = НеОпределено;
НовСтрока.СуммаУслуг = докОбъект.СуммаУслуг;
НовСтрока.ПорядокОтраженияАванса = Объект.ВыпискаПорядокОтраженияАванса; // Перечисления.ПорядокОтраженияАвансов.ДоходПатент;
НовСтрока.КратностьВзаиморасчетов = 1;
НовСтрока.КурсНаДатуПриобретенияРеализацииВалюты = 1;
Если докОбъект.РеквизитыКонтрагента.Количество()>0 Тогда
докОбъект.РеквизитыКонтрагента.Очистить();
КонецЕсли;
Попытка
Если ДокОбъект.Проведен Тогда
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
Иначе
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Показать