как сделать отладку внешней скидки уф?
---
Возвращаемый результат не по формату, должно выдаваться не булево, а число, см. ниже

// Выполняет проверку выполнения условия предоставления (Проверка осуществляется алгоритмически)
//
// Параметры:
// Настройки - Структура - Настройки, заданные пользователем в форме настроек внешней обработки
// ПараметрыРасчета - Структура - Параметры расчета скидок (наценок)
//
// Возвращаемое значение:
// Число - Кратность выполнения условия
// -1: Условие выполнено, но не влияет на результирующую кратность
// 0: Условие не выполнено
// > 1: Условие выполнено, влияет на результирующую кратность
//
Функция ПроверитьУсловие(Настройки, ПараметрыРасчета) Экспорт

 Возврат -1;

КонецФункции
---
Если это подключаемая внешняя обработка БСП - то в подключенном режиме отладку сделать не получиться, т.к. внешние обработки подключаются в объектном режиме. Т.е. из двоичных данных обработки, в которых она хранится в структуре базы, создается объект обработки и через этот объект вызываются экспортные методы обработки.

Чтобы отладить - нужно выгрузить обработку и запустить ее отдельно через файл-открыть. Возможно прийдется создать в ней отладочную форму
---
можно. 1с сохраняет обработку в каталог временных файлов и потом запускает.
можно в конфигураторе в этом временном файле поставить стопку и смотреть в отладчике.

но проще сохранить...
---
Если это толстый клиент обычного приложения - так и есть. Двоичные данные из хранилища значений записываются во временный файл. Но если это тонкий клиент - то тут все по другому. Тут используется команда Подключить, где в качестве параметров используется адрес временного хранилища обработки. В этом случае объект внешней обработки создается без предварительного сохранения ее на диск

```1c
    Функция ПодключитьВнешнююОбработку(Ссылка) Экспорт

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

    Возврат ИмяОбработки;

    КонецФункции
```
---
Это работает, возможно, в конфигурациях на обычных формах. В управляемых — внешняя обработка подключается через временное хранилище. После подключения двоичные данные обработки удаляются из временного хранилища. Отладка подключенных обработок на УФ возможна, если в параметрах регистрации указать БезопасныйРежим = Ложь и перед запуском подключенной команды открыть внешнюю обработку через Файл - Открыть.
---
может внешней обработки ?) Зайти в конфигуратор - оттуда запустить отладку (f5) и в коде поставить точку останова (f9)
---
если быть точным внешней обработки условия предоставления скидок, думаю вы мало знакомы с таким(((
---
Ребят хоть убейте не получается вот эту обработку отладить и не пойму где ошибка

ут 11 пытаюсь сделать условие скидки по контрагенту

```1c
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОГРАММНЫЙ ИНТЕРФЕЙС

    // Возвращает сведения о внешней обработке.
    Функция СведенияОВнешнейОбработке() Экспорт
    ПарамметрыВнешнейОбработки = СкидкиНаценкиСервер.ПараметрыРегистрацииВнешнейОбработкиУсловияПредоставленияСки­докНаценок(
    НСтр("ru = 'Условие предоставления скидки по контрагенту'"),
    НСтр("ru = 'Условие предоставления скидки по контрагенту'"));
    ПарамметрыВнешнейОбработки.БезопасныйРежим = Ложь;

    Возврат ПарамметрыВнешнейОбработки;
    КонецФункции

    // Возвращает способ применения скидки (наценки)
    //
    // Возвращаемое значение:
    // Перечисления.СпособыПримененияСкидокНаценок - способ применения скидки (наценки)
    //
    Функция СпособПрименения() Экспорт

    Возврат Неопределено;

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

    // Выполняет расчет скидки (наценки)
    //
    // Параметры:
    // СкидкаНаценка - Строка дерева скидок (наценок). Включает результаты проверки условий, способы совместного применения
    // Настройки - Структура - Настройки, заданные пользователем в форме настроек внешней обработки
    // Товары - Коллекция товаров, для которых требуется применить скидку (наценку)
    // ПараметрыРасчета - Структура - Параметры расчета скидок (наценок)
    //
    // Возвращаемое значение:
    // РезультатРасчета - ТаблицаЗначений - результат расчета
    //
    Функция ПроверитьУсловие(Условие, СтрокаДереваСкидок, ПараметрыВнешнейОбработки, ПараметрыРасчета) Экспорт

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

    ПартнерДокумента = ПараметрыРасчета.Партнер;
    Если Не ЗначениеЗаполнено(ПартнерДокумента) Тогда
    Возврат РезультатПроверки;
    КонецЕсли;

    Для Каждого СтрокаТовара Из СтрокаДереваСкидок Цикл
    Если ПартнерДокумента = ПараметрыВнешнейОбработки.Контрагент Тогда
    СтрокаТовара.УсловиеПоСтрокеВыполнено = Истина;
    ТекущееУсловиеВыполнено = Истина;
    КонецЕсли;
    КонецЦикла;

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

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

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

    // Возвращает имя формы внешней обработки,
    // предназначенной для настройки условия предоставления
    //
    // Возвращаемое значение:
    // Строка - Имя формы
    //
    Функция ИмяФормыНастроек() Экспорт

    Возврат "Настройки";

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

    // Возвращает расширенное описание условия предоставления с учетом настроек
    //
    // Параметры:
    // Настройки - Структура - Значения настроек условия предоставления
    //
    // Возвращаемое значение:
    // Строка - Расширенное описание
    //
    Функция ОписаниеДействия(Настройки) Экспорт

    Попытка
    Если Настройки <> Неопределено Тогда
    Описание = НСтр("ru = 'Предоставляется скидка по указанному контрагенту'")+" "+Настройки.Контрагент;
    Иначе
    Описание = НСтр("ru = 'Не заданы настройки скидки'");
    КонецЕсли;
    Исключение
    Описание = НСтр("ru = 'Настройки не загружены.
    |При загрузке настроек скидки произошла ошибка:
    |'") + ОписаниеОшибки();
    КонецПопытки;

    Возврат Описание;

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

    // Возвращает заголовок условия предоставления с учетом настроек
    //
    // Параметры:
    // Настройки - Структура - Значения настроек условия предоставления
    //
    // Возвращаемое значение:
    // Строка - Наименование условия
    //
    Функция Автонаименование(Настройки) Экспорт

    Возврат НСтр("ru = 'Условие предоставления скидки по контрагенту'");

    КонецФункции
```
---
Возвращаемый результат не по формату, должно выдаваться не булево, а число, см. ниже

// Выполняет проверку выполнения условия предоставления (Проверка осуществляется алгоритмически)
//
// Параметры:
// Настройки - Структура - Настройки, заданные пользователем в форме настроек внешней обработки
// ПараметрыРасчета - Структура - Параметры расчета скидок (наценок)
//
// Возвращаемое значение:
// Число - Кратность выполнения условия
// -1: Условие выполнено, но не влияет на результирующую кратность
// 0: Условие не выполнено
// > 1: Условие выполнено, влияет на результирующую кратность
//
Функция ПроверитьУсловие(Настройки, ПараметрыРасчета) Экспорт

 Возврат -1;

КонецФункции
---
неа попробовал жестко поставить всеравно не срабатывает(