Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 10:37

Не определяется документ основание для заполнения другого документа

Автор Andra, 13 сен 2022, 05:46

0 Пользователей и 1 гость просматривают эту тему.

Andra

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

LexaK

Andra, вот здесь ошибка
    НовыйДокумент.ДокументОснование = СсылкаНаОбъект.Ссылка;ДокументОснование  должен содержать и такой Тип как СсылкаНаОбъект, если его в составе нет,
скорее всего в ДокументОснование просто назначен другой Тип документа.
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск