Помогите разобраться с созданием внешней обработки условия предоставления скидки.

Условие не важно, так как его впишу сам. Для простоты пусть будет - если код номенклтуры = 1, то скидка будет применена.

Что нужно вписать в модуль объекта обработки?

Пока что вписал следующее

```1c
    Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();

    ПараметрыРегистрации.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ПроверкаУсловияПредоставленияСкидки;
    //ПараметрыРегистрации.Назначение.Добавить("Документ.*");

    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = "Условие Годен";
    НоваяКоманда.Идентификатор = "УсловиеГоден";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();

    Возврат ПараметрыРегистрации;
    КонецФункции
```

Какова должна быть функция или процедура которая выполнит "полезную нагрузку"?
Какие параметры она принимает и отдает?
Имя должно соответсвовать команде?

По идее это должен быть простой фильтр, который в зависимости от заданого алгоритма должен ответить да или нет (в смысле проходит скидка для данной строки или нет).

Форма с настройками пока не нужна. Для начала пока разберусь, впишу все в тело функции.
---
в дистрибутиве розницы есть каталог Discount, там 2 обработки
СкидкаНаПроизвольныйКомплект.epf
УсловиеПредоставленияПоНомеруСтроки.epf
---
Если кому еще понадобится решение то минимальный код будет следующим

```1c
    Функция СведенияОВнешнейОбработке() Экспорт

    Возврат СкидкиНаценкиСервер.ПараметрыРегистрацииВнешнейОбработкиУсловияПредоставленияСки­докНаценок(
    НСтр("ru = 'Условие скидки...'"),
    НСтр("ru = 'Условие скидки...'"));

    КонецФункции

    Функция ПроверитьУсловие(Условие, СтрокаДереваСкидок, ПараметрыВнешнейОбработки = Неопределено, ПараметрыРасчета) Экспорт

    РезультатПроверки = Новый Структура;
    ТекущееУсловиеВыполнено = Ложь;

    Для Каждого СтрокаТовара Из СтрокаДереваСкидок.СтруктураДополнительныхДанных.ТаблицаТоваровПоСегментам Цикл

    //В СтрокаТовара имеем доступ к таб.части. Например СтрокаТовара.Характеристика

    Если УсловиеВыполняется Тогда

    СтрокаТовара.УсловиеПоСтрокеВыполнено = Истина;
    ТекущееУсловиеВыполнено = Истина;

    КонецЕсли;
    КонецЦикла;
    РезультатПроверки.Вставить("ТекущееУсловиеВыполнено", ТекущееУсловиеВыполнено);

    Возврат РезультатПроверки;

    КонецФункции
```

Только надо убрать <wbr> - который непонятно почему вписался в код. БАГ
---
Скачать https://infostart.ru/public/555733/, посмотреть как сделано и сделать как нужно.
Клиентам обработку подключал, полет нормальный.
---
Да я бы с удовольствием. Ради этого ответа я и зарегистрировался сегодня. Только старт мани нету.

П.С. Обычно я такие вещи сам ищу в документации. Работаю я и с другими языкам программирования. Но еще не встречал чтобы документация была "не для всех". Это всю мотивацию изучать 1С далее убивает.
---
в дистрибутиве розницы есть каталог Discount, там 2 обработки
СкидкаНаПроизвольныйКомплект.epf
УсловиеПредоставленияПоНомеруСтроки.epf
---
Спасибо добрый человек. Да там можно увидеть как все устроено.
---
Если кому еще понадобится решение то минимальный код будет следующим

```1c
    Функция СведенияОВнешнейОбработке() Экспорт

    Возврат СкидкиНаценкиСервер.ПараметрыРегистрацииВнешнейОбработкиУсловияПредоставленияСки­докНаценок(
    НСтр("ru = 'Условие скидки...'"),
    НСтр("ru = 'Условие скидки...'"));

    КонецФункции

    Функция ПроверитьУсловие(Условие, СтрокаДереваСкидок, ПараметрыВнешнейОбработки = Неопределено, ПараметрыРасчета) Экспорт

    РезультатПроверки = Новый Структура;
    ТекущееУсловиеВыполнено = Ложь;

    Для Каждого СтрокаТовара Из СтрокаДереваСкидок.СтруктураДополнительныхДанных.ТаблицаТоваровПоСегментам Цикл

    //В СтрокаТовара имеем доступ к таб.части. Например СтрокаТовара.Характеристика

    Если УсловиеВыполняется Тогда

    СтрокаТовара.УсловиеПоСтрокеВыполнено = Истина;
    ТекущееУсловиеВыполнено = Истина;

    КонецЕсли;
    КонецЦикла;
    РезультатПроверки.Вставить("ТекущееУсловиеВыполнено", ТекущееУсловиеВыполнено);

    Возврат РезультатПроверки;

    КонецФункции
```

Только надо убрать <wbr> - который непонятно почему вписался в код. БАГ