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