КД 2 и Функции #595989


#0 by birk
Можно ли использовать функции внутри обработчиках?
#1 by rs_trade
они для этого и существуют
#2 by fisher
Да. Кури закладку "Алгоритмы/запросы"
#3 by БалбесВ1с
Наложение условий для правил объектов На применение того или иного правила объекта можно, при желании, наложить условие. Под условием понимается либо формализованный путем использования построителя условий набор ограничений, либо выполнение описанной пользователем функции. В том случае, если результатом проверки условия будет "ИСТИНА", то правило выполнится, в противном случае правило будет проигнорировано. Если условие описано пользователем при помощи функции, то она должна возвращать единицу в случае необходимости обработки по правилу.
#4 by birk
Алгоритмы смотрел, но как туда передать параметр и возвратить значение?
#5 by fisher
Обычно делается служебный параметр КД для этого. Например "ПараметрыАлгоритмов" типа какой-нить коллекции через которую уже все что хочешь делаешь.
#6 by acsent
#7 by fisher
В 8-ке и так можно. А из 7.7 они выгружаются как реальные функции. Нужно выгружать модуль, зато и вернуть значение функций по-человечески можно :)
#8 by birk
Не думал что так тупо :) Спс
#9 by fisher
При конвертации из 7.7 обращение к функции через алгоритмы примерно так выглядит:
#10 by birk
Создать обработку. Накидать в модуль экспортные функции. Добавить обработку в Подключаемые обработки. Вызывать из обработчиков: ДопОбработки.<ИмяОбработки>.<ИмяЭкспортируемойПроцедурыИлиФункции>
#11 by Defender aka LINN
А что, ИмяПКО = ПолучитьПравилоСубконто(АналитикаДт1); - не по фен-шую?
#12 by fisher
По фен-шую. Жаль не работает.
#13 by birk
Подключаемые обработки работают на клиенте. На сервере через регл задания - нет. Не использовать подключаемые обработки?
#14 by birk
Для работы на сервере: В процедуре ЗагрузитьОбработку обработки УниверсальныйОбменДаннымиXML закомментировать: #Если Клиент Тогда #КонецЕсли
#15 by SoftIce
Закомментировал. загрузил 3 обработки. Одна из них Заполнение_серий. Установил отметку "Используется при загрузке". Вызываю как: ДопОбработки.Заполнение_серий.Инициализировать; При загрузке выдает ошибку Ошибка в обработчике события ПослеЗагрузкиОбъекта    ИмяПКО                 =  ОтчетОРозничныхПродажах    ТипОбъекта             =  Документ ссылка: Отчет о розничных продажах    Объект                 =  Отчет о розничных продажах РТ000000007 от 08.02.2012 13:19:49    Обработчик             =  ПослеЗагрузкиОбъекта    ОписаниеОшибки         =  Поле объекта не обнаружено (Заполнение_серий)
#16 by SoftIce
В УниверсальныйОбменДаннымиXML используется свойство ГлобальногоКонтекста ВнешниеОбработки (ВнешниеОбработки.Создать), которое, судя по хелпу, не доступно на сервере. Получается ДопОбработки использовать через регламентные задания не возможно?
#17 by Агент Инфостарта
Получается невозможно, тема уже перетёрта до дыр.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С