&НаСервере
Функция ПроверитьВозможностьСозданияСчетовНаОплату(Договор)
ПорядокРасчетов = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Договор, "ПорядокРасчетов");
Возврат ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов
ИЛИ ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоДоговорамНакладным;
КонецФункции
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Если Не ПроверитьВозможностьСозданияСчетовНаОплату(ПараметрКоманды) Тогда
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не требуется вводить счет на оплату на основании договора %1. Расчеты ведутся по заказам / накладным.'"),
ПараметрКоманды);
ВызватьИсключение Текст;
КонецЕсли;
ПараметрыФормы = Новый Структура("Основание", ПараметрКоманды);
ОткрытьФорму(
"Документ.СчетНаОплатуКлиенту.Форма.ФормаДокумента",
ПараметрыФормы,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры