Имя: Пароль:
1C
1С v8
Создание отбора в ПРО (Правила регистрации объектов)
,
0 markers
 
14.09.17
12:05
День добрый!
Делаю Правила Регистрации Объектов и возникла проблема и гугление/чтение справки не помогло (либо я просто не догоняю). Сначала я опишу задачу на примере.
Есть документ МаркетинговаяАкция, в нем задается условие акции, либо по всем магазинам, либо по списку магазинов в табличной части Магазины, необходимо сделать условие регистрации, чтоб либо акция действовала во всех магазинах, либо в конкретном (Свойство плана обмена).
Теперь проблема, в разделе "Отбор по свойствам плана обмена", не доступен отбор по табличной части объекта и следовательно я могу лишь сделать проверку на "Все магазины", но не могу сделать проверку по конкретному магазину. В разделе "Отбор по свойствам объекта" тоже не доступны табличные части объекта и самое разумное это сделать сделать отбор кодом в обработчике событий "Перед обработкой", но я что-то вообще не догоняю, как получить доступ к значениям отбора планов обмена?
Теперь собственно вопрос, Как устанавливать отбор по свойствам плана обмена по табличным частям объекта, либо как получить доступ к свойствам плана обмена в обработчике событий?
PS: Заранее спасибо и простите за тупой вопрос.
1 SpitfireIX
 
14.09.17
12:12
Если по всем магазинам это признак с типом булево, то можно сделать группу ИЛИ и там прописать условия что Акция по всем магазинам = Истина ИЛИ Магазин Равно (Свойство плана обмена).
2 markers
 
14.09.17
12:13
(1) Всё было бы хорошо, и ваш совет был бы полезен, если бы был доступен отбор по табличным частям, но увы.
3 markers
 
14.09.17
12:15
Вы видите суслика? Вот и я не вижу, а он есть: http://ssmaker.ru/fd984abe.png
4 h-sp
 
14.09.17
12:17
(3) ну там же программный код есть. ПередОбработкой, при Обработке. Проверишь там таб часть, поставишь Отказ= истина. или Ложь. На ровном месте какие-то проблемы сам себе придумываешь.
5 SpitfireIX
 
14.09.17
12:17
Да, неправильно вас понял. Тогда не смогу подсказать способа кроме как писать обработчик событий.
6 h-sp
 
14.09.17
12:17
(3) самый главный суслик на твоей картинке: Обработчики событий.
7 markers
 
14.09.17
12:24
(6) Вы возможно не достаточно внимательно прочли мой вопрос, я вообще-то про них в том числе и писал [обработчики событий] но поясните мне тогда глупому, как там получить доступ к значениям свойств плана обмена? Пройтись по строкам табличной части то не проблема, только вот в чем проблема, с чем сравнивать если не доступны (или я не знаю как) значения свойства плана обмена?
8 h-sp
 
14.09.17
12:30
(7) Выбрать ЗначениеИзПланаОбмена Из ПланОбмена.Такойто
ГДе ПланОбмена.Такойто.Ссылка = &ТвойУзел
9 markers
 
14.09.17
12:33
(8) К сожалению, нет такого параметра ТвойУзел и ему подобных по смыслу, и следовательно не могу сделать запрос с таким отбором.
10 SpitfireIX
 
14.09.17
12:33
Обработчики выполняются как раз чтобы решить на какие узлы надо отправлять данные.
Так что либо запросом выбирать узлы из плана обмена и записывать их в получателя. Либо можно привязаться на другие правила регистрации, например подразделения:
    Получатели = ОпределитьПолучателей(Объект.Распоряжение.ПолучитьОбъект(), "ОбменУТ11");
11 markers
 
14.09.17
12:35
(0) Собственно я понял как решить проблему после пересмотра кучи типовых правил регистрации объектов, нужно одно правило разбить на два, в одном проверять одно, а в другом другое. Так-что всем большое спасибо!
12 Ёпрст
 
14.09.17
12:37
(7)
ПРО – СтрокаТаблицыЗначений – ссылка на правило регистрации объектов «Формат правила регистрации объектов»
13 Ёпрст
 
14.09.17
12:40
ну и в ПослеОбработки доступен
Получатели – Массив – список узлов-получателей, на которых будет зарегистрирован объект.