По теме из базы знаний
Найденные решения
Возвращаемый результат не по формату, должно выдаваться не булево, а число, см. ниже
// Выполняет проверку выполнения условия предоставления (Проверка осуществляется алгоритмически)
//
// Параметры:
// Настройки - Структура - Настройки, заданные пользователем в форме настроек внешней обработки
// ПараметрыРасчета - Структура - Параметры расчета скидок (наценок)
//
// Возвращаемое значение:
// Число - Кратность выполнения условия
// -1: Условие выполнено, но не влияет на результирующую кратность
// 0: Условие не выполнено
// > 1: Условие выполнено, влияет на результирующую кратность
//
Функция ПроверитьУсловие(Настройки, ПараметрыРасчета) Экспорт
Возврат -1;
КонецФункции
// Выполняет проверку выполнения условия предоставления (Проверка осуществляется алгоритмически)
//
// Параметры:
// Настройки - Структура - Настройки, заданные пользователем в форме настроек внешней обработки
// ПараметрыРасчета - Структура - Параметры расчета скидок (наценок)
//
// Возвращаемое значение:
// Число - Кратность выполнения условия
// -1: Условие выполнено, но не влияет на результирующую кратность
// 0: Условие не выполнено
// > 1: Условие выполнено, влияет на результирующую кратность
//
Функция ПроверитьУсловие(Настройки, ПараметрыРасчета) Экспорт
Возврат -1;
КонецФункции
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Если это подключаемая внешняя обработка БСП - то в подключенном режиме отладку сделать не получиться, т.к. внешние обработки подключаются в объектном режиме. Т.е. из двоичных данных обработки, в которых она хранится в структуре базы, создается объект обработки и через этот объект вызываются экспортные методы обработки.
Чтобы отладить - нужно выгрузить обработку и запустить ее отдельно через файл-открыть. Возможно прийдется создать в ней отладочную форму
Чтобы отладить - нужно выгрузить обработку и запустить ее отдельно через файл-открыть. Возможно прийдется создать в ней отладочную форму
(5) Если это толстый клиент обычного приложения - так и есть. Двоичные данные из хранилища значений записываются во временный файл. Но если это тонкий клиент - то тут все по другому. Тут используется команда Подключить, где в качестве параметров используется адрес временного хранилища обработки. В этом случае объект внешней обработки создается без предварительного сохранения ее на диск
Функция ПодключитьВнешнююОбработку(Ссылка) Экспорт
.....
// Подключение
#Если ТолстыйКлиентОбычноеПриложение Тогда
ИмяОбработки = ПолучитьИмяВременногоФайла();
ХранилищеОбработки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ХранилищеОбработки");
ДвоичныеДанные = ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать(ИмяОбработки);
Возврат ИмяОбработки;
#КонецЕсли
....
ПараметрыЗапуска = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "БезопасныйРежим, ХранилищеОбработки");
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ПараметрыЗапуска.ХранилищеОбработки.Получить());
....
ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим);
Возврат ИмяОбработки;
КонецФункции
Показать
(5) Это работает, возможно, в конфигурациях на обычных формах. В управляемых — внешняя обработка подключается через временное хранилище. После подключения двоичные данные обработки удаляются из временного хранилища. Отладка подключенных обработок на УФ возможна, если в параметрах регистрации указать БезопасныйРежим = Ложь и перед запуском подключенной команды открыть внешнюю обработку через Файл - Открыть.
Ребят хоть убейте не получается вот эту обработку отладить и не пойму где ошибка
ут 11 пытаюсь сделать условие скидки по контрагенту
ут 11 пытаюсь сделать условие скидки по контрагенту
////////////////////////////////////////////////////////////////////////////////
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
// Возвращает сведения о внешней обработке.
Функция СведенияОВнешнейОбработке() Экспорт
ПарамметрыВнешнейОбработки = СкидкиНаценкиСервер.ПараметрыРегистрацииВнешнейОбработкиУсловияПредоставленияСки докНаценок(
НСтр("ru = 'Условие предоставления скидки по контрагенту'"),
НСтр("ru = 'Условие предоставления скидки по контрагенту'"));
ПарамметрыВнешнейОбработки.БезопасныйРежим = Ложь;
Возврат ПарамметрыВнешнейОбработки;
КонецФункции
// Возвращает способ применения скидки (наценки)
//
// Возвращаемое значение:
// Перечисления.СпособыПримененияСкидокНаценок - способ применения скидки (наценки)
//
Функция СпособПрименения() Экспорт
Возврат Неопределено;
КонецФункции
// Выполняет расчет скидки (наценки)
//
// Параметры:
// СкидкаНаценка - Строка дерева скидок (наценок). Включает результаты проверки условий, способы совместного применения
// Настройки - Структура - Настройки, заданные пользователем в форме настроек внешней обработки
// Товары - Коллекция товаров, для которых требуется применить скидку (наценку)
// ПараметрыРасчета - Структура - Параметры расчета скидок (наценок)
//
// Возвращаемое значение:
// РезультатРасчета - ТаблицаЗначений - результат расчета
//
Функция ПроверитьУсловие(Условие, СтрокаДереваСкидок, ПараметрыВнешнейОбработки, ПараметрыРасчета) Экспорт
Если ПараметрыВнешнейОбработки = Неопределено Тогда
ТекстИсключения = НСтр("ru = 'Не заполнены параметры проверки условия ""%1""'");
ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстИсключения, Условие.Условие);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
РезультатПроверки = Новый Структура;
ТекущееУсловиеВыполнено = Ложь;
ПартнерДокумента = ПараметрыРасчета.Партнер;
Если Не ЗначениеЗаполнено(ПартнерДокумента) Тогда
Возврат РезультатПроверки;
КонецЕсли;
Для Каждого СтрокаТовара Из СтрокаДереваСкидок Цикл
Если ПартнерДокумента = ПараметрыВнешнейОбработки.Контрагент Тогда
СтрокаТовара.УсловиеПоСтрокеВыполнено = Истина;
ТекущееУсловиеВыполнено = Истина;
КонецЕсли;
КонецЦикла;
РезультатПроверки.Вставить("ТекущееУсловиеВыполнено", ТекущееУсловиеВыполнено);
Возврат РезультатПроверки;
КонецФункции
// Возвращает имя формы внешней обработки,
// предназначенной для настройки условия предоставления
//
// Возвращаемое значение:
// Строка - Имя формы
//
Функция ИмяФормыНастроек() Экспорт
Возврат "Настройки";
КонецФункции
// Возвращает расширенное описание условия предоставления с учетом настроек
//
// Параметры:
// Настройки - Структура - Значения настроек условия предоставления
//
// Возвращаемое значение:
// Строка - Расширенное описание
//
Функция ОписаниеДействия(Настройки) Экспорт
Попытка
Если Настройки <> Неопределено Тогда
Описание = НСтр("ru = 'Предоставляется скидка по указанному контрагенту'")+" "+Настройки.Контрагент;
Иначе
Описание = НСтр("ru = 'Не заданы настройки скидки'");
КонецЕсли;
Исключение
Описание = НСтр("ru = 'Настройки не загружены.
|При загрузке настроек скидки произошла ошибка:
|'") + ОписаниеОшибки();
КонецПопытки;
Возврат Описание;
КонецФункции
// Возвращает заголовок условия предоставления с учетом настроек
//
// Параметры:
// Настройки - Структура - Значения настроек условия предоставления
//
// Возвращаемое значение:
// Строка - Наименование условия
//
Функция Автонаименование(Настройки) Экспорт
Возврат НСтр("ru = 'Условие предоставления скидки по контрагенту'");
КонецФункции
ПоказатьПрикрепленные файлы:
Условие предоставления скидки по контрагенту.epf
Возвращаемый результат не по формату, должно выдаваться не булево, а число, см. ниже
// Выполняет проверку выполнения условия предоставления (Проверка осуществляется алгоритмически)
//
// Параметры:
// Настройки - Структура - Настройки, заданные пользователем в форме настроек внешней обработки
// ПараметрыРасчета - Структура - Параметры расчета скидок (наценок)
//
// Возвращаемое значение:
// Число - Кратность выполнения условия
// -1: Условие выполнено, но не влияет на результирующую кратность
// 0: Условие не выполнено
// > 1: Условие выполнено, влияет на результирующую кратность
//
Функция ПроверитьУсловие(Настройки, ПараметрыРасчета) Экспорт
Возврат -1;
КонецФункции
// Выполняет проверку выполнения условия предоставления (Проверка осуществляется алгоритмически)
//
// Параметры:
// Настройки - Структура - Настройки, заданные пользователем в форме настроек внешней обработки
// ПараметрыРасчета - Структура - Параметры расчета скидок (наценок)
//
// Возвращаемое значение:
// Число - Кратность выполнения условия
// -1: Условие выполнено, но не влияет на результирующую кратность
// 0: Условие не выполнено
// > 1: Условие выполнено, влияет на результирующую кратность
//
Функция ПроверитьУсловие(Настройки, ПараметрыРасчета) Экспорт
Возврат -1;
КонецФункции
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот